Conditions | 2 |
Paths | 2 |
Total Lines | 17 |
Code Lines | 7 |
Lines | 0 |
Ratio | 0 % |
Tests | 10 |
CRAP Score | 2 |
Changes | 0 |
1 | <?php |
||
23 | 1 | public function userRoleHasPermission(int $userId, string $requiredPermission): bool |
|
24 | { |
||
25 | 1 | $sql = "SELECT COUNT(*) AS count |
|
26 | FROM user_roles ur |
||
27 | INNER JOIN role_permissions rp ON ur.role_id = rp.role_id |
||
28 | INNER JOIN permissions p ON rp.permission_id = p.permission_id |
||
29 | 1 | WHERE ur.user_id = :userId AND p.permission_name = :requiredPermission"; |
|
30 | |||
31 | 1 | $stmt = $this->pdo->prepare($sql); |
|
32 | 1 | $stmt->execute([ |
|
33 | 1 | 'userId' => $userId, |
|
34 | 1 | 'requiredPermission' => $requiredPermission |
|
35 | 1 | ]); |
|
36 | |||
37 | /** @var array<string, mixed>|false $result */ |
||
38 | 1 | $result = $stmt->fetch(PDO::FETCH_ASSOC); |
|
39 | 1 | return $result !== false && $result['count'] > 0; |
|
40 | } |
||
42 |