src/Controller/Admin/ProductOpportunityController.php line 35

Open in your IDE?
  1. <?php
  2. namespace EADPlataforma\Controller\Admin;
  3. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Cache;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use EADPlataforma\Entity\ProductOpportunity;
  7. use EADPlataforma\Enum\ErrorEnum;
  8. /**
  9.  * @Route(
  10.  *      path          = "/admin/product/opportunity",
  11.  *      schemes         = {"https","http"}
  12.  * )
  13.  * @Cache(
  14.  *      maxage          = "0",
  15.  *      smaxage         = "0",
  16.  *      expires         = "now",
  17.  *      public          = false
  18.  * )
  19.  */
  20. class ProductOpportunityController extends AbstractController {
  21.     public function getEntityClass(){
  22.         return ProductOpportunity::class;
  23.     }
  24.     /**
  25.      * @Route(
  26.      *      path          = "/list/paginate",
  27.      *      methods       = {"GET"}
  28.      * )
  29.      */
  30.     public function getProductOpportunity(Request $request) {
  31.         $permission $this->userPermissionUtil->getPermission(
  32.             "product"
  33.             "product_opportunity"
  34.             "see"
  35.         );
  36.         if($this->userPermissionUtil->isLow($permission)){
  37.             return $this->eadResponse(nullErrorEnum::PERMISSION);
  38.         }
  39.         $this->requestUtil->setRequest($request)->setData();
  40.         $orderParam $this->requestUtil->getField('order');
  41.         $searchText $this->requestUtil->getField('searchText');
  42.         $limit = (int)$this->requestUtil->getField('limit');
  43.         $offset = (int)$this->requestUtil->getField('offset');
  44.         $order = [ "dateRegister" => "DESC" ];
  45.         if(!empty($orderParam)){
  46.             $order json_decode($orderParamtrue);
  47.         }
  48.         
  49.         $data $this->repository->getListProductOpportunity(
  50.             $searchText
  51.             $order,
  52.             $limit
  53.             $offset
  54.         );
  55.         return $this->eadResponse($data);
  56.     }
  57.     /**
  58.      * @Route(
  59.      *      path          = "/detail",
  60.      *      methods       = {"GET"},
  61.      * )
  62.      */
  63.     public function getProductOpportunityDetail(Request $request) {
  64.         $permission $this->userPermissionUtil->getPermission(
  65.             "product"
  66.             "product_opportunity"
  67.             "see"
  68.         );
  69.         if($this->userPermissionUtil->isLow($permission)){
  70.             return $this->eadResponse(nullErrorEnum::PERMISSION);
  71.         }
  72.         $this->requestUtil->setRequest($request)->setData();
  73.         $email $this->requestUtil->getField('email');
  74.         $data $this->repository->getDetailProductOpportunity($email);
  75.         if(!$data){
  76.             return $this->eadResponse(nullErrorEnum::NOT_FOUND);
  77.         }
  78.         $path $this->generalService->generateUrl('getCartOpportunity', [
  79.             "hash" => md5($email),
  80.         ]);
  81.         
  82.         $data["url"] = "https://{$this->configuration->getActiveDomain()}{$path}";
  83.         return $this->eadResponse($data);
  84.     }
  85. }