db = DatabaseService::getInstance()->GetDbConnection(); } /** * @var \LessQL\Database|null */ protected $db; public static function PermissionList() { $user = new self(); return $user->getPermissionList(); } public static function checkPermission($request, string $permission): void { $user = new self(); 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); } }