DB = DatabaseService::GetInstance()->GetDbConnection(); } 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); } }