<?php
namespace CodersLab\Lms\UserInterface\Rest\Controller;
use CodersLab\Lms\Modules\Courses\Application\Query\TechnologyFilter;
use CodersLab\Lms\Modules\Courses\Application\Query\TechnologyQuery;
use CodersLab\Lms\SharedKernel\Application\Response\LmsApiResponse;
use Nelmio\ApiDocBundle\Annotation\Model;
use OpenApi\Annotations as OA;
use Symfony\Component\Routing\Annotation\Route;
/**
* @OA\Tag(name="Technology")
*/
final class TechnologyController
{
private TechnologyQuery $technologyQuery;
public function __construct(TechnologyQuery $technologyQuery)
{
$this->technologyQuery = $technologyQuery;
}
/**
* @Route("/technology/{technologyId}/versions", name="technology_version_list", methods={"GET"})
* @OA\Parameter(name="technologyId", in="path", @OA\Schema(type="string"))
* @OA\Response(
* response=200,
* description="Technology version list",
* @OA\Schema(ref=@Model(type="CodersLab\Lms\Modules\Courses\Application\Query\Model\Technology"))
* )
*/
public function getVersions(string $technologyId): LmsApiResponse
{
$filter = new TechnologyFilter($technologyId);
$list = $this->technologyQuery->getVersions($filter);
return new LmsApiResponse($list);
}
}