fix server workers 500 error

This commit is contained in:
Saeed Vaziry 2025-03-16 14:38:10 +01:00
parent 7886e2a113
commit f89e7af34e
3 changed files with 12 additions and 10 deletions

View File

@ -18,7 +18,7 @@ public function viewAny(User $user, Server $server, ?Site $site = null): bool
return ($user->isAdmin() || $server->project->users->contains($user)) && return ($user->isAdmin() || $server->project->users->contains($user)) &&
$server->isReady() && $server->isReady() &&
( (
! $site instanceof \App\Models\Site || ! $site instanceof Site ||
( (
$site->hasFeature(SiteFeature::WORKERS) && $site->hasFeature(SiteFeature::WORKERS) &&
$site->isReady() $site->isReady()
@ -29,11 +29,11 @@ public function viewAny(User $user, Server $server, ?Site $site = null): bool
public function view(User $user, Worker $worker, Server $server, ?Site $site = null): bool public function view(User $user, Worker $worker, Server $server, ?Site $site = null): bool
{ {
return ($user->isAdmin() || $server->project->users->contains($user)) && return ($user->isAdmin() || $server->project->users->contains($user)) &&
$site->server_id === $server->id &&
$server->isReady() && $server->isReady() &&
( (
! $site instanceof \App\Models\Site || ! $site instanceof Site ||
( (
$site->server_id === $server->id &&
$site->hasFeature(SiteFeature::WORKERS) && $site->hasFeature(SiteFeature::WORKERS) &&
$site->isReady() && $site->isReady() &&
$worker->site_id === $site->id $worker->site_id === $site->id
@ -46,7 +46,7 @@ public function create(User $user, Server $server, ?Site $site = null): bool
return ($user->isAdmin() || $server->project->users->contains($user)) && return ($user->isAdmin() || $server->project->users->contains($user)) &&
$server->isReady() && $server->isReady() &&
( (
! $site instanceof \App\Models\Site || ! $site instanceof Site ||
( (
$site->hasFeature(SiteFeature::WORKERS) && $site->hasFeature(SiteFeature::WORKERS) &&
$site->isReady() $site->isReady()
@ -57,11 +57,11 @@ public function create(User $user, Server $server, ?Site $site = null): bool
public function update(User $user, Worker $worker, Server $server, ?Site $site = null): bool public function update(User $user, Worker $worker, Server $server, ?Site $site = null): bool
{ {
return ($user->isAdmin() || $server->project->users->contains($user)) && return ($user->isAdmin() || $server->project->users->contains($user)) &&
$site->server_id === $server->id &&
$server->isReady() && $server->isReady() &&
( (
! $site instanceof \App\Models\Site || ! $site instanceof Site ||
( (
$site->server_id === $server->id &&
$site->hasFeature(SiteFeature::WORKERS) && $site->hasFeature(SiteFeature::WORKERS) &&
$site->isReady() && $site->isReady() &&
$worker->site_id === $site->id $worker->site_id === $site->id
@ -72,11 +72,11 @@ public function update(User $user, Worker $worker, Server $server, ?Site $site =
public function delete(User $user, Worker $worker, Server $server, ?Site $site = null): bool public function delete(User $user, Worker $worker, Server $server, ?Site $site = null): bool
{ {
return ($user->isAdmin() || $server->project->users->contains($user)) && return ($user->isAdmin() || $server->project->users->contains($user)) &&
$site->server_id === $server->id &&
$server->isReady() && $server->isReady() &&
( (
! $site instanceof \App\Models\Site || ! $site instanceof Site ||
( (
$site->server_id === $server->id &&
$site->hasFeature(SiteFeature::WORKERS) && $site->hasFeature(SiteFeature::WORKERS) &&
$site->isReady() && $site->isReady() &&
$worker->site_id === $site->id $worker->site_id === $site->id

View File

@ -24,7 +24,7 @@ public static function form(Server $server, ?Site $site = null): array
->helperText('Example: php /home/vito/your-site/artisan queue:work'), ->helperText('Example: php /home/vito/your-site/artisan queue:work'),
Select::make('user') Select::make('user')
->rules(fn (callable $get) => CreateWorker::rules($server, $site)['user']) ->rules(fn (callable $get) => CreateWorker::rules($server, $site)['user'])
->options($server->getSshUsers()), ->options(array_combine($server->getSshUsers(), $server->getSshUsers())),
TextInput::make('numprocs') TextInput::make('numprocs')
->default(1) ->default(1)
->rules(CreateWorker::rules($server, $site)['numprocs']) ->rules(CreateWorker::rules($server, $site)['numprocs'])

View File

@ -44,8 +44,10 @@ protected function getTableQuery(): Builder
return Worker::query() return Worker::query()
->where('server_id', $this->server->id) ->where('server_id', $this->server->id)
->where(function (Builder $query): void { ->where(function (Builder $query): void {
if ($this->site instanceof \App\Models\Site) { if ($this->site instanceof Site) {
$query->where('site_id', $this->site->id); $query->where('site_id', $this->site->id);
} else {
$query->whereNull('site_id');
} }
}); });
} }