vendor/pimcore/customer-management-framework-bundle/src/Controller/Rest/CrudHandlerController.php line 23

Open in your IDE?
  1. <?php
  2. /**
  3.  * Pimcore
  4.  *
  5.  * This source file is available under two different licenses:
  6.  * - GNU General Public License version 3 (GPLv3)
  7.  * - Pimcore Enterprise License (PEL)
  8.  * Full copyright and license information is available in
  9.  * LICENSE.md which is distributed with this source code.
  10.  *
  11.  *  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.org)
  12.  *  @license    http://www.pimcore.org/license     GPLv3 and PEL
  13.  */
  14. namespace CustomerManagementFrameworkBundle\Controller\Rest;
  15. use CustomerManagementFrameworkBundle\RESTApi\CrudHandlerInterface;
  16. use CustomerManagementFrameworkBundle\RESTApi\Exception\ExceptionInterface;
  17. use Symfony\Component\HttpFoundation\Request;
  18. use Symfony\Component\Routing\Annotation\Route;
  19. abstract class CrudHandlerController extends RestHandlerController
  20. {
  21.     /**
  22.      * @return CrudHandlerInterface
  23.      */
  24.     abstract protected function getHandler();
  25.     /**
  26.      * @param Request $request
  27.      * @Route("", methods={"GET"})
  28.      */
  29.     public function listRecords(Request $request)
  30.     {
  31.         $handler $this->getHandler();
  32.         $response null;
  33.         try {
  34.             $response $handler->listRecords($request);
  35.         } catch (ExceptionInterface $e) {
  36.             $response $this->createErrorResponse(
  37.                 $e->getMessage(),
  38.                 $e->getResponseCode() > $e->getResponseCode() : 400
  39.             );
  40.         }
  41.         return $response;
  42.     }
  43.     /**
  44.      * @param Request $request
  45.      * @Route("/{id}", methods={"GET"})
  46.      */
  47.     public function readRecord(Request $request)
  48.     {
  49.         $handler $this->getHandler();
  50.         $response null;
  51.         try {
  52.             $response $handler->readRecord($request);
  53.         } catch (ExceptionInterface $e) {
  54.             $response $this->createErrorResponse(
  55.                 $e->getMessage(),
  56.                 $e->getResponseCode() > $e->getResponseCode() : 400
  57.             );
  58.         }
  59.         return $response;
  60.     }
  61.     /**
  62.      * @param Request $request
  63.      * @Route("/{id}", methods={"DELETE"})
  64.      */
  65.     public function deleteRecord(Request $request)
  66.     {
  67.         $handler $this->getHandler();
  68.         $response null;
  69.         try {
  70.             $response $handler->deleteRecord($request);
  71.         } catch (ExceptionInterface $e) {
  72.             $response $this->createErrorResponse(
  73.                 $e->getMessage(),
  74.                 $e->getResponseCode() > $e->getResponseCode() : 400
  75.             );
  76.         }
  77.         return $response;
  78.     }
  79.     /**
  80.      * @param Request $request
  81.      * @Route("/{id}", methods={"PUT", "POST"})
  82.      */
  83.     public function updateRecord(Request $request)
  84.     {
  85.         $handler $this->getHandler();
  86.         $response null;
  87.         try {
  88.             $response $handler->updateRecord($request);
  89.         } catch (ExceptionInterface $e) {
  90.             $response $this->createErrorResponse(
  91.                 $e->getMessage(),
  92.                 $e->getResponseCode() > $e->getResponseCode() : 400
  93.             );
  94.         }
  95.         return $response;
  96.     }
  97.     /**
  98.      * @param Request $request
  99.      * @Route("", methods={"PUT", "POST"})
  100.      */
  101.     public function createRecord(Request $request)
  102.     {
  103.         $handler $this->getHandler();
  104.         $response null;
  105.         try {
  106.             $response $handler->createRecord($request);
  107.         } catch (ExceptionInterface $e) {
  108.             $response $this->createErrorResponse(
  109.                 $e->getMessage(),
  110.                 $e->getResponseCode() > $e->getResponseCode() : 400
  111.             );
  112.         }
  113.         return $response;
  114.     }
  115. }