zend-blog-3-backend
69 строк · 1.7 Кб
1<?php
2
3namespace App\Controller\API;
4
5use App\Controller\BaseController;
6use App\Entity\TrackingAgent;
7use App\Repository\TrackingAgentRepository;
8use Symfony\Component\HttpFoundation\JsonResponse;
9use Symfony\Component\HttpFoundation\Request;
10use Symfony\Component\Routing\Annotation\Route;
11
12/**
13* @Route("/api/userAgents")
14*/
15class TrackingAgentController extends BaseController
16{
17/**
18* @Route("", methods={"GET"})
19*
20* @param Request $request
21* @param TrackingAgentRepository $repository
22*
23* @return JsonResponse
24*/
25public function findAllAction(Request $request, TrackingAgentRepository $repository): JsonResponse
26{
27$pagination = $this->paginate(
28$repository->getListQuery(),
29$request->query->get('page', 1),
3050
31);
32
33$result = $this->getDataConverter()
34->getUserAgentArray($pagination);
35
36return new JsonResponse($result);
37}
38
39/**
40* @Route("/{id}", requirements={"id": "\d+"}, methods={"GET"})
41*
42* @param TrackingAgent $entity
43*
44* @return JsonResponse
45*/
46public function findAction(TrackingAgent $entity): JsonResponse
47{
48$result = $this->getDataConverter()
49->getUserAgent($entity);
50
51return new JsonResponse($result);
52}
53
54/**
55* @Route("/{id}", requirements={"id": "\d+"}, methods={"PUT"})
56*
57* @param Request $request
58* @param TrackingAgent $entity
59*
60* @return JsonResponse
61*/
62public function updateAction(Request $request, TrackingAgent $entity): JsonResponse
63{
64$result = $this->getDataConverter()
65->saveTrackingAgent($entity, $request->request->get('userAgent'));
66
67return new JsonResponse($result);
68}
69}
70