fix policies

This commit is contained in:
Saeed Vaziry
2024-11-23 10:38:36 +01:00
parent 5aac48b942
commit bc2e421128
4 changed files with 57 additions and 29 deletions

View File

@ -13,29 +13,36 @@ class BackupPolicy
public function viewAny(User $user, Server $server): bool public function viewAny(User $user, Server $server): bool
{ {
return ($user->isAdmin() || $server->project->users->contains($user)) && $server->isReady(); return ($user->isAdmin() || $server->project->users->contains($user))
&& $server->isReady()
&& $server->database();
} }
public function view(User $user, Backup $backup): bool public function view(User $user, Backup $backup): bool
{ {
return ($user->isAdmin() || $backup->server->project->users->contains($user)) && return ($user->isAdmin() || $backup->server->project->users->contains($user))
$backup->server->isReady(); && $backup->server->isReady()
&& $backup->server->database();
} }
public function create(User $user, Server $server): bool public function create(User $user, Server $server): bool
{ {
return ($user->isAdmin() || $server->project->users->contains($user)) && $server->isReady(); return ($user->isAdmin() || $server->project->users->contains($user))
&& $server->isReady()
&& $server->database();
} }
public function update(User $user, Backup $backup): bool public function update(User $user, Backup $backup): bool
{ {
return ($user->isAdmin() || $backup->server->project->users->contains($user)) && return ($user->isAdmin() || $backup->server->project->users->contains($user))
$backup->server->isReady(); && $backup->server->isReady()
&& $backup->server->database();
} }
public function delete(User $user, Backup $backup): bool public function delete(User $user, Backup $backup): bool
{ {
return ($user->isAdmin() || $backup->server->project->users->contains($user)) && return ($user->isAdmin() || $backup->server->project->users->contains($user))
$backup->server->isReady(); && $backup->server->isReady()
&& $backup->server->database();
} }
} }

View File

@ -13,29 +13,36 @@ class DatabasePolicy
public function viewAny(User $user, Server $server): bool public function viewAny(User $user, Server $server): bool
{ {
return ($user->isAdmin() || $server->project->users->contains($user)) && $server->isReady(); return ($user->isAdmin() || $server->project->users->contains($user))
&& $server->isReady()
&& $server->database();
} }
public function view(User $user, Database $database): bool public function view(User $user, Database $database): bool
{ {
return ($user->isAdmin() || $database->server->project->users->contains($user)) && return ($user->isAdmin() || $database->server->project->users->contains($user)) &&
$database->server->isReady(); $database->server->isReady() &&
$database->server->database();
} }
public function create(User $user, Server $server): bool public function create(User $user, Server $server): bool
{ {
return ($user->isAdmin() || $server->project->users->contains($user)) && $server->isReady(); return ($user->isAdmin() || $server->project->users->contains($user)) &&
$server->isReady() &&
$server->database();
} }
public function update(User $user, Database $database): bool public function update(User $user, Database $database): bool
{ {
return ($user->isAdmin() || $database->server->project->users->contains($user)) && return ($user->isAdmin() || $database->server->project->users->contains($user)) &&
$database->server->isReady(); $database->server->isReady() &&
$database->server->database();
} }
public function delete(User $user, Database $database): bool public function delete(User $user, Database $database): bool
{ {
return ($user->isAdmin() || $database->server->project->users->contains($user)) && return ($user->isAdmin() || $database->server->project->users->contains($user)) &&
$database->server->isReady(); $database->server->isReady() &&
$database->server->database();
} }
} }

View File

@ -13,29 +13,36 @@ class DatabaseUserPolicy
public function viewAny(User $user, Server $server): bool public function viewAny(User $user, Server $server): bool
{ {
return ($user->isAdmin() || $server->project->users->contains($user)) && $server->isReady(); return ($user->isAdmin() || $server->project->users->contains($user))
&& $server->isReady()
&& $server->database();
} }
public function view(User $user, DatabaseUser $databaseUser): bool public function view(User $user, DatabaseUser $databaseUser): bool
{ {
return ($user->isAdmin() || $databaseUser->server->project->users->contains($user)) && return ($user->isAdmin() || $databaseUser->server->project->users->contains($user)) &&
$databaseUser->server->isReady(); $databaseUser->server->isReady()
&& $databaseUser->server->database();
} }
public function create(User $user, Server $server): bool public function create(User $user, Server $server): bool
{ {
return ($user->isAdmin() || $server->project->users->contains($user)) && $server->isReady(); return ($user->isAdmin() || $server->project->users->contains($user))
&& $server->isReady()
&& $server->database();
} }
public function update(User $user, DatabaseUser $databaseUser): bool public function update(User $user, DatabaseUser $databaseUser): bool
{ {
return ($user->isAdmin() || $databaseUser->server->project->users->contains($user)) && return ($user->isAdmin() || $databaseUser->server->project->users->contains($user)) &&
$databaseUser->server->isReady(); $databaseUser->server->isReady()
&& $databaseUser->server->database();
} }
public function delete(User $user, DatabaseUser $databaseUser): bool public function delete(User $user, DatabaseUser $databaseUser): bool
{ {
return ($user->isAdmin() || $databaseUser->server->project->users->contains($user)) && return ($user->isAdmin() || $databaseUser->server->project->users->contains($user)) &&
$databaseUser->server->isReady(); $databaseUser->server->isReady()
&& $databaseUser->server->database();
} }
} }

View File

@ -13,32 +13,39 @@ class SitePolicy
public function viewAny(User $user, Server $server): bool public function viewAny(User $user, Server $server): bool
{ {
return ($user->isAdmin() || $server->project->users->contains($user)) && $server->isReady(); return ($user->isAdmin() || $server->project->users->contains($user))
&& $server->isReady()
&& $server->webserver();
} }
public function view(User $user, Site $site, Server $server): bool public function view(User $user, Site $site, Server $server): bool
{ {
return ($user->isAdmin() || $site->server->project->users->contains($user)) && return ($user->isAdmin() || $site->server->project->users->contains($user))
$site->server_id === $server->id && && $site->server_id === $server->id
$site->server->isReady(); && $site->server->isReady()
&& $site->server->webserver();
} }
public function create(User $user, Server $server): bool public function create(User $user, Server $server): bool
{ {
return ($user->isAdmin() || $server->project->users->contains($user)) && $server->isReady(); return ($user->isAdmin() || $server->project->users->contains($user))
&& $server->isReady()
&& $server->webserver();
} }
public function update(User $user, Site $site, Server $server): bool public function update(User $user, Site $site, Server $server): bool
{ {
return ($user->isAdmin() || $site->server->project->users->contains($user)) && return ($user->isAdmin() || $site->server->project->users->contains($user))
$site->server_id === $server->id && && $site->server_id === $server->id
$site->server->isReady(); && $site->server->isReady()
&& $site->server->webserver();
} }
public function delete(User $user, Site $site, Server $server): bool public function delete(User $user, Site $site, Server $server): bool
{ {
return ($user->isAdmin() || $site->server->project->users->contains($user)) && return ($user->isAdmin() || $site->server->project->users->contains($user))
$site->server_id === $server->id && && $site->server_id === $server->id
$site->server->isReady(); && $site->server->isReady()
&& $site->server->webserver();
} }
} }