src/Controller/RecipeType/RecipeTypeController.php line 93

Open in your IDE?
  1. <?php
  2. namespace App\Controller\RecipeType;
  3. use App\Helpers\UploadedBase64File;
  4. use App\Services\RecipeTypeService;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. class RecipeTypeController extends AbstractController
  10. {
  11.     public $recipeTypeService;
  12.     public function __construct(RecipeTypeService $recipeTypeService)
  13.     {
  14.         $this->recipeTypeService $recipeTypeService;
  15.     }
  16.     #[Route('add-recipe_type'name'app_recipe_type'methods: ["POST"])]
  17.     public function add(Request $request): Response
  18.     {
  19.         $data $request->request->all();
  20.         if ($data == []) {
  21.             $data json_decode($request->getContent(), true);
  22.         }
  23.         if (isset($data["is_dash_data"])) {
  24.             if ($data['is_dash_data'] == true) {
  25.                 $imgBase64 $data["image"];
  26.                 $img UploadedBase64File::extractBase64String($imgBase64);
  27.                 $file = new UploadedBase64File($imgrandom_int(2,20).'.jpg');
  28.             }
  29.         }else{
  30.             $file $request->files->get('image');
  31.         }
  32.         return $this->recipeTypeService->add($data$file);
  33.     }
  34.     #[Route('/api/delete-recipe_type/{id}'name'delete_recipe_type'methods: ["DELETE"])]
  35.     public function deleteRecipe($id): Response
  36.     {
  37.         return $this->recipeTypeService->delete($id);
  38.     }
  39.     #[Route('/delete-recipe_type/{id}'name'delete_recipe_type_admin'methods: ["DELETE"])]
  40.     public function deleteRecipeAdmin($id): Response
  41.     {
  42.         return $this->recipeTypeService->delete($id);
  43.     }
  44.     #[Route('/show-recipe_type/{slug}'name'show_recipe_type'methods: ["GET"])]
  45.     public function showRecipeType($slug): Response
  46.     {
  47.         return $this->recipeTypeService->show($slug);
  48.     }
  49.     #[Route('/api/update-recipe_type/{id}'name'update_recipe_type'methods: ["POST"])]
  50.     public function updateRecipeType($idRequest $request): Response
  51.     {
  52.         $data $request->request->all();
  53.         $file $request->files->get('image_url');
  54.         return $this->recipeTypeService->update($id$data$file$request);
  55.     }
  56.     #[Route('/admin/update-recipe_type/{id}'name'update_recipe_type_admin'methods: ["POST"])]
  57.     public function updateRecipeTypeAdmin($idRequest $request): Response
  58.     {
  59.         $data $request->request->all();
  60.         
  61.         if($data == []){
  62.             $data json_decode($request->getContent(), true);
  63.         }
  64.         
  65.         $file $request->files->get('image_url');
  66.         if (isset($data["is_dash_data"])) {
  67.             if ($data['is_dash_data'] == true && isset($data['image_url'])) {
  68.                 $imgBase64 $data["image_url"];
  69.                 $img UploadedBase64File::extractBase64String($imgBase64);
  70.                 $file = new UploadedBase64File($imgrandom_int(2,20).'.jpg');
  71.             }
  72.         }
  73.         return $this->recipeTypeService->update($id$data$file$request);
  74.     }
  75.     #[Route('get-recipe_types'name'get_recipe_types'methods: ["POST"])]
  76.     public function getAll(Request $request)
  77.     {
  78.         $data json_decode($request->getContent(), true);
  79.         if ($data == null) {
  80.             $data $request->request->all();
  81.         }
  82.         return $this->recipeTypeService->getAll($data);
  83.     }
  84.     #[Route('get_all_recipe_types'name'get_recipe_types_all'methods: ["GET"])]
  85.     public function getAllRT()
  86.     {
  87.         return $this->recipeTypeService->getAllRT();
  88.     }
  89.     #[Route('get-all-recipe_types'name'get_all_recipe_types_for_dash'methods: ["GET"])]
  90.     public function getAllRecipeTypeForDash()
  91.     {
  92.         return $this->recipeTypeService->getAllRecipeTypeForDash();
  93.     }
  94. }