src/Controller/CookingTrick/CookingTricksController.php line 84

Open in your IDE?
  1. <?php
  2. namespace App\Controller\CookingTrick;
  3. use App\Helpers\UploadedBase64File;
  4. use App\Services\CookingTrickService;
  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 CookingTricksController extends AbstractController
  10. {
  11.     public function __construct(private CookingTrickService $cookingTrickService)
  12.     {
  13.         $this->cookingTrickService $cookingTrickService;
  14.     }
  15.     #[Route('/api/add-cooking_trick'name'add_cooking_trick'methods: ['POST'])]
  16.     public function add(Request $request): Response
  17.     {
  18.         $data $request->request->all();
  19.         $file $request->files;
  20.         return $this->cookingTrickService->add($data$file);
  21.     }
  22.     #[Route('/api/delete-cooking_trick/{id}'name'delete_cooking_trick'methods: ['DELETE'])]
  23.     public function delete($id): Response
  24.     {
  25.         return $this->cookingTrickService->delete($id);
  26.     }
  27.     #[Route('/admin/delete-cooking_trick/{id}'name'delete_cooking_trick_admin'methods: ['DELETE'])]
  28.     public function deleteAdmin($id): Response
  29.     {
  30.         return $this->cookingTrickService->delete($id);
  31.     }
  32.     #[Route('/show-cooking_trick/{slug}'name'show_cooking_trick'methods: ['GET'])]
  33.     public function show($slug): Response
  34.     {
  35.         return $this->cookingTrickService->show($slug);
  36.     }
  37.    
  38.     #[Route('/active-cooking-trick/{slug}'name'active_cooking_trick'methods: ['GET'])]
  39.     public function activeCookingTrick($slug): Response
  40.     {
  41.         return $this->cookingTrickService->activeCookingTrick($slug);
  42.     }
  43.     #[Route('api/update-cooking_trick/{slug}'name'app_cooking_trick'methods: ['POST'])]
  44.     public function update($slugRequest $request): Response
  45.     {
  46.         $data $request->request->all();
  47.         $file $request->files;
  48.         return $this->cookingTrickService->update($slug$data$file);
  49.     }
  50.     #[Route('admin-update-recipe_type/{slug}'name'app_cooking_trick_admin'methods: ['POST'])]
  51.     public function updateAdmin($slugRequest $request): Response
  52.     {
  53.         $data $request->request->all();
  54.         
  55.         if($data == []){
  56.             $data json_decode($request->getContent(), true);
  57.         }
  58.         
  59.         $file $request->files->get('image_url');
  60.         if (isset($data["is_dash_data"])) {
  61.             if ($data['is_dash_data'] == true && isset($data['image_url'])) {
  62.                 $imgBase64 $data["image_url"];
  63.                 $img UploadedBase64File::extractBase64String($imgBase64);
  64.                 $file = new UploadedBase64File($imgrandom_int(2,20).'.jpg');
  65.             }
  66.         }
  67.         return $this->cookingTrickService->update($slug$data$file);
  68.     }
  69.     #[Route('get-cooking_tricks'name'cooking_tricks'methods: ["POST"])]
  70.     public function getAll(Request $request)
  71.     {
  72.         $data $request->request->all();
  73.         if($data == []){
  74.             $data json_decode($request->getContent(), true);
  75.         }
  76.         return $this->cookingTrickService->getAll($data);
  77.     }
  78.   
  79.     #[Route('get-cooking_tricks_dash'name'cooking_tricks_dash'methods: ["GET"])]
  80.     public function getAllForDash()
  81.     {
  82.         return $this->cookingTrickService->getAllForDash();
  83.     }
  84.   
  85.     #[Route('search-cooking_trick-by-name/{keyword}'name'search_cooking_tricks'methods: ["GET"])]
  86.     public function getCookingTrickByName($keyword)
  87.     {
  88.         return $this->cookingTrickService->getCookingTrickByName($keyword);
  89.     }
  90. }