Loading app/src/News/Controller/NewsController.php +14 −14 Original line number Diff line number Diff line Loading @@ -25,13 +25,13 @@ class NewsController extends AbstractController { public function __construct( private readonly NewsGetListingUseUseCase $getListingUseCase, private readonly NewsGetDetailUseCase $getDetailNews, private readonly NewsGetMainUseCase $getMainNews, private readonly NewsGetDetailMainUseCase $getDetailMainNews, private readonly NewsCreateUseCase $createNews, private readonly NewsFullUpdateUseCase $fullUpdate, private readonly NewsPartUpdateUseCase $partUpdate, private readonly NewsDeleteUseCase $delete, private readonly NewsGetDetailUseCase $getDetailUseCase, private readonly NewsGetMainUseCase $getMainUseCase, private readonly NewsGetDetailMainUseCase $getDetailMainUseCase, private readonly NewsCreateUseCase $createUseCase, private readonly NewsFullUpdateUseCase $fullUpdateUseCase, private readonly NewsPartUpdateUseCase $partUpdateUseCase, private readonly NewsDeleteUseCase $deleteUseCase, ) { } Loading @@ -44,42 +44,42 @@ class NewsController extends AbstractController #[Route('/mainNews', name: 'mainNews', methods: ['GET'])] public function mainNews(): JsonResponse { return $this->getMainNews->execute(); return $this->getMainUseCase->execute(); } #[Route('/search', name: 'searchNews', methods: ['GET'])] public function detailMainNews(): JsonResponse { return $this->getDetailMainNews->execute(); return $this->getDetailMainUseCase->execute(); } #[Route('/{detailId}', name: 'oneNews', methods: ['GET'])] public function oneNews(NewsDetailRequest $request): JsonResponse { return $this->getDetailNews->execute($request); return $this->getDetailUseCase->execute($request); } #[Route('/create', name: 'createNews', methods: ['POST'])] public function createNews(NewsCreateRequest $request): Response { return $this->createNews->execute($request); return $this->createUseCase->execute($request); } #[Route('/update', name: 'updateNews', methods: ['PUT'])] public function fillUpdateNews(NewsFullUpdateRequest $request): Response { return $this->fullUpdate->execute($request); return $this->fullUpdateUseCase->execute($request); } #[Route('/partUpdate', name: 'partUpdateNews', methods: ['PATCH'])] public function partUpdateNews(NewsPartUpdateRequest $request): Response { return $this->partUpdate->execute($request); return $this->partUpdateUseCase->execute($request); } #[Route('/delete/{detailId}', name: 'deleteNews', methods: ['DELETE'])] public function deleteNews(NewsDetailRequest $request): Response { return $this->delete->execute($request); return $this->deleteUseCase->execute($request); } } app/src/News/Service/NewsPrepareResponseService.php +6 −7 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ class NewsPrepareResponseService private readonly NewsListDtoFactory $listingFactory, private readonly NewsCategoryDtoFactory $categoryFactory, private readonly NewsDetailElementDtoFactory $detailElementFactory, private readonly NewsEntityFactory $entityFabric, private readonly NewsEntityFactory $entityFactory, ) { } Loading Loading @@ -101,8 +101,7 @@ class NewsPrepareResponseService return $this->detailElementFactory->create($news); } public function unbirth( public function unbirth( NewsDetailRequest $request ) { $news = $this->news->find($request->detailId); Loading @@ -115,19 +114,19 @@ class NewsPrepareResponseService public function rebirth(NewsPartUpdateRequest $request): void { $news = $this->entityFabric->hardUpdate($request); $news = $this->entityFactory->hardUpdate($request); $this->news->createUpdate($news); } public function reborn(NewsFullUpdateRequest $request): void { $news = $this->entityFabric->softUpdate($request); $news = $this->entityFactory->softUpdate($request); $this->news->createUpdate($news); } public function birth(NewsCreateRequest $request): void { $news = $this->entityFabric->create($request); $news = $this->entityFactory->create($request); $this->news->createUpdate($news); } } app/src/Restaurants/Controller/RestaurantsController.php +36 −0 Original line number Diff line number Diff line Loading @@ -2,12 +2,20 @@ namespace App\Restaurants\Controller; use App\Restaurants\Request\RestaurantCreateRequest; use App\Restaurants\Request\RestaurantFullUpdateRequest; use App\Restaurants\Request\RestaurantPartUpdateRequest; use App\Restaurants\UseCase\RestaurantCreateUseCase; use App\Restaurants\UseCase\RestaurantDeleteUseCase; use App\Restaurants\UseCase\RestaurantFullUpdateUseCase; use App\Restaurants\UseCase\RestaurantGetListingUseCase; use App\Restaurants\Request\RestaurantDetailRequest; use App\Restaurants\Request\RestaurantListingRequest; use App\Restaurants\UseCase\RestaurantGetDetailUseCase; use App\Restaurants\UseCase\RestaurantPartUpdateUseCase; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; #[Route('/api/v1/restaurants')] Loading @@ -16,6 +24,10 @@ class RestaurantsController extends AbstractController public function __construct( private readonly RestaurantGetListingUseCase $getListingUseCase, private readonly RestaurantGetDetailUseCase $getDetailUseCase, private readonly RestaurantCreateUseCase $createUseCase, private readonly RestaurantFullUpdateUseCase $fullUpdateUseCase, private readonly RestaurantDeleteUseCase $deleteUseCase, private readonly RestaurantPartUpdateUseCase $partUpdateUseCase, ) { } Loading @@ -30,4 +42,28 @@ class RestaurantsController extends AbstractController { return $this->getDetailUseCase->execute($request); } #[Route('/create', name: 'createRestaurant', methods: ['POST'])] public function createRestaurant(RestaurantCreateRequest $request): Response { return $this->createUseCase->execute($request); } #[Route('/update', name: 'updateRestaurant', methods: ['PUT'])] public function fillUpdateRestaurant(RestaurantFullUpdateRequest $request ): Response { return $this->fullUpdateUseCase->execute($request); } #[Route('/partUpdate', name: 'partUpdateRestaurant', methods: ['PATCH'])] public function partUpdateRestaurant(RestaurantPartUpdateRequest $request ): Response { return $this->partUpdateUseCase->execute($request); } #[Route('/delete/{detailId}', name: 'deleteRestaurant', methods: ['DELETE'])] public function deleteRestaurant(RestaurantDetailRequest $request): Response { return $this->deleteUseCase->execute($request); } } app/src/Restaurants/Request/RestaurantCreateRequest.php +27 −38 Original line number Diff line number Diff line Loading @@ -10,6 +10,18 @@ use Symfony\Contracts\Service\Attribute\Required; class RestaurantCreateRequest extends AbstractRequest { #[Uuid] public $type_id; #[Uuid] public $settlement_id; #[Uuid] public $preview_image_id; #[Uuid] public $detail_image_id; #[Type('bool')] #[Required] public $active; Loading @@ -20,48 +32,34 @@ class RestaurantCreateRequest extends AbstractRequest #[Type('string')] #[Required] public $description; public $code; #[Type('string')] #[Required] public $code; public $description; #[Type('string')] #[Required] public $receipt; public $check; #[Type('string')] #[Required] public $receipt_info; public $check_info; #[Type('array')] #[All( new Type('string') )] #[Type('string')] #[Required] public $phone; #[Type('array')] #[All( new Type('string') )] #[Type('string')] #[Required] public $email; #[Type('array')] #[All( new Type('string') )] #[Type('string')] #[Required] public $address; #[Type('array')] #[All([ new Type('array'), new All( new Type('string') ) ])] #[Type('string')] #[Required] public $tags; Loading @@ -77,24 +75,15 @@ class RestaurantCreateRequest extends AbstractRequest #[Required] public $how_to_find; #[Uuid] public $type_id; #[Uuid] public $settelement_id; #[Uuid] public $preview_image_id; #[Uuid] public $detail_inage_id; #[Uuid] #[Type('array')] #[All( new UUid(), )] public $kitchens_id; #[Type('array')] #[All( new UUid(), )] public $gallery; public $gallery_id; } app/src/Restaurants/Request/RestaurantFullUpdateRequest.php +26 −38 Original line number Diff line number Diff line Loading @@ -14,6 +14,18 @@ class RestaurantFullUpdateRequest extends AbstractRequest #[Required] public $id; #[Uuid] public $type_id; #[Uuid] public $settlement_id; #[Uuid] public $preview_image_id; #[Uuid] public $detail_image_id; #[Type('bool')] #[Required] public $active; Loading @@ -24,48 +36,34 @@ class RestaurantFullUpdateRequest extends AbstractRequest #[Type('string')] #[Required] public $description; public $code; #[Type('string')] #[Required] public $code; public $description; #[Type('string')] #[Required] public $receipt; public $check; #[Type('string')] #[Required] public $receipt_info; public $check_info; #[Type('array')] #[All( new Type('string') )] #[Type('string')] #[Required] public $phone; #[Type('array')] #[All( new Type('string') )] #[Type('string')] #[Required] public $email; #[Type('array')] #[All( new Type('string') )] #[Type('string')] #[Required] public $address; #[Type('array')] #[All([ new Type('array'), new All( new Type('string') ) ])] #[Type('string')] #[Required] public $tags; Loading @@ -81,25 +79,15 @@ class RestaurantFullUpdateRequest extends AbstractRequest #[Required] public $how_to_find; #[Uuid] public $type_id; #[Uuid] public $settelement_id; #[Uuid] public $preview_image_id; #[Uuid] public $detail_inage_id; #[Uuid] #[Type('array')] #[All( new UUid(), )] public $kitchens_id; #[Required] #[Type('array')] #[All( new UUid(), )] public $gallery; public $gallery_id; } No newline at end of file Loading
app/src/News/Controller/NewsController.php +14 −14 Original line number Diff line number Diff line Loading @@ -25,13 +25,13 @@ class NewsController extends AbstractController { public function __construct( private readonly NewsGetListingUseUseCase $getListingUseCase, private readonly NewsGetDetailUseCase $getDetailNews, private readonly NewsGetMainUseCase $getMainNews, private readonly NewsGetDetailMainUseCase $getDetailMainNews, private readonly NewsCreateUseCase $createNews, private readonly NewsFullUpdateUseCase $fullUpdate, private readonly NewsPartUpdateUseCase $partUpdate, private readonly NewsDeleteUseCase $delete, private readonly NewsGetDetailUseCase $getDetailUseCase, private readonly NewsGetMainUseCase $getMainUseCase, private readonly NewsGetDetailMainUseCase $getDetailMainUseCase, private readonly NewsCreateUseCase $createUseCase, private readonly NewsFullUpdateUseCase $fullUpdateUseCase, private readonly NewsPartUpdateUseCase $partUpdateUseCase, private readonly NewsDeleteUseCase $deleteUseCase, ) { } Loading @@ -44,42 +44,42 @@ class NewsController extends AbstractController #[Route('/mainNews', name: 'mainNews', methods: ['GET'])] public function mainNews(): JsonResponse { return $this->getMainNews->execute(); return $this->getMainUseCase->execute(); } #[Route('/search', name: 'searchNews', methods: ['GET'])] public function detailMainNews(): JsonResponse { return $this->getDetailMainNews->execute(); return $this->getDetailMainUseCase->execute(); } #[Route('/{detailId}', name: 'oneNews', methods: ['GET'])] public function oneNews(NewsDetailRequest $request): JsonResponse { return $this->getDetailNews->execute($request); return $this->getDetailUseCase->execute($request); } #[Route('/create', name: 'createNews', methods: ['POST'])] public function createNews(NewsCreateRequest $request): Response { return $this->createNews->execute($request); return $this->createUseCase->execute($request); } #[Route('/update', name: 'updateNews', methods: ['PUT'])] public function fillUpdateNews(NewsFullUpdateRequest $request): Response { return $this->fullUpdate->execute($request); return $this->fullUpdateUseCase->execute($request); } #[Route('/partUpdate', name: 'partUpdateNews', methods: ['PATCH'])] public function partUpdateNews(NewsPartUpdateRequest $request): Response { return $this->partUpdate->execute($request); return $this->partUpdateUseCase->execute($request); } #[Route('/delete/{detailId}', name: 'deleteNews', methods: ['DELETE'])] public function deleteNews(NewsDetailRequest $request): Response { return $this->delete->execute($request); return $this->deleteUseCase->execute($request); } }
app/src/News/Service/NewsPrepareResponseService.php +6 −7 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ class NewsPrepareResponseService private readonly NewsListDtoFactory $listingFactory, private readonly NewsCategoryDtoFactory $categoryFactory, private readonly NewsDetailElementDtoFactory $detailElementFactory, private readonly NewsEntityFactory $entityFabric, private readonly NewsEntityFactory $entityFactory, ) { } Loading Loading @@ -101,8 +101,7 @@ class NewsPrepareResponseService return $this->detailElementFactory->create($news); } public function unbirth( public function unbirth( NewsDetailRequest $request ) { $news = $this->news->find($request->detailId); Loading @@ -115,19 +114,19 @@ class NewsPrepareResponseService public function rebirth(NewsPartUpdateRequest $request): void { $news = $this->entityFabric->hardUpdate($request); $news = $this->entityFactory->hardUpdate($request); $this->news->createUpdate($news); } public function reborn(NewsFullUpdateRequest $request): void { $news = $this->entityFabric->softUpdate($request); $news = $this->entityFactory->softUpdate($request); $this->news->createUpdate($news); } public function birth(NewsCreateRequest $request): void { $news = $this->entityFabric->create($request); $news = $this->entityFactory->create($request); $this->news->createUpdate($news); } }
app/src/Restaurants/Controller/RestaurantsController.php +36 −0 Original line number Diff line number Diff line Loading @@ -2,12 +2,20 @@ namespace App\Restaurants\Controller; use App\Restaurants\Request\RestaurantCreateRequest; use App\Restaurants\Request\RestaurantFullUpdateRequest; use App\Restaurants\Request\RestaurantPartUpdateRequest; use App\Restaurants\UseCase\RestaurantCreateUseCase; use App\Restaurants\UseCase\RestaurantDeleteUseCase; use App\Restaurants\UseCase\RestaurantFullUpdateUseCase; use App\Restaurants\UseCase\RestaurantGetListingUseCase; use App\Restaurants\Request\RestaurantDetailRequest; use App\Restaurants\Request\RestaurantListingRequest; use App\Restaurants\UseCase\RestaurantGetDetailUseCase; use App\Restaurants\UseCase\RestaurantPartUpdateUseCase; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; #[Route('/api/v1/restaurants')] Loading @@ -16,6 +24,10 @@ class RestaurantsController extends AbstractController public function __construct( private readonly RestaurantGetListingUseCase $getListingUseCase, private readonly RestaurantGetDetailUseCase $getDetailUseCase, private readonly RestaurantCreateUseCase $createUseCase, private readonly RestaurantFullUpdateUseCase $fullUpdateUseCase, private readonly RestaurantDeleteUseCase $deleteUseCase, private readonly RestaurantPartUpdateUseCase $partUpdateUseCase, ) { } Loading @@ -30,4 +42,28 @@ class RestaurantsController extends AbstractController { return $this->getDetailUseCase->execute($request); } #[Route('/create', name: 'createRestaurant', methods: ['POST'])] public function createRestaurant(RestaurantCreateRequest $request): Response { return $this->createUseCase->execute($request); } #[Route('/update', name: 'updateRestaurant', methods: ['PUT'])] public function fillUpdateRestaurant(RestaurantFullUpdateRequest $request ): Response { return $this->fullUpdateUseCase->execute($request); } #[Route('/partUpdate', name: 'partUpdateRestaurant', methods: ['PATCH'])] public function partUpdateRestaurant(RestaurantPartUpdateRequest $request ): Response { return $this->partUpdateUseCase->execute($request); } #[Route('/delete/{detailId}', name: 'deleteRestaurant', methods: ['DELETE'])] public function deleteRestaurant(RestaurantDetailRequest $request): Response { return $this->deleteUseCase->execute($request); } }
app/src/Restaurants/Request/RestaurantCreateRequest.php +27 −38 Original line number Diff line number Diff line Loading @@ -10,6 +10,18 @@ use Symfony\Contracts\Service\Attribute\Required; class RestaurantCreateRequest extends AbstractRequest { #[Uuid] public $type_id; #[Uuid] public $settlement_id; #[Uuid] public $preview_image_id; #[Uuid] public $detail_image_id; #[Type('bool')] #[Required] public $active; Loading @@ -20,48 +32,34 @@ class RestaurantCreateRequest extends AbstractRequest #[Type('string')] #[Required] public $description; public $code; #[Type('string')] #[Required] public $code; public $description; #[Type('string')] #[Required] public $receipt; public $check; #[Type('string')] #[Required] public $receipt_info; public $check_info; #[Type('array')] #[All( new Type('string') )] #[Type('string')] #[Required] public $phone; #[Type('array')] #[All( new Type('string') )] #[Type('string')] #[Required] public $email; #[Type('array')] #[All( new Type('string') )] #[Type('string')] #[Required] public $address; #[Type('array')] #[All([ new Type('array'), new All( new Type('string') ) ])] #[Type('string')] #[Required] public $tags; Loading @@ -77,24 +75,15 @@ class RestaurantCreateRequest extends AbstractRequest #[Required] public $how_to_find; #[Uuid] public $type_id; #[Uuid] public $settelement_id; #[Uuid] public $preview_image_id; #[Uuid] public $detail_inage_id; #[Uuid] #[Type('array')] #[All( new UUid(), )] public $kitchens_id; #[Type('array')] #[All( new UUid(), )] public $gallery; public $gallery_id; }
app/src/Restaurants/Request/RestaurantFullUpdateRequest.php +26 −38 Original line number Diff line number Diff line Loading @@ -14,6 +14,18 @@ class RestaurantFullUpdateRequest extends AbstractRequest #[Required] public $id; #[Uuid] public $type_id; #[Uuid] public $settlement_id; #[Uuid] public $preview_image_id; #[Uuid] public $detail_image_id; #[Type('bool')] #[Required] public $active; Loading @@ -24,48 +36,34 @@ class RestaurantFullUpdateRequest extends AbstractRequest #[Type('string')] #[Required] public $description; public $code; #[Type('string')] #[Required] public $code; public $description; #[Type('string')] #[Required] public $receipt; public $check; #[Type('string')] #[Required] public $receipt_info; public $check_info; #[Type('array')] #[All( new Type('string') )] #[Type('string')] #[Required] public $phone; #[Type('array')] #[All( new Type('string') )] #[Type('string')] #[Required] public $email; #[Type('array')] #[All( new Type('string') )] #[Type('string')] #[Required] public $address; #[Type('array')] #[All([ new Type('array'), new All( new Type('string') ) ])] #[Type('string')] #[Required] public $tags; Loading @@ -81,25 +79,15 @@ class RestaurantFullUpdateRequest extends AbstractRequest #[Required] public $how_to_find; #[Uuid] public $type_id; #[Uuid] public $settelement_id; #[Uuid] public $preview_image_id; #[Uuid] public $detail_inage_id; #[Uuid] #[Type('array')] #[All( new UUid(), )] public $kitchens_id; #[Required] #[Type('array')] #[All( new UUid(), )] public $gallery; public $gallery_id; } No newline at end of file