Completed
Push — master ( b0a6d2...faed70 )
by Philip
09:15
created

Controller/AccessTokenController.php (2 issues)

parameters are used.

Unused Code Minor

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace Dontdrinkandroot\RestBundle\Controller;
4
5
use Dontdrinkandroot\RestBundle\Model\UserCredentials;
6
use Dontdrinkandroot\RestBundle\Service\AccessTokenServiceInterface;
7
use Dontdrinkandroot\RestBundle\Service\Normalizer;
8
use Dontdrinkandroot\RestBundle\Service\RestRequestParser;
9
use Symfony\Component\HttpFoundation\JsonResponse;
10
use Symfony\Component\HttpFoundation\Request;
11
use Symfony\Component\HttpFoundation\Response;
12
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
13
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
14
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
15
16
/**
17
 * @author Philip Washington Sorst <[email protected]>
18
 */
19
class AccessTokenController
20
{
21
    /**
22
     * @var AccessTokenServiceInterface
23
     */
24
    private $accessTokenService;
25
26
    /**
27
     * @var RestRequestParser
28
     */
29
    private $restRequestParser;
30
31
    /**
32
     * @var Normalizer
33
     */
34
    private $normalizer;
35
36
    /**
37
     * @var TokenStorageInterface
38
     */
39
    private $tokenStorage;
40
41 12
    public function __construct(
42
        AccessTokenServiceInterface $accessTokenService,
43
        RestRequestParser $restRequestParser,
44
        Normalizer $normalizer,
45
        TokenStorageInterface $tokenStorage
46
    ) {
47 12
        $this->accessTokenService = $accessTokenService;
48 12
        $this->restRequestParser = $restRequestParser;
49 12
        $this->normalizer = $normalizer;
50 12
        $this->tokenStorage = $tokenStorage;
51 12
    }
52
53 2
    public function createAction(Request $request)
54
    {
55 2
        $userCredentials = $this->restRequestParser->parseEntity($request, UserCredentials::class);
56 2
        $accessToken = $this->accessTokenService->createAccessToken(
57 2
            $userCredentials->getUsername(),
58 2
            $userCredentials->getPassword()
59
        );
60 2
        $content = $this->normalizer->normalize($accessToken);
61
62 2
        return new JsonResponse($content, Response::HTTP_CREATED);
63
    }
64
65 4
    public function listAction(Request $request)
0 ignored issues
show
The parameter $request is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
66
    {
67 4
        $user = $this->tokenStorage->getToken()->getUser();
68 4
        if (!is_object($user)) {
69 2
            throw new AccessDeniedException();
70
        }
71
72 2
        $tokens = $this->accessTokenService->listByUser($user);
73 2
        $content = $this->normalizer->normalize($tokens);
74
75 2
        return new JsonResponse($content);
76
    }
77
78 6
    public function deleteAction(Request $request, $token)
0 ignored issues
show
The parameter $request is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
79
    {
80 6
        $user = $this->tokenStorage->getToken()->getUser();
81 6
        if (!is_object($user)) {
82 2
            throw new AccessDeniedException();
83
        }
84
85 4
        $accessToken = $this->accessTokenService->findByToken($token);
86 4
        if (null === $accessToken) {
87 2
            throw new NotFoundHttpException();
88
        }
89
90 2
        $this->accessTokenService->remove($accessToken);
91
92 2
        return new JsonResponse(null, Response::HTTP_NO_CONTENT);
93
    }
94
}
95