db = DatabaseService::getInstance()->GetDbConnection(); } protected function getPermissions(): Result { return $this->db->user_permissions_resolved()->where('user_id', GROCY_USER_ID); } public function hasPermission(string $permission): bool { // global $PERMISSION_CACHE; // if(isset($PERMISSION_CACHE[$permission])) // return $PERMISSION_CACHE[$permission]; return $this->getPermissions()->where('permission_name', $permission)->fetch() !== null; } public static function checkPermission($request, string ...$permissions): void { $user = new User(); 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 static function hasPermissions(string ...$permissions) { $user = new User(); foreach ($permissions as $permission) { if (!$user->hasPermission($permission)) { return false; } } return true; } public static function PermissionList() { $user = new User(); return $user->getPermissionList(); } }