Newer
Older
Александр Плохих
committed
<?php
use App\News\Request\NewsDetailRequest;
use App\News\Request\NewsListingRequest;
use App\News\UseCase\NewsGetDetailMainUseCase;
use App\News\UseCase\NewsGetDetailUseCase;
use App\News\UseCase\NewsGetListingUseUseCase;
use App\News\UseCase\NewsGetMainUseCase;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
Александр Плохих
committed
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Attribute\Route;
class NewsController extends AbstractController
Александр Плохих
committed
{
public function __construct(
private readonly NewsGetListingUseUseCase $getListingUseCase,
private readonly NewsGetDetailUseCase $getDetailNews,
private readonly NewsGetMainUseCase $getMainNews,
private readonly NewsGetDetailMainUseCase $getDetailMainNews,
#[Route('/', name: 'news', methods: ['GET'])]
public function news(NewsListingRequest $request): JsonResponse
{
return $this->getListingUseCase->execute($request);
}
#[Route('/mainNews', name: 'mainNews', methods: ['GET'])]
}
#[Route('/search', name: 'searchNews', methods: ['GET'])]
Александр Плохих
committed
{
Александр Плохих
committed
}
#[Route('/{detailId}', name: 'oneNews', methods: ['GET'])]
public function oneNews(NewsDetailRequest $request): JsonResponse
{
return $this->getDetailNews->execute($request);