Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
UserRoleMembershipEndpointTrait
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 2
20
0.00% covered (danger)
0.00%
0 / 1
 getRoleEntityById
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
6
 getUserEntityById
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3namespace Olz\Roles\Endpoints;
4
5use Olz\Entity\Roles\Role;
6use Olz\Entity\Users\User;
7use Olz\Utils\WithUtilsTrait;
8use PhpTypeScriptApi\HttpError;
9
10/**
11 * @phpstan-type OlzRoleMembershipIds array{
12 *   roleId: int<1, max>,
13 *   userId: int<1, max>,
14 * }
15 */
16trait UserRoleMembershipEndpointTrait {
17    use WithUtilsTrait;
18
19    protected function getRoleEntityById(int $id): Role {
20        $repo = $this->entityManager()->getRepository(Role::class);
21        $entity = $repo->findOneBy(['id' => $id]);
22        if (!$entity) {
23            throw new HttpError(404, "Nicht gefunden.");
24        }
25        return $entity;
26    }
27
28    protected function getUserEntityById(int $id): User {
29        $repo = $this->entityManager()->getRepository(User::class);
30        $entity = $repo->findOneBy(['id' => $id]);
31        if (!$entity) {
32            throw new HttpError(404, "Nicht gefunden.");
33        }
34        return $entity;
35    }
36}