| 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 |