isAdmin()) { return true; } return $project->users->contains($user); } public function view(User $user, Server $server): bool { if ($user->isAdmin()) { return true; } return $server->project->users->contains($user); } public function create(User $user, Project $project): bool { if ($user->isAdmin()) { return true; } return $project->users->contains($user); } public function update(User $user, Server $server): bool { if ($user->isAdmin()) { return true; } return $server->project->users->contains($user); } public function delete(User $user, Server $server): bool { if ($user->isAdmin()) { return true; } return $server->project->users->contains($user); } public function manage(User $user, Server $server): bool { return ($user->isAdmin() || $server->project->users->contains($user)) && $server->isReady(); } }