zend-blog-3-backend

Форк
0
/
TrackingAgentController.php 
69 строк · 1.7 Кб
1
<?php
2

3
namespace App\Controller\API;
4

5
use App\Controller\BaseController;
6
use App\Entity\TrackingAgent;
7
use App\Repository\TrackingAgentRepository;
8
use Symfony\Component\HttpFoundation\JsonResponse;
9
use Symfony\Component\HttpFoundation\Request;
10
use Symfony\Component\Routing\Annotation\Route;
11

12
/**
13
 * @Route("/api/userAgents")
14
 */
15
class TrackingAgentController extends BaseController
16
{
17
    /**
18
     * @Route("", methods={"GET"})
19
     *
20
     * @param Request $request
21
     * @param TrackingAgentRepository $repository
22
     *
23
     * @return JsonResponse
24
     */
25
    public function findAllAction(Request $request, TrackingAgentRepository $repository): JsonResponse
26
    {
27
        $pagination = $this->paginate(
28
            $repository->getListQuery(),
29
            $request->query->get('page', 1),
30
            50
31
        );
32

33
        $result = $this->getDataConverter()
34
            ->getUserAgentArray($pagination);
35

36
        return new JsonResponse($result);
37
    }
38

39
    /**
40
     * @Route("/{id}", requirements={"id": "\d+"}, methods={"GET"})
41
     *
42
     * @param TrackingAgent $entity
43
     *
44
     * @return JsonResponse
45
     */
46
    public function findAction(TrackingAgent $entity): JsonResponse
47
    {
48
        $result = $this->getDataConverter()
49
            ->getUserAgent($entity);
50

51
        return 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
     */
62
    public function updateAction(Request $request, TrackingAgent $entity): JsonResponse
63
    {
64
        $result = $this->getDataConverter()
65
            ->saveTrackingAgent($entity, $request->request->get('userAgent'));
66

67
        return new JsonResponse($result);
68
    }
69
}
70

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.