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)) &&
$server->isReady() &&
(
! $site instanceof \App\Models\Site ||
! $site instanceof Site ||
(
$site->hasFeature(SiteFeature::WORKERS) &&
$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
{
return ($user->isAdmin() || $server->project->users->contains($user)) &&
$site->server_id === $server->id &&
$server->isReady() &&
(
! $site instanceof \App\Models\Site ||
! $site instanceof Site ||
(
$site->server_id === $server->id &&
$site->hasFeature(SiteFeature::WORKERS) &&
$site->isReady() &&
$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)) &&
$server->isReady() &&
(
! $site instanceof \App\Models\Site ||
! $site instanceof Site ||
(
$site->hasFeature(SiteFeature::WORKERS) &&
$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
{
return ($user->isAdmin() || $server->project->users->contains($user)) &&
$site->server_id === $server->id &&
$server->isReady() &&
(
! $site instanceof \App\Models\Site ||
! $site instanceof Site ||
(
$site->server_id === $server->id &&
$site->hasFeature(SiteFeature::WORKERS) &&
$site->isReady() &&
$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
{
return ($user->isAdmin() || $server->project->users->contains($user)) &&
$site->server_id === $server->id &&
$server->isReady() &&
(
! $site instanceof \App\Models\Site ||
! $site instanceof Site ||
(
$site->server_id === $server->id &&
$site->hasFeature(SiteFeature::WORKERS) &&
$site->isReady() &&
$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'),
Select::make('user')
->rules(fn (callable $get) => CreateWorker::rules($server, $site)['user'])
->options($server->getSshUsers()),
->options(array_combine($server->getSshUsers(), $server->getSshUsers())),
TextInput::make('numprocs')
->default(1)
->rules(CreateWorker::rules($server, $site)['numprocs'])

View File

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