Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 16 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
GetManagedUsersEndpoint | |
0.00% |
0 / 16 |
|
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 1 |
handle | |
0.00% |
0 / 16 |
|
0.00% |
0 / 1 |
20 |
1 | <?php |
2 | |
3 | namespace Olz\Apps\Anmelden\Endpoints; |
4 | |
5 | use Olz\Api\OlzTypedEndpoint; |
6 | use Olz\Entity\Users\User; |
7 | |
8 | /** |
9 | * @phpstan-type ManagedUser array{ |
10 | * id: int, |
11 | * firstName: non-empty-string, |
12 | * lastName: non-empty-string, |
13 | * } |
14 | * |
15 | * @extends OlzTypedEndpoint< |
16 | * ?array{}, |
17 | * array{ |
18 | * status: 'OK'|'ERROR', |
19 | * managedUsers: ?array<ManagedUser> |
20 | * }, |
21 | * > |
22 | */ |
23 | class GetManagedUsersEndpoint extends OlzTypedEndpoint { |
24 | protected function handle(mixed $input): mixed { |
25 | $this->checkPermission('any'); |
26 | |
27 | $auth_user = $this->authUtils()->getCurrentUser(); |
28 | $auth_user_id = $auth_user?->getId(); |
29 | $user_repo = $this->entityManager()->getRepository(User::class); |
30 | $users = $user_repo->findBy(['parent_user' => $auth_user_id]); |
31 | $managed_users = []; |
32 | foreach ($users as $user) { |
33 | $managed_users[] = [ |
34 | 'id' => $user->getId() ?? 0, |
35 | 'firstName' => $user->getFirstName() ?: '-', |
36 | 'lastName' => $user->getLastName() ?: '-', |
37 | ]; |
38 | } |
39 | |
40 | return [ |
41 | 'status' => 'OK', |
42 | 'managedUsers' => $managed_users, |
43 | ]; |
44 | } |
45 | } |