vendor/store.shopware.com/netzpblog6/src/Controller/StoreApi/BlogPost/BlogPostRoute.php line 60

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace NetzpBlog6\Controller\StoreApi\BlogPost;
  3. use NetzpBlog6\Helper\BlogHelper;
  4. use Shopware\Core\Framework\DataAbstractionLayer\EntityRepository;
  5. use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
  6. use Shopware\Core\Framework\Plugin\Exception\DecorationPatternException;
  7. use Shopware\Core\System\SalesChannel\SalesChannelContext;
  8. use OpenApi\Annotations as OA;
  9. use Shopware\Core\Framework\Routing\Annotation\Entity;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class BlogPostRoute extends AbstractBlogPostRoute
  12. {
  13.     /**
  14.      * @var EntityRepository
  15.      */
  16.     protected $blogRepository;
  17.     private $helper;
  18.     public function __construct(EntityRepository $blogRepositoryBlogHelper $helper)
  19.     {
  20.         $this->blogRepository $blogRepository;
  21.         $this->helper $helper;
  22.     }
  23.     public function getDecorated(): AbstractBlogPostRoute
  24.     {
  25.         throw new DecorationPatternException(self::class);
  26.     }
  27.     /**
  28.      * @Entity("s_plugin_netzp_blog")
  29.      * @OA\Post(
  30.      *      path="/blogpost/{postId}",
  31.      *      summary="This route can be used to load the s_plugin_netzp_blog",
  32.      *      operationId="readNetzpBlog",
  33.      *      tags={"Store API", "NetzpBlog"},
  34.      *      @OA\Parameter(name="Api-Basic-Parameters"),
  35.      *      @OA\Response(
  36.      *          response="200",
  37.      *          description="",
  38.      *          @OA\JsonContent(type="object",
  39.      *              @OA\Property(
  40.      *                  property="total",
  41.      *                  type="integer",
  42.      *                  description="Total amount"
  43.      *              ),
  44.      *              @OA\Property(
  45.      *                  property="aggregations",
  46.      *                  type="object",
  47.      *                  description="aggregation result"
  48.      *              )
  49.      *          )
  50.      *     )
  51.      * )
  52.      * @Route("/store-api/blogpost/{postId}", name="store-api.s_plugin_netzp_blog.load", methods={"GET", "POST"}, defaults={"_routeScope"={"store-api"}})
  53.      */
  54.     public function load(string $postIdCriteria $criteriaSalesChannelContext $salesChannelContext): BlogPostRouteResponse
  55.     {
  56.         $post $this->helper->getBlogPost($postId$salesChannelContext$salesChannelContext->getContext());
  57.         return new BlogPostRouteResponse($post);
  58.     }
  59. }