getPermissionList(); } public function __construct() { $this->db = DatabaseService::getInstance()->GetDbConnection(); } public static function checkPermission($request, string ...$permissions): void { $user = new self(); foreach ($permissions as $permission) { if (!$user->hasPermission($permission)) { throw new PermissionMissingException($request, $permission); } } } public function getPermissionList() { return $this->db->uihelper_user_permissions()->where('user_id', GROCY_USER_ID); } public function hasPermission(string $permission): bool { return $this->getPermissions()->where('permission_name', $permission)->fetch() !== null; } public static function hasPermissions(string ...$permissions) { $user = new self(); foreach ($permissions as $permission) { if (!$user->hasPermission($permission)) { return false; } } return true; } protected function getPermissions(): Result { return $this->db->user_permissions_resolved()->where('user_id', GROCY_USER_ID); } }