UsersController::balanceList()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
c 0
b 0
f 0
nc 1
nop 1
dl 0
loc 6
rs 10
1
<?php
2
3
namespace App\Controller\Hyperwallet;
4
5
use Hyperwallet\Exception\HyperwalletApiException;
6
use Symfony\Component\HttpFoundation\JsonResponse;
7
use Symfony\Component\HttpFoundation\Request;
8
use Symfony\Component\Routing\Annotation\Route;
9
use Symfony\Component\HttpFoundation\Response;
10
11
/**
12
 * Class UsersController
13
 * @package App\Controller\Paypal
14
 *
15
 * @Route("/hyperwallet/users", name="hyperwallet-users-")
16
 */
17
class UsersController extends AbstractController
18
{
19
    /**
20
     * @Route("/", name="index", methods={"GET"})
21
     *
22
     * @return Response
23
     */
24
    public function index(): Response
25
    {
26
        return $this->render('hyperwallet/users/index.html.twig');
27
    }
28
29
    /**
30
     * @Route("/create", name="create-get", methods={"GET"})
31
     *
32
     * @return Response
33
     */
34
    public function createUserGet(): Response
35
    {
36
        return $this->render('hyperwallet/users/create.html.twig');
37
    }
38
39
    /**
40
     * @Route("/create", name="create-post", methods={"POST"})
41
     *
42
     * @return Response
43
     */
44
    public function createUserPost(): Response
45
    {
46
        $request = Request::createFromGlobals();
47
        $userData = $request->request->all();
48
        $user = $this->hyperwalletService->getUserService()->create($userData);
49
        return $this->render('default/dump.html.twig', [
50
            'raw_result' => false,
51
            'result' => $user,
52
        ]);
53
    }
54
55
    /**
56
     * @Route("/search", name="search", methods={"GET"})
57
     *
58
     * @return Response
59
     * @throws HyperwalletApiException
60
     */
61
    public function searchUser(): Response
62
    {
63
        $users = $this->hyperwalletService->getUserService()->list();
64
        return $this->render('hyperwallet/users/search.html.twig', [
65
            'users' => $users,
66
        ]);
67
    }
68
69
    /**
70
     * @Route("/get/{userToken}", name="read", methods={"GET"})
71
     *
72
     * @param string $userToken
73
     *
74
     * @return JsonResponse
75
     */
76
    public function readUser(string $userToken): JsonResponse
77
    {
78
        $user = $this->hyperwalletService->getUserService()->get($userToken);
79
        return new JsonResponse($user->getProperties());
0 ignored issues
show
Bug introduced by
The method getProperties() does not exist on Exception. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

79
        return new JsonResponse($user->/** @scrutinizer ignore-call */ getProperties());

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
80
    }
81
82
    /**
83
     * @Route("/edit/{userToken}", name="edit-get", methods={"GET"})
84
     *
85
     * @param string $userToken
86
     *
87
     * @return Response
88
     */
89
    public function editUserGet(string $userToken): Response
90
    {
91
        $userJson = $this->hyperwalletService->getUserService()->get($userToken)->getProperties();
92
        return $this->render('hyperwallet/users/edit.html.twig', [
93
            'userJson' => json_encode($userJson)
94
        ]);
95
    }
96
97
    /**
98
     * @Route("/edit", name="edit-post", methods={"POST"})
99
     *
100
     * @return Response
101
     */
102
    public function editUserPost(): Response
103
    {
104
        $request = Request::createFromGlobals();
105
        $userData = $request->request->all();
106
        $user = $this->hyperwalletService->getUserService()->update($userData);
107
        return $this->render('default/dump.html.twig', [
108
            'raw_result' => false,
109
            'result' => $user,
110
        ]);
111
    }
112
113
    /**
114
     * @Route("/{userToken}/transfer-methods", name="transfer-methods-list", methods={"GET"})
115
     *
116
     * @param string $userToken
117
     *
118
     * @return Response
119
     */
120
    public function transferMethodsList(string $userToken): Response
121
    {
122
        $transferMethods = $this->hyperwalletService->getUserService()->listTransferMethods($userToken);
123
        return $this->render('default/dump.html.twig', [
124
            'raw_result' => false,
125
            'result' => $transferMethods,
126
        ]);
127
    }
128
129
    /**
130
     * @Route("/{userToken}/balance", name="balance", methods={"GET"})
131
     *
132
     * @param string $userToken
133
     *
134
     * @return Response
135
     */
136
    public function balanceList(string $userToken): Response
137
    {
138
        $balance = $this->hyperwalletService->getUserService()->listBalances($userToken);
139
        return $this->render('default/dump.html.twig', [
140
            'raw_result' => false,
141
            'result' => $balance,
142
        ]);
143
    }
144
145
    /**
146
     * @Route("/{userToken}/transfer-methods/add", name="transfer-methods-add", methods={"GET"})
147
     *
148
     * @param string $userToken
149
     *
150
     * @return Response
151
     */
152
    public function transferMethodAdd(string $userToken): Response
153
    {
154
        $userJson = $this->hyperwalletService->getUserService()->get($userToken)->getProperties();
155
        return $this->render('hyperwallet/users/transferMethods/create.html.twig', [
156
            'userJson' => $userJson
157
        ]);
158
    }
159
160
    /**
161
     * @Route("/{userToken}/verify", name="verify", methods={"GET"})
162
     *
163
     * @param string $userToken
164
     *
165
     * @return Response
166
     */
167
    public function verify(string $userToken): Response
168
    {
169
        $userJson = $this->hyperwalletService->getUserService()->get($userToken)->getProperties();
170
        return $this->render('hyperwallet/users/verify.html.twig', [
171
            'userJson' => $userJson
172
        ]);
173
    }
174
175
    /**
176
     * @Route("/{userToken}/authentication-token", name="auth-token", methods={"GET"})
177
     *
178
     * @param string $userToken
179
     *
180
     * @return JsonResponse
181
     */
182
    public function getAuthenticationToken(string $userToken): JsonResponse
183
    {
184
        $authenticationToken = $this->hyperwalletService->getUserService()->getAuthenticationToken($userToken);
185
        return new JsonResponse($authenticationToken->getValue());
0 ignored issues
show
Bug introduced by
The method getValue() does not exist on Exception. It seems like you code against a sub-type of Exception such as Symfony\Component\Valida...lidationFailedException. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

185
        return new JsonResponse($authenticationToken->/** @scrutinizer ignore-call */ getValue());
Loading history...
186
    }
187
188
    /**
189
     * @Route("/{userToken}/transfer-create", name="transfer-create", methods={"GET"})
190
     *
191
     * @param string $userToken
192
     *
193
     * @return Response
194
     */
195
    public function transferCreate(string $userToken): Response
196
    {
197
        $balance = $this->hyperwalletService->getUserService()->listBalances($userToken);
198
        $transferMethods = $this->hyperwalletService->getUserService()->listTransferMethods($userToken);
199
        return $this->render('hyperwallet/users/transfer.html.twig', [
200
            'balance' => $balance,
201
            'transferMethods' => $transferMethods,
202
            'userToken' => $userToken,
203
        ]);
204
    }
205
}
206