isAdmin() || $server->project->users->contains($user)) && $server->isReady() && ( ! $site instanceof Site || ( $site->hasFeature(SiteFeature::WORKERS) && $site->isReady() ) ); } public function view(User $user, Worker $worker, Server $server, ?Site $site = null): bool { return ($user->isAdmin() || $server->project->users->contains($user)) && $server->isReady() && ( ! $site instanceof Site || ( $site->server_id === $server->id && $site->hasFeature(SiteFeature::WORKERS) && $site->isReady() && $worker->site_id === $site->id ) ); } public function create(User $user, Server $server, ?Site $site = null): bool { return ($user->isAdmin() || $server->project->users->contains($user)) && $server->isReady() && ( ! $site instanceof Site || ( $site->hasFeature(SiteFeature::WORKERS) && $site->isReady() ) ); } public function update(User $user, Worker $worker, Server $server, ?Site $site = null): bool { return ($user->isAdmin() || $server->project->users->contains($user)) && $server->isReady() && ( ! $site instanceof Site || ( $site->server_id === $server->id && $site->hasFeature(SiteFeature::WORKERS) && $site->isReady() && $worker->site_id === $site->id ) ); } public function delete(User $user, Worker $worker, Server $server, ?Site $site = null): bool { return ($user->isAdmin() || $server->project->users->contains($user)) && $server->isReady() && ( ! $site instanceof Site || ( $site->server_id === $server->id && $site->hasFeature(SiteFeature::WORKERS) && $site->isReady() && $worker->site_id === $site->id ) ); } }