From bb02ec4c6c9b67787a13a8f6b450cfd74cb164cc Mon Sep 17 00:00:00 2001
From: MartinOscar <40749467+rmartinoscar@users.noreply.github.com>
Date: Tue, 7 Oct 2025 23:12:31 +0200
Subject: [PATCH] Add `user()` helper (#1768)
---
.../Features/Schemas/GSLTokenSchema.php | 2 +-
.../Features/Schemas/JavaVersionSchema.php | 2 +-
.../Features/Schemas/PIDLimitSchema.php | 4 +--
.../Features/Schemas/SteamDiskSpaceSchema.php | 2 +-
app/Filament/Admin/Pages/Health.php | 2 +-
app/Filament/Admin/Pages/Settings.php | 16 ++++-----
.../Resources/ApiKeys/ApiKeyResource.php | 2 +-
.../Resources/ApiKeys/Pages/CreateApiKey.php | 2 +-
.../DatabaseHosts/DatabaseHostResource.php | 4 +--
.../Pages/CreateDatabaseHost.php | 2 +-
.../Admin/Resources/Eggs/EggResource.php | 2 +-
.../Admin/Resources/Eggs/Pages/ListEggs.php | 2 +-
.../Admin/Resources/Mounts/MountResource.php | 4 +--
.../Admin/Resources/Nodes/NodeResource.php | 4 +--
.../AllocationsRelationManager.php | 2 +-
.../Resources/Nodes/Widgets/NodeCpuChart.php | 4 +--
.../Nodes/Widgets/NodeMemoryChart.php | 4 +--
.../Nodes/Widgets/NodeStorageChart.php | 2 +-
.../Admin/Resources/Roles/RoleResource.php | 2 +-
.../Resources/Servers/Pages/CreateServer.php | 10 +++---
.../Resources/Servers/Pages/EditServer.php | 6 ++--
.../Resources/Servers/Pages/ListServers.php | 6 ++--
.../Resources/Servers/ServerResource.php | 4 +--
.../Admin/Resources/Users/Pages/EditUser.php | 4 +--
.../ServersRelationManager.php | 4 +--
.../Admin/Resources/Users/UserResource.php | 4 +--
.../Resources/Servers/Pages/ListServers.php | 18 +++++-----
.../Components/Actions/ExportEggAction.php | 2 +-
.../Actions/ExportScheduleAction.php | 2 +-
.../Components/Actions/ImportEggAction.php | 2 +-
.../Actions/ImportScheduleAction.php | 2 +-
.../Actions/RotateDatabasePasswordAction.php | 4 +--
.../Components/Actions/UpdateEggAction.php | 2 +-
.../Actions/UpdateEggBulkAction.php | 2 +-
.../Tables/Columns/DateTimeColumn.php | 2 +-
app/Filament/Pages/Auth/EditProfile.php | 4 +--
app/Filament/Server/Pages/Console.php | 10 +++---
app/Filament/Server/Pages/Settings.php | 22 ++++++------
app/Filament/Server/Pages/Startup.php | 8 ++---
.../Resources/Activities/ActivityResource.php | 14 ++++----
.../Allocations/AllocationResource.php | 16 ++++-----
.../Resources/Backups/BackupResource.php | 20 +++++------
.../Resources/Databases/DatabaseResource.php | 16 ++++-----
.../Server/Resources/Files/FileResource.php | 8 ++---
.../Resources/Files/Pages/DownloadFiles.php | 6 ++--
.../Resources/Files/Pages/EditFiles.php | 6 ++--
.../Resources/Files/Pages/ListFiles.php | 36 +++++++++----------
.../Schedules/Pages/ViewSchedule.php | 2 +-
.../Resources/Schedules/ScheduleResource.php | 12 +++----
.../Server/Resources/Users/UserResource.php | 16 ++++-----
.../Server/Widgets/ServerCpuChart.php | 6 ++--
.../Server/Widgets/ServerMemoryChart.php | 6 ++--
.../Server/Widgets/ServerNetworkChart.php | 4 +--
app/Providers/Filament/AppPanelProvider.php | 2 +-
app/Providers/Filament/PanelProvider.php | 5 ++-
.../Filament/ServerPanelProvider.php | 4 +--
.../Subusers/SubuserCreationService.php | 2 +-
.../Subusers/SubuserUpdateService.php | 2 +-
app/helpers.php | 9 ++++-
resources/views/errors/500.blade.php | 2 +-
.../components/server-console.blade.php | 6 ++--
61 files changed, 194 insertions(+), 188 deletions(-)
diff --git a/app/Extensions/Features/Schemas/GSLTokenSchema.php b/app/Extensions/Features/Schemas/GSLTokenSchema.php
index 23aa0fcfd..f9b0f3a54 100644
--- a/app/Extensions/Features/Schemas/GSLTokenSchema.php
+++ b/app/Extensions/Features/Schemas/GSLTokenSchema.php
@@ -54,7 +54,7 @@ class GSLTokenSchema implements FeatureSchemaInterface
->modalHeading('Invalid GSL token')
->modalDescription('It seems like your Gameserver Login Token (GSL token) is invalid or has expired.')
->modalSubmitActionLabel('Update GSL Token')
- ->disabledSchema(fn () => !auth()->user()->can(Permission::ACTION_STARTUP_UPDATE, $server))
+ ->disabledSchema(fn () => !user()?->can(Permission::ACTION_STARTUP_UPDATE, $server))
->schema([
TextEntry::make('info')
->label(new HtmlString(Blade::render('You can either
This server has reached the maximum process or memory limit.
diff --git a/app/Extensions/Features/Schemas/SteamDiskSpaceSchema.php b/app/Extensions/Features/Schemas/SteamDiskSpaceSchema.php index b6ad64a12..3862310b8 100644 --- a/app/Extensions/Features/Schemas/SteamDiskSpaceSchema.php +++ b/app/Extensions/Features/Schemas/SteamDiskSpaceSchema.php @@ -29,7 +29,7 @@ class SteamDiskSpaceSchema implements FeatureSchemaInterface ->requiresConfirmation() ->modalHeading('Out of available disk space...') ->modalDescription(new HtmlString(Blade::render( - auth()->user()->isAdmin() ? <<<'HTML' + user()?->isAdmin() ? <<<'HTML'
This server has run out of available disk space and cannot complete the install or update
process.
diff --git a/app/Filament/Admin/Pages/Health.php b/app/Filament/Admin/Pages/Health.php
index 7a08cec49..81d1b69bc 100644
--- a/app/Filament/Admin/Pages/Health.php
+++ b/app/Filament/Admin/Pages/Health.php
@@ -39,7 +39,7 @@ class Health extends Page
public static function canAccess(): bool
{
- return auth()->user()->can('view health');
+ return user()?->can('view health');
}
protected function getActions(): array
diff --git a/app/Filament/Admin/Pages/Settings.php b/app/Filament/Admin/Pages/Settings.php
index 414e65d42..b894fafb4 100644
--- a/app/Filament/Admin/Pages/Settings.php
+++ b/app/Filament/Admin/Pages/Settings.php
@@ -82,7 +82,7 @@ class Settings extends Page implements HasSchemas
public static function canAccess(): bool
{
- return auth()->user()->can('view settings');
+ return user()?->can('view settings');
}
public function getTitle(): string
@@ -106,7 +106,7 @@ class Settings extends Page implements HasSchemas
Tabs::make('Tabs')
->columns()
->persistTabInQueryString()
- ->disabled(fn () => !auth()->user()->can('update settings'))
+ ->disabled(fn () => !user()?->can('update settings'))
->tabs([
Tab::make('general')
->label(trans('admin/setting.navigation.general'))
@@ -233,12 +233,12 @@ class Settings extends Page implements HasSchemas
->color('danger')
->icon('tabler-trash')
->requiresConfirmation()
- ->authorize(fn () => auth()->user()->can('update settings'))
+ ->authorize(fn () => user()?->can('update settings'))
->action(fn (Set $set) => $set('TRUSTED_PROXIES', [])),
Action::make('cloudflare')
->label(trans('admin/setting.general.set_to_cf'))
->icon('tabler-brand-cloudflare')
- ->authorize(fn () => auth()->user()->can('update settings'))
+ ->authorize(fn () => user()?->can('update settings'))
->action(function (Factory $client, Set $set) {
$ips = collect();
@@ -335,7 +335,7 @@ class Settings extends Page implements HasSchemas
->label(trans('admin/setting.mail.test_mail'))
->icon('tabler-send')
->hidden(fn (Get $get) => $get('MAIL_MAILER') === 'log')
- ->authorize(fn () => auth()->user()->can('update settings'))
+ ->authorize(fn () => user()?->can('update settings'))
->action(function (Get $get) {
// Store original mail configuration
$originalConfig = [
@@ -368,8 +368,8 @@ class Settings extends Page implements HasSchemas
'services.mailgun.endpoint' => $get('MAILGUN_ENDPOINT'),
]);
- MailNotification::route('mail', auth()->user()->email)
- ->notify(new MailTested(auth()->user()));
+ MailNotification::route('mail', user()?->email)
+ ->notify(new MailTested(user()));
Notification::make()
->title(trans('admin/setting.mail.test_mail_sent'))
@@ -822,7 +822,7 @@ class Settings extends Page implements HasSchemas
return [
Action::make('save')
->action('save')
- ->authorize(fn () => auth()->user()->can('update settings'))
+ ->authorize(fn () => user()?->can('update settings'))
->keyBindings(['mod+s']),
];
diff --git a/app/Filament/Admin/Resources/ApiKeys/ApiKeyResource.php b/app/Filament/Admin/Resources/ApiKeys/ApiKeyResource.php
index f07e589df..bae621752 100644
--- a/app/Filament/Admin/Resources/ApiKeys/ApiKeyResource.php
+++ b/app/Filament/Admin/Resources/ApiKeys/ApiKeyResource.php
@@ -93,7 +93,7 @@ class ApiKeyResource extends Resource
->sortable(),
TextColumn::make('user.username')
->label(trans('admin/apikey.table.created_by'))
- ->url(fn (ApiKey $apiKey) => auth()->user()->can('update', $apiKey->user) ? EditUser::getUrl(['record' => $apiKey->user]) : null),
+ ->url(fn (ApiKey $apiKey) => user()?->can('update', $apiKey->user) ? EditUser::getUrl(['record' => $apiKey->user]) : null),
])
->recordActions([
DeleteAction::make(),
diff --git a/app/Filament/Admin/Resources/ApiKeys/Pages/CreateApiKey.php b/app/Filament/Admin/Resources/ApiKeys/Pages/CreateApiKey.php
index e1f163b6e..2ea20592c 100644
--- a/app/Filament/Admin/Resources/ApiKeys/Pages/CreateApiKey.php
+++ b/app/Filament/Admin/Resources/ApiKeys/Pages/CreateApiKey.php
@@ -38,7 +38,7 @@ class CreateApiKey extends CreateRecord
{
$data['identifier'] = ApiKey::generateTokenIdentifier(ApiKey::TYPE_APPLICATION);
$data['token'] = Str::random(ApiKey::KEY_LENGTH);
- $data['user_id'] = auth()->user()->id;
+ $data['user_id'] = user()?->id;
$data['key_type'] = ApiKey::TYPE_APPLICATION;
$permissions = [];
diff --git a/app/Filament/Admin/Resources/DatabaseHosts/DatabaseHostResource.php b/app/Filament/Admin/Resources/DatabaseHosts/DatabaseHostResource.php
index 430a0df6f..b8d0aaee0 100644
--- a/app/Filament/Admin/Resources/DatabaseHosts/DatabaseHostResource.php
+++ b/app/Filament/Admin/Resources/DatabaseHosts/DatabaseHostResource.php
@@ -166,7 +166,7 @@ class DatabaseHostResource extends Resource
->preload()
->helperText(trans('admin/databasehost.linked_nodes_help'))
->label(trans('admin/databasehost.linked_nodes'))
- ->relationship('nodes', 'name', fn (Builder $query) => $query->whereIn('nodes.id', auth()->user()->accessibleNodes()->pluck('id'))),
+ ->relationship('nodes', 'name', fn (Builder $query) => $query->whereIn('nodes.id', user()?->accessibleNodes()->pluck('id'))),
]),
]);
}
@@ -196,7 +196,7 @@ class DatabaseHostResource extends Resource
return $query->where(function (Builder $query) {
return $query->whereHas('nodes', function (Builder $query) {
- $query->whereIn('nodes.id', auth()->user()->accessibleNodes()->pluck('id'));
+ $query->whereIn('nodes.id', user()?->accessibleNodes()->pluck('id'));
})->orDoesntHave('nodes');
});
}
diff --git a/app/Filament/Admin/Resources/DatabaseHosts/Pages/CreateDatabaseHost.php b/app/Filament/Admin/Resources/DatabaseHosts/Pages/CreateDatabaseHost.php
index f36c30792..67df0e52c 100644
--- a/app/Filament/Admin/Resources/DatabaseHosts/Pages/CreateDatabaseHost.php
+++ b/app/Filament/Admin/Resources/DatabaseHosts/Pages/CreateDatabaseHost.php
@@ -157,7 +157,7 @@ class CreateDatabaseHost extends CreateRecord
->preload()
->helperText(trans('admin/databasehost.linked_nodes_help'))
->label(trans('admin/databasehost.linked_nodes'))
- ->relationship('nodes', 'name', fn (Builder $query) => $query->whereIn('nodes.id', auth()->user()->accessibleNodes()->pluck('id'))),
+ ->relationship('nodes', 'name', fn (Builder $query) => $query->whereIn('nodes.id', user()?->accessibleNodes()->pluck('id'))),
]),
];
}
diff --git a/app/Filament/Admin/Resources/Eggs/EggResource.php b/app/Filament/Admin/Resources/Eggs/EggResource.php
index 0b92b67de..861288d32 100644
--- a/app/Filament/Admin/Resources/Eggs/EggResource.php
+++ b/app/Filament/Admin/Resources/Eggs/EggResource.php
@@ -32,7 +32,7 @@ class EggResource extends Resource
public static function getNavigationGroup(): ?string
{
- return auth()->user()->getCustomization(CustomizationKey::TopNavigation) ? false : trans('admin/dashboard.server');
+ return user()?->getCustomization(CustomizationKey::TopNavigation) ? false : trans('admin/dashboard.server');
}
public static function getNavigationLabel(): string
diff --git a/app/Filament/Admin/Resources/Eggs/Pages/ListEggs.php b/app/Filament/Admin/Resources/Eggs/Pages/ListEggs.php
index 9bd430a4b..251fea690 100644
--- a/app/Filament/Admin/Resources/Eggs/Pages/ListEggs.php
+++ b/app/Filament/Admin/Resources/Eggs/Pages/ListEggs.php
@@ -68,7 +68,7 @@ class ListEggs extends ListRecords
->modal(false)
->excludeAttributes(['author', 'uuid', 'update_url', 'servers_count', 'created_at', 'updated_at'])
->beforeReplicaSaved(function (Egg $replica) {
- $replica->author = auth()->user()->email;
+ $replica->author = user()?->email;
$replica->name .= ' Copy';
$replica->uuid = Str::uuid()->toString();
})
diff --git a/app/Filament/Admin/Resources/Mounts/MountResource.php b/app/Filament/Admin/Resources/Mounts/MountResource.php
index 211c0ed49..d46a94799 100644
--- a/app/Filament/Admin/Resources/Mounts/MountResource.php
+++ b/app/Filament/Admin/Resources/Mounts/MountResource.php
@@ -166,7 +166,7 @@ class MountResource extends Resource
->preload(),
Select::make('nodes')->multiple()
->label(trans('admin/mount.nodes'))
- ->relationship('nodes', 'name', fn (Builder $query) => $query->whereIn('nodes.id', auth()->user()->accessibleNodes()->pluck('id')))
+ ->relationship('nodes', 'name', fn (Builder $query) => $query->whereIn('nodes.id', user()?->accessibleNodes()->pluck('id')))
->searchable(['name', 'fqdn'])
->preload(),
]),
@@ -197,7 +197,7 @@ class MountResource extends Resource
return $query->where(function (Builder $query) {
return $query->whereHas('nodes', function (Builder $query) {
- $query->whereIn('nodes.id', auth()->user()->accessibleNodes()->pluck('id'));
+ $query->whereIn('nodes.id', user()?->accessibleNodes()->pluck('id'));
})->orDoesntHave('nodes');
});
}
diff --git a/app/Filament/Admin/Resources/Nodes/NodeResource.php b/app/Filament/Admin/Resources/Nodes/NodeResource.php
index 3caba9a47..d27295fcd 100644
--- a/app/Filament/Admin/Resources/Nodes/NodeResource.php
+++ b/app/Filament/Admin/Resources/Nodes/NodeResource.php
@@ -44,7 +44,7 @@ class NodeResource extends Resource
public static function getNavigationGroup(): ?string
{
- return auth()->user()->getCustomization(CustomizationKey::TopNavigation) ? false : trans('admin/dashboard.server');
+ return user()?->getCustomization(CustomizationKey::TopNavigation) ? false : trans('admin/dashboard.server');
}
public static function getNavigationBadge(): ?string
@@ -75,6 +75,6 @@ class NodeResource extends Resource
{
$query = parent::getEloquentQuery();
- return $query->whereIn('id', auth()->user()->accessibleNodes()->pluck('id'));
+ return $query->whereIn('id', user()?->accessibleNodes()->pluck('id'));
}
}
diff --git a/app/Filament/Admin/Resources/Nodes/RelationManagers/AllocationsRelationManager.php b/app/Filament/Admin/Resources/Nodes/RelationManagers/AllocationsRelationManager.php
index f59733e44..3846c562f 100644
--- a/app/Filament/Admin/Resources/Nodes/RelationManagers/AllocationsRelationManager.php
+++ b/app/Filament/Admin/Resources/Nodes/RelationManagers/AllocationsRelationManager.php
@@ -121,7 +121,7 @@ class AllocationsRelationManager extends RelationManager
])
->groupedBulkActions([
DeleteBulkAction::make()
- ->authorize(fn () => auth()->user()->can('update', $this->getOwnerRecord())),
+ ->authorize(fn () => user()?->can('update', $this->getOwnerRecord())),
]);
}
}
diff --git a/app/Filament/Admin/Resources/Nodes/Widgets/NodeCpuChart.php b/app/Filament/Admin/Resources/Nodes/Widgets/NodeCpuChart.php
index 1f0d53519..977af69de 100644
--- a/app/Filament/Admin/Resources/Nodes/Widgets/NodeCpuChart.php
+++ b/app/Filament/Admin/Resources/Nodes/Widgets/NodeCpuChart.php
@@ -32,7 +32,7 @@ class NodeCpuChart extends ChartWidget
$this->cpuHistory = session("{$sessionKey}.cpu_history", []);
$this->cpuHistory[] = [
'cpu' => round($data['cpu_percent'] * $this->threads, 2),
- 'timestamp' => now(auth()->user()->timezone ?? 'UTC')->format('H:i:s'),
+ 'timestamp' => now(user()->timezone ?? 'UTC')->format('H:i:s'),
];
$this->cpuHistory = array_slice($this->cpuHistory, -60);
@@ -50,7 +50,7 @@ class NodeCpuChart extends ChartWidget
],
],
'labels' => array_column($this->cpuHistory, 'timestamp'),
- 'locale' => auth()->user()->language ?? 'en',
+ 'locale' => user()->language ?? 'en',
];
}
diff --git a/app/Filament/Admin/Resources/Nodes/Widgets/NodeMemoryChart.php b/app/Filament/Admin/Resources/Nodes/Widgets/NodeMemoryChart.php
index c51442f69..df4ca0b4f 100644
--- a/app/Filament/Admin/Resources/Nodes/Widgets/NodeMemoryChart.php
+++ b/app/Filament/Admin/Resources/Nodes/Widgets/NodeMemoryChart.php
@@ -34,7 +34,7 @@ class NodeMemoryChart extends ChartWidget
'memory' => round(config('panel.use_binary_prefix')
? $data['memory_used'] / 1024 / 1024 / 1024
: $data['memory_used'] / 1000 / 1000 / 1000, 2),
- 'timestamp' => now(auth()->user()->timezone ?? 'UTC')->format('H:i:s'),
+ 'timestamp' => now(user()->timezone ?? 'UTC')->format('H:i:s'),
];
$this->memoryHistory = array_slice($this->memoryHistory, -60);
@@ -52,7 +52,7 @@ class NodeMemoryChart extends ChartWidget
],
],
'labels' => array_column($this->memoryHistory, 'timestamp'),
- 'locale' => auth()->user()->language ?? 'en',
+ 'locale' => user()->language ?? 'en',
];
}
diff --git a/app/Filament/Admin/Resources/Nodes/Widgets/NodeStorageChart.php b/app/Filament/Admin/Resources/Nodes/Widgets/NodeStorageChart.php
index 028d4f9de..da59888c8 100644
--- a/app/Filament/Admin/Resources/Nodes/Widgets/NodeStorageChart.php
+++ b/app/Filament/Admin/Resources/Nodes/Widgets/NodeStorageChart.php
@@ -60,7 +60,7 @@ class NodeStorageChart extends ChartWidget
],
],
'labels' => [trans('admin/node.used'), trans('admin/node.unused')],
- 'locale' => auth()->user()->language ?? 'en',
+ 'locale' => user()->language ?? 'en',
];
}
diff --git a/app/Filament/Admin/Resources/Roles/RoleResource.php b/app/Filament/Admin/Resources/Roles/RoleResource.php
index 9b9769fa2..5f3651e81 100644
--- a/app/Filament/Admin/Resources/Roles/RoleResource.php
+++ b/app/Filament/Admin/Resources/Roles/RoleResource.php
@@ -65,7 +65,7 @@ class RoleResource extends Resource
public static function getNavigationGroup(): ?string
{
- return auth()->user()->getCustomization(CustomizationKey::TopNavigation) ? trans('admin/dashboard.advanced') : trans('admin/dashboard.user');
+ return user()?->getCustomization(CustomizationKey::TopNavigation) ? trans('admin/dashboard.advanced') : trans('admin/dashboard.user');
}
public static function getNavigationBadge(): ?string
diff --git a/app/Filament/Admin/Resources/Servers/Pages/CreateServer.php b/app/Filament/Admin/Resources/Servers/Pages/CreateServer.php
index a2161bdf0..70937c635 100644
--- a/app/Filament/Admin/Resources/Servers/Pages/CreateServer.php
+++ b/app/Filament/Admin/Resources/Servers/Pages/CreateServer.php
@@ -117,7 +117,7 @@ class CreateServer extends CreateRecord
->selectablePlaceholder(false)
->default(function () {
/** @var ?Node $latestNode */
- $latestNode = auth()->user()->accessibleNodes()->latest()->first();
+ $latestNode = user()?->accessibleNodes()->latest()->first();
$this->node = $latestNode;
return $this->node?->id;
@@ -128,7 +128,7 @@ class CreateServer extends CreateRecord
'md' => 2,
])
->live()
- ->relationship('node', 'name', fn (Builder $query) => $query->whereIn('id', auth()->user()->accessibleNodes()->pluck('id')))
+ ->relationship('node', 'name', fn (Builder $query) => $query->whereIn('id', user()?->accessibleNodes()->pluck('id')))
->searchable()
->required()
->preload()
@@ -141,7 +141,7 @@ class CreateServer extends CreateRecord
->preload()
->prefixIcon('tabler-user')
->selectablePlaceholder(false)
- ->default(auth()->user()->id)
+ ->default(user()?->id)
->label(trans('admin/server.owner'))
->columnSpan([
'default' => 1,
@@ -151,7 +151,7 @@ class CreateServer extends CreateRecord
->relationship('user', 'username')
->searchable(['username', 'email'])
->getOptionLabelFromRecordUsing(fn (User $user) => "$user->username ($user->email)")
- ->createOptionAction(fn (Action $action) => $action->authorize(fn () => auth()->user()->can('create', User::class)))
+ ->createOptionAction(fn (Action $action) => $action->authorize(fn () => user()?->can('create', User::class)))
->createOptionForm([
TextInput::make('username')
->label(trans('admin/user.username'))
@@ -212,7 +212,7 @@ class CreateServer extends CreateRecord
->where('node_id', $get('node_id'))
->whereNull('server_id'),
)
- ->createOptionAction(fn (Action $action) => $action->authorize(fn (Get $get) => auth()->user()->can('create', Node::find($get('node_id')))))
+ ->createOptionAction(fn (Action $action) => $action->authorize(fn (Get $get) => user()?->can('create', Node::find($get('node_id')))))
->createOptionForm(function (Get $get) {
$getPage = $get;
diff --git a/app/Filament/Admin/Resources/Servers/Pages/EditServer.php b/app/Filament/Admin/Resources/Servers/Pages/EditServer.php
index 7dc164adf..53cd2047a 100644
--- a/app/Filament/Admin/Resources/Servers/Pages/EditServer.php
+++ b/app/Filament/Admin/Resources/Servers/Pages/EditServer.php
@@ -210,7 +210,7 @@ class EditServer extends EditRecord
->maxLength(255),
Select::make('node_id')
->label(trans('admin/server.node'))
- ->relationship('node', 'name', fn (Builder $query) => $query->whereIn('id', auth()->user()->accessibleNodes()->pluck('id')))
+ ->relationship('node', 'name', fn (Builder $query) => $query->whereIn('id', user()?->accessibleNodes()->pluck('id')))
->columnSpan([
'default' => 2,
'sm' => 1,
@@ -916,7 +916,7 @@ class EditServer extends EditRecord
}
})
->hidden(fn () => $canForceDelete)
- ->authorize(fn (Server $server) => auth()->user()->can('delete server', $server)),
+ ->authorize(fn (Server $server) => user()?->can('delete server', $server)),
Action::make('ForceDelete')
->color('danger')
->label(trans('filament-actions::force-delete.single.label'))
@@ -933,7 +933,7 @@ class EditServer extends EditRecord
}
})
->visible(fn () => $canForceDelete)
- ->authorize(fn (Server $server) => auth()->user()->can('delete server', $server)),
+ ->authorize(fn (Server $server) => user()?->can('delete server', $server)),
Action::make('console')
->label(trans('admin/server.console'))
->icon('tabler-terminal')
diff --git a/app/Filament/Admin/Resources/Servers/Pages/ListServers.php b/app/Filament/Admin/Resources/Servers/Pages/ListServers.php
index 9b09c3100..b2a3b200f 100644
--- a/app/Filament/Admin/Resources/Servers/Pages/ListServers.php
+++ b/app/Filament/Admin/Resources/Servers/Pages/ListServers.php
@@ -69,7 +69,7 @@ class ListServers extends ListRecords
->searchable(),
SelectColumn::make('allocation_id')
->label(trans('admin/server.primary_allocation'))
- ->hidden(fn () => !auth()->user()->can('update server')) // TODO: update to policy check (fn (Server $server) --> $server is empty)
+ ->hidden(fn () => !user()?->can('update server')) // TODO: update to policy check (fn (Server $server) --> $server is empty)
->disabled(fn (Server $server) => $server->allocations->count() <= 1)
->options(fn (Server $server) => $server->allocations->mapWithKeys(fn ($allocation) => [$allocation->id => $allocation->address]))
->selectablePlaceholder(fn (Server $server) => $server->allocations->count() <= 1)
@@ -77,7 +77,7 @@ class ListServers extends ListRecords
->sortable(),
TextColumn::make('allocation_id_readonly')
->label(trans('admin/server.primary_allocation'))
- ->hidden(fn () => auth()->user()->can('update server')) // TODO: update to policy check (fn (Server $server) --> $server is empty)
+ ->hidden(fn () => user()?->can('update server')) // TODO: update to policy check (fn (Server $server) --> $server is empty)
->state(fn (Server $server) => $server->allocation->address ?? trans('admin/server.none')),
TextColumn::make('image')->hidden(),
TextColumn::make('backups_count')
@@ -90,7 +90,7 @@ class ListServers extends ListRecords
Action::make('View')
->label(trans('admin/server.view'))
->url(fn (Server $server) => Console::getUrl(panel: 'server', tenant: $server))
- ->authorize(fn (Server $server) => auth()->user()->canAccessTenant($server)),
+ ->authorize(fn (Server $server) => user()?->canAccessTenant($server)),
EditAction::make(),
])
->emptyStateIcon('tabler-brand-docker')
diff --git a/app/Filament/Admin/Resources/Servers/ServerResource.php b/app/Filament/Admin/Resources/Servers/ServerResource.php
index 433813272..5273ddcc9 100644
--- a/app/Filament/Admin/Resources/Servers/ServerResource.php
+++ b/app/Filament/Admin/Resources/Servers/ServerResource.php
@@ -47,7 +47,7 @@ class ServerResource extends Resource
public static function getNavigationGroup(): ?string
{
- return auth()->user()->getCustomization(CustomizationKey::TopNavigation) ? false : trans('admin/dashboard.server');
+ return user()?->getCustomization(CustomizationKey::TopNavigation) ? false : trans('admin/dashboard.server');
}
public static function getNavigationBadge(): ?string
@@ -103,6 +103,6 @@ class ServerResource extends Resource
{
$query = parent::getEloquentQuery();
- return $query->whereIn('node_id', auth()->user()->accessibleNodes()->pluck('id'));
+ return $query->whereIn('node_id', user()?->accessibleNodes()->pluck('id'));
}
}
diff --git a/app/Filament/Admin/Resources/Users/Pages/EditUser.php b/app/Filament/Admin/Resources/Users/Pages/EditUser.php
index efb54950f..4941c56ad 100644
--- a/app/Filament/Admin/Resources/Users/Pages/EditUser.php
+++ b/app/Filament/Admin/Resources/Users/Pages/EditUser.php
@@ -32,8 +32,8 @@ class EditUser extends EditRecord
{
return [
DeleteAction::make()
- ->label(fn (User $user) => auth()->user()->id === $user->id ? trans('admin/user.self_delete') : ($user->servers()->count() > 0 ? trans('admin/user.has_servers') : trans('filament-actions::delete.single.modal.actions.delete.label')))
- ->disabled(fn (User $user) => auth()->user()->id === $user->id || $user->servers()->count() > 0),
+ ->label(fn (User $user) => user()?->id === $user->id ? trans('admin/user.self_delete') : ($user->servers()->count() > 0 ? trans('admin/user.has_servers') : trans('filament-actions::delete.single.modal.actions.delete.label')))
+ ->disabled(fn (User $user) => user()?->id === $user->id || $user->servers()->count() > 0),
$this->getSaveFormAction()->formId('form'),
];
}
diff --git a/app/Filament/Admin/Resources/Users/RelationManagers/ServersRelationManager.php b/app/Filament/Admin/Resources/Users/RelationManagers/ServersRelationManager.php
index a257cde15..cab9c7a80 100644
--- a/app/Filament/Admin/Resources/Users/RelationManagers/ServersRelationManager.php
+++ b/app/Filament/Admin/Resources/Users/RelationManagers/ServersRelationManager.php
@@ -67,7 +67,7 @@ class ServersRelationManager extends RelationManager
->sortable(),
SelectColumn::make('allocation_id')
->label(trans('admin/server.primary_allocation'))
- ->hidden(fn () => !auth()->user()->can('update server')) // TODO: update to policy check (fn (Server $server) --> $server is empty)
+ ->hidden(fn () => !user()?->can('update server')) // TODO: update to policy check (fn (Server $server) --> $server is empty)
->disabled(fn (Server $server) => $server->allocations->count() <= 1)
->options(fn (Server $server) => $server->allocations->mapWithKeys(fn ($allocation) => [$allocation->id => $allocation->address]))
->selectablePlaceholder(fn (Server $server) => $server->allocations->count() <= 1)
@@ -75,7 +75,7 @@ class ServersRelationManager extends RelationManager
->sortable(),
TextColumn::make('allocation_id_readonly')
->label(trans('admin/server.primary_allocation'))
- ->hidden(fn () => auth()->user()->can('update server')) // TODO: update to policy check (fn (Server $server) --> $server is empty)
+ ->hidden(fn () => user()?->can('update server')) // TODO: update to policy check (fn (Server $server) --> $server is empty)
->state(fn (Server $server) => $server->allocation->address ?? trans('admin/server.none')),
TextColumn::make('databases_count')
->counts('databases')
diff --git a/app/Filament/Admin/Resources/Users/UserResource.php b/app/Filament/Admin/Resources/Users/UserResource.php
index 5f47e128f..7fe225fc1 100644
--- a/app/Filament/Admin/Resources/Users/UserResource.php
+++ b/app/Filament/Admin/Resources/Users/UserResource.php
@@ -61,7 +61,7 @@ class UserResource extends Resource
public static function getNavigationGroup(): ?string
{
- return auth()->user()->getCustomization(CustomizationKey::TopNavigation) ? false : trans('admin/dashboard.user');
+ return user()?->getCustomization(CustomizationKey::TopNavigation) ? false : trans('admin/dashboard.user');
}
public static function getNavigationBadge(): ?string
@@ -110,7 +110,7 @@ class UserResource extends Resource
->hidden(fn ($record) => static::canEdit($record)),
EditAction::make(),
])
- ->checkIfRecordIsSelectableUsing(fn (User $user) => auth()->user()->id !== $user->id && !$user->servers_count)
+ ->checkIfRecordIsSelectableUsing(fn (User $user) => user()?->id !== $user->id && !$user->servers_count)
->groupedBulkActions([
DeleteBulkAction::make(),
]);
diff --git a/app/Filament/App/Resources/Servers/Pages/ListServers.php b/app/Filament/App/Resources/Servers/Pages/ListServers.php
index 4c86174c0..cf59ccf8e 100644
--- a/app/Filament/App/Resources/Servers/Pages/ListServers.php
+++ b/app/Filament/App/Resources/Servers/Pages/ListServers.php
@@ -102,9 +102,9 @@ class ListServers extends ListRecords
public function table(Table $table): Table
{
- $baseQuery = auth()->user()->accessibleServers();
+ $baseQuery = user()?->accessibleServers();
- $usingGrid = auth()->user()->getCustomization(CustomizationKey::DashboardLayout) === 'grid';
+ $usingGrid = user()?->getCustomization(CustomizationKey::DashboardLayout) === 'grid';
return $table
->paginated(false)
@@ -139,9 +139,9 @@ class ListServers extends ListRecords
public function getTabs(): array
{
- $all = auth()->user()->accessibleServers();
- $my = (clone $all)->where('owner_id', auth()->user()->id);
- $other = (clone $all)->whereNot('owner_id', auth()->user()->id);
+ $all = user()?->accessibleServers();
+ $my = (clone $all)->where('owner_id', user()?->id);
+ $other = (clone $all)->whereNot('owner_id', user()?->id);
return [
'my' => Tab::make('my')
@@ -232,21 +232,21 @@ class ListServers extends ListRecords
->label(trans('server/console.power_actions.start'))
->color('primary')
->icon('tabler-player-play-filled')
- ->authorize(fn (Server $server) => auth()->user()->can(Permission::ACTION_CONTROL_START, $server))
+ ->authorize(fn (Server $server) => user()?->can(Permission::ACTION_CONTROL_START, $server))
->visible(fn (Server $server) => $server->retrieveStatus()->isStartable())
->dispatch('powerAction', fn (Server $server) => ['server' => $server, 'action' => 'start']),
Action::make('restart')
->label(trans('server/console.power_actions.restart'))
->color('gray')
->icon('tabler-reload')
- ->authorize(fn (Server $server) => auth()->user()->can(Permission::ACTION_CONTROL_RESTART, $server))
+ ->authorize(fn (Server $server) => user()?->can(Permission::ACTION_CONTROL_RESTART, $server))
->visible(fn (Server $server) => $server->retrieveStatus()->isRestartable())
->dispatch('powerAction', fn (Server $server) => ['server' => $server, 'action' => 'restart']),
Action::make('stop')
->label(trans('server/console.power_actions.stop'))
->color('danger')
->icon('tabler-player-stop-filled')
- ->authorize(fn (Server $server) => auth()->user()->can(Permission::ACTION_CONTROL_STOP, $server))
+ ->authorize(fn (Server $server) => user()?->can(Permission::ACTION_CONTROL_STOP, $server))
->visible(fn (Server $server) => $server->retrieveStatus()->isStoppable() && !$server->retrieveStatus()->isKillable())
->dispatch('powerAction', fn (Server $server) => ['server' => $server, 'action' => 'stop']),
Action::make('kill')
@@ -254,7 +254,7 @@ class ListServers extends ListRecords
->color('danger')
->icon('tabler-alert-square')
->tooltip(trans('server/console.power_actions.kill_tooltip'))
- ->authorize(fn (Server $server) => auth()->user()->can(Permission::ACTION_CONTROL_STOP, $server))
+ ->authorize(fn (Server $server) => user()?->can(Permission::ACTION_CONTROL_STOP, $server))
->visible(fn (Server $server) => $server->retrieveStatus()->isKillable())
->dispatch('powerAction', fn (Server $server) => ['server' => $server, 'action' => 'kill']),
])
diff --git a/app/Filament/Components/Actions/ExportEggAction.php b/app/Filament/Components/Actions/ExportEggAction.php
index ad3d8a81b..0f5221d2c 100644
--- a/app/Filament/Components/Actions/ExportEggAction.php
+++ b/app/Filament/Components/Actions/ExportEggAction.php
@@ -24,7 +24,7 @@ class ExportEggAction extends Action
$this->tableIcon('tabler-download');
- $this->authorize(fn () => auth()->user()->can('export egg'));
+ $this->authorize(fn () => user()?->can('export egg'));
$this->modalHeading(fn (Egg $egg) => trans('filament-actions::export.modal.actions.export.label') . ' ' . $egg->name);
diff --git a/app/Filament/Components/Actions/ExportScheduleAction.php b/app/Filament/Components/Actions/ExportScheduleAction.php
index f2e085cc3..6e461767b 100644
--- a/app/Filament/Components/Actions/ExportScheduleAction.php
+++ b/app/Filament/Components/Actions/ExportScheduleAction.php
@@ -25,7 +25,7 @@ class ExportScheduleAction extends Action
$this->label(trans('filament-actions::export.modal.actions.export.label'));
- $this->authorize(fn () => auth()->user()->can(Permission::ACTION_SCHEDULE_READ, $server));
+ $this->authorize(fn () => user()?->can(Permission::ACTION_SCHEDULE_READ, $server));
$this->action(fn (ScheduleExporterService $service, Schedule $schedule) => response()->streamDownload(function () use ($service, $schedule) {
echo $service->handle($schedule);
diff --git a/app/Filament/Components/Actions/ImportEggAction.php b/app/Filament/Components/Actions/ImportEggAction.php
index 77a156d57..77a65c2e7 100644
--- a/app/Filament/Components/Actions/ImportEggAction.php
+++ b/app/Filament/Components/Actions/ImportEggAction.php
@@ -35,7 +35,7 @@ class ImportEggAction extends Action
$this->label(trans('filament-actions::import.modal.actions.import.label'));
- $this->authorize(fn () => auth()->user()->can('import egg'));
+ $this->authorize(fn () => user()?->can('import egg'));
$this->action(function (array $data, EggImporterService $eggImportService): void {
$eggs = array_merge(collect($data['urls'])->flatten()->whereNotNull()->unique()->all(), Arr::wrap($data['files']));
diff --git a/app/Filament/Components/Actions/ImportScheduleAction.php b/app/Filament/Components/Actions/ImportScheduleAction.php
index 45e0b5ca5..ce579a8d9 100644
--- a/app/Filament/Components/Actions/ImportScheduleAction.php
+++ b/app/Filament/Components/Actions/ImportScheduleAction.php
@@ -33,7 +33,7 @@ class ImportScheduleAction extends Action
$this->label(trans('filament-actions::import.modal.actions.import.label'));
- $this->authorize(fn () => auth()->user()->can(Permission::ACTION_SCHEDULE_CREATE, $server));
+ $this->authorize(fn () => user()?->can(Permission::ACTION_SCHEDULE_CREATE, $server));
$this->schema([
Tabs::make('Tabs')
diff --git a/app/Filament/Components/Actions/RotateDatabasePasswordAction.php b/app/Filament/Components/Actions/RotateDatabasePasswordAction.php
index bd11259b8..750b69dba 100644
--- a/app/Filament/Components/Actions/RotateDatabasePasswordAction.php
+++ b/app/Filament/Components/Actions/RotateDatabasePasswordAction.php
@@ -26,7 +26,7 @@ class RotateDatabasePasswordAction extends Action
$this->icon('tabler-refresh');
- $this->authorize(fn (Database $database) => auth()->user()->can('update', $database));
+ $this->authorize(fn (Database $database) => user()?->can('update', $database));
$this->modalHeading(trans('admin/databasehost.rotate_password'));
@@ -56,7 +56,7 @@ class RotateDatabasePasswordAction extends Action
} catch (Exception $exception) {
Notification::make()
->title(trans('admin/databasehost.rotate_error'))
- ->body(fn () => auth()->user()->canAccessPanel(Filament::getPanel('admin')) ? $exception->getMessage() : null)
+ ->body(fn () => user()?->canAccessPanel(Filament::getPanel('admin')) ? $exception->getMessage() : null)
->danger()
->send();
diff --git a/app/Filament/Components/Actions/UpdateEggAction.php b/app/Filament/Components/Actions/UpdateEggAction.php
index 4fb57d101..5f126abf1 100644
--- a/app/Filament/Components/Actions/UpdateEggAction.php
+++ b/app/Filament/Components/Actions/UpdateEggAction.php
@@ -59,7 +59,7 @@ class UpdateEggAction extends Action
->send();
});
- $this->authorize(fn () => auth()->user()->can('import egg'));
+ $this->authorize(fn () => user()?->can('import egg'));
$this->visible(fn (Egg $egg) => cache()->get("eggs.$egg->uuid.update", false));
}
diff --git a/app/Filament/Components/Actions/UpdateEggBulkAction.php b/app/Filament/Components/Actions/UpdateEggBulkAction.php
index 43da6afd4..d2d26a32c 100644
--- a/app/Filament/Components/Actions/UpdateEggBulkAction.php
+++ b/app/Filament/Components/Actions/UpdateEggBulkAction.php
@@ -73,7 +73,7 @@ class UpdateEggBulkAction extends BulkAction
->send();
});
- $this->authorize(fn () => auth()->user()->can('import egg'));
+ $this->authorize(fn () => user()?->can('import egg'));
$this->deselectRecordsAfterCompletion();
}
diff --git a/app/Filament/Components/Tables/Columns/DateTimeColumn.php b/app/Filament/Components/Tables/Columns/DateTimeColumn.php
index 0677466e9..7895e652e 100644
--- a/app/Filament/Components/Tables/Columns/DateTimeColumn.php
+++ b/app/Filament/Components/Tables/Columns/DateTimeColumn.php
@@ -24,6 +24,6 @@ class DateTimeColumn extends TextColumn
public function getTimezone(): string
{
- return auth()->user()->timezone ?? config('app.timezone', 'UTC');
+ return user()->timezone ?? config('app.timezone', 'UTC');
}
}
diff --git a/app/Filament/Pages/Auth/EditProfile.php b/app/Filament/Pages/Auth/EditProfile.php
index 999628ef6..7b6a81aea 100644
--- a/app/Filament/Pages/Auth/EditProfile.php
+++ b/app/Filament/Pages/Auth/EditProfile.php
@@ -181,10 +181,10 @@ class EditProfile extends BaseEditProfile
->color(Color::hex($schema->getHexColor()))
->action(function (UserUpdateService $updateService) use ($id, $name, $unlink) {
if ($unlink) {
- $oauth = auth()->user()->oauth;
+ $oauth = user()?->oauth;
unset($oauth[$id]);
- $updateService->handle(auth()->user(), ['oauth' => $oauth]);
+ $updateService->handle(user(), ['oauth' => $oauth]);
$this->fillForm();
diff --git a/app/Filament/Server/Pages/Console.php b/app/Filament/Server/Pages/Console.php
index d0c60d13b..4f454dfe1 100644
--- a/app/Filament/Server/Pages/Console.php
+++ b/app/Filament/Server/Pages/Console.php
@@ -87,7 +87,7 @@ class Console extends Page
{
return [
'server' => Filament::getTenant(),
- 'user' => auth()->user(),
+ 'user' => user(),
];
}
@@ -164,7 +164,7 @@ class Console extends Page
->label(trans('server/console.power_actions.start'))
->color('primary')
->icon('tabler-player-play-filled')
- ->authorize(fn (Server $server) => auth()->user()->can(Permission::ACTION_CONTROL_START, $server))
+ ->authorize(fn (Server $server) => user()?->can(Permission::ACTION_CONTROL_START, $server))
->disabled(fn (Server $server) => $server->isInConflictState() || !$this->status->isStartable())
->action(fn (Server $server) => $this->dispatch('setServerState', uuid: $server->uuid, state: 'start'))
->size(Size::ExtraLarge),
@@ -172,7 +172,7 @@ class Console extends Page
->label(trans('server/console.power_actions.restart'))
->color('gray')
->icon('tabler-reload')
- ->authorize(fn (Server $server) => auth()->user()->can(Permission::ACTION_CONTROL_RESTART, $server))
+ ->authorize(fn (Server $server) => user()?->can(Permission::ACTION_CONTROL_RESTART, $server))
->disabled(fn (Server $server) => $server->isInConflictState() || !$this->status->isRestartable())
->action(fn (Server $server) => $this->dispatch('setServerState', uuid: $server->uuid, state: 'restart'))
->size(Size::ExtraLarge),
@@ -180,7 +180,7 @@ class Console extends Page
->label(trans('server/console.power_actions.stop'))
->color('danger')
->icon('tabler-player-stop-filled')
- ->authorize(fn (Server $server) => auth()->user()->can(Permission::ACTION_CONTROL_STOP, $server))
+ ->authorize(fn (Server $server) => user()?->can(Permission::ACTION_CONTROL_STOP, $server))
->visible(fn () => !$this->status->isKillable())
->disabled(fn (Server $server) => $server->isInConflictState() || !$this->status->isStoppable())
->action(fn (Server $server) => $this->dispatch('setServerState', uuid: $server->uuid, state: 'stop'))
@@ -191,7 +191,7 @@ class Console extends Page
->icon('tabler-alert-square')
->tooltip(trans('server/console.power_actions.kill_tooltip'))
->requiresConfirmation()
- ->authorize(fn (Server $server) => auth()->user()->can(Permission::ACTION_CONTROL_STOP, $server))
+ ->authorize(fn (Server $server) => user()?->can(Permission::ACTION_CONTROL_STOP, $server))
->visible(fn () => $this->status->isKillable())
->disabled(fn (Server $server) => $server->isInConflictState() || !$this->status->isKillable())
->action(fn (Server $server) => $this->dispatch('setServerState', uuid: $server->uuid, state: 'kill'))
diff --git a/app/Filament/Server/Pages/Settings.php b/app/Filament/Server/Pages/Settings.php
index a95ddd25c..a917e411a 100644
--- a/app/Filament/Server/Pages/Settings.php
+++ b/app/Filament/Server/Pages/Settings.php
@@ -51,7 +51,7 @@ class Settings extends ServerFormPage
->schema([
TextInput::make('name')
->label(trans('server/setting.server_info.name'))
- ->disabled(fn (Server $server) => !auth()->user()->can(Permission::ACTION_SETTINGS_RENAME, $server))
+ ->disabled(fn (Server $server) => !user()?->can(Permission::ACTION_SETTINGS_RENAME, $server))
->required()
->columnSpan([
'default' => 1,
@@ -64,7 +64,7 @@ class Settings extends ServerFormPage
Textarea::make('description')
->label(trans('server/setting.server_info.description'))
->hidden(!config('panel.editable_server_descriptions'))
- ->disabled(fn (Server $server) => !auth()->user()->can(Permission::ACTION_SETTINGS_RENAME, $server))
+ ->disabled(fn (Server $server) => !user()?->can(Permission::ACTION_SETTINGS_RENAME, $server))
->columnSpan([
'default' => 1,
'sm' => 2,
@@ -153,7 +153,7 @@ class Settings extends ServerFormPage
]),
Fieldset::make(trans('server/setting.server_info.sftp.title'))
->columnSpanFull()
- ->hidden(fn (Server $server) => !auth()->user()->can(Permission::ACTION_FILE_SFTP, $server))
+ ->hidden(fn (Server $server) => !user()?->can(Permission::ACTION_FILE_SFTP, $server))
->columns([
'default' => 1,
'sm' => 1,
@@ -174,20 +174,20 @@ class Settings extends ServerFormPage
->url(function (Server $server) {
$fqdn = $server->node->daemon_sftp_alias ?? $server->node->fqdn;
- return 'sftp://' . rawurlencode(auth()->user()->username) . '.' . $server->uuid_short . '@' . $fqdn . ':' . $server->node->daemon_sftp;
+ return 'sftp://' . rawurlencode(user()?->username) . '.' . $server->uuid_short . '@' . $fqdn . ':' . $server->node->daemon_sftp;
}),
)
->formatStateUsing(function (Server $server) {
$fqdn = $server->node->daemon_sftp_alias ?? $server->node->fqdn;
- return 'sftp://' . rawurlencode(auth()->user()->username) . '.' . $server->uuid_short . '@' . $fqdn . ':' . $server->node->daemon_sftp;
+ return 'sftp://' . rawurlencode(user()?->username) . '.' . $server->uuid_short . '@' . $fqdn . ':' . $server->node->daemon_sftp;
}),
TextInput::make('username')
->label(trans('server/setting.server_info.sftp.username'))
->columnSpan(1)
->copyable()
->disabled()
- ->formatStateUsing(fn (Server $server) => auth()->user()->username . '.' . $server->uuid_short),
+ ->formatStateUsing(fn (Server $server) => user()?->username . '.' . $server->uuid_short),
TextEntry::make('password')
->label(trans('server/setting.server_info.sftp.password'))
->columnSpan(1)
@@ -195,19 +195,19 @@ class Settings extends ServerFormPage
]),
]),
Section::make(trans('server/setting.reinstall.title'))
- ->hidden(fn (Server $server) => !auth()->user()->can(Permission::ACTION_SETTINGS_REINSTALL, $server))
+ ->hidden(fn (Server $server) => !user()?->can(Permission::ACTION_SETTINGS_REINSTALL, $server))
->columnSpanFull()
->footerActions([
Action::make('reinstall')
->label(trans('server/setting.reinstall.action'))
->color('danger')
- ->disabled(fn (Server $server) => !auth()->user()->can(Permission::ACTION_SETTINGS_REINSTALL, $server))
+ ->disabled(fn (Server $server) => !user()?->can(Permission::ACTION_SETTINGS_REINSTALL, $server))
->requiresConfirmation()
->modalHeading(trans('server/setting.reinstall.modal'))
->modalDescription(trans('server/setting.reinstall.modal_description'))
->modalSubmitActionLabel(trans('server/setting.reinstall.yes'))
->action(function (Server $server, ReinstallServerService $reinstallService) {
- abort_unless(auth()->user()->can(Permission::ACTION_SETTINGS_REINSTALL, $server), 403);
+ abort_unless(user()?->can(Permission::ACTION_SETTINGS_REINSTALL, $server), 403);
try {
$reinstallService->handle($server);
@@ -246,7 +246,7 @@ class Settings extends ServerFormPage
public function updateName(string $name, Server $server): void
{
- abort_unless(auth()->user()->can(Permission::ACTION_SETTINGS_RENAME, $server), 403);
+ abort_unless(user()?->can(Permission::ACTION_SETTINGS_RENAME, $server), 403);
$original = $server->name;
@@ -277,7 +277,7 @@ class Settings extends ServerFormPage
public function updateDescription(string $description, Server $server): void
{
- abort_unless(auth()->user()->can(Permission::ACTION_SETTINGS_RENAME, $server) && config('panel.editable_server_descriptions'), 403);
+ abort_unless(user()?->can(Permission::ACTION_SETTINGS_RENAME, $server) && config('panel.editable_server_descriptions'), 403);
$original = $server->description;
diff --git a/app/Filament/Server/Pages/Startup.php b/app/Filament/Server/Pages/Startup.php
index 6464eb175..887d0feda 100644
--- a/app/Filament/Server/Pages/Startup.php
+++ b/app/Filament/Server/Pages/Startup.php
@@ -68,7 +68,7 @@ class Startup extends ServerFormPage
->label(trans('server/startup.docker_image'))
->live()
->visible(fn (Server $server) => in_array($server->image, $server->egg->docker_images))
- ->disabled(fn (Server $server) => !auth()->user()->can(Permission::ACTION_STARTUP_DOCKER_IMAGE, $server))
+ ->disabled(fn (Server $server) => !user()?->can(Permission::ACTION_STARTUP_DOCKER_IMAGE, $server))
->afterStateUpdated(function ($state, Server $server) {
$original = $server->image;
$server->forceFill(['image' => $state])->saveOrFail();
@@ -108,7 +108,7 @@ class Startup extends ServerFormPage
return $query->where('egg_variables.user_viewable', true)->orderByPowerJoins('variable.sort');
})
->grid()
- ->disabled(fn (Server $server) => !auth()->user()->can(Permission::ACTION_STARTUP_UPDATE, $server))
+ ->disabled(fn (Server $server) => !user()?->can(Permission::ACTION_STARTUP_UPDATE, $server))
->reorderable(false)->addable(false)->deletable(false)
->schema([
StartupVariable::make('variable_value')
@@ -124,12 +124,12 @@ class Startup extends ServerFormPage
protected function authorizeAccess(): void
{
- abort_unless(auth()->user()->can(Permission::ACTION_STARTUP_READ, Filament::getTenant()), 403);
+ abort_unless(user()?->can(Permission::ACTION_STARTUP_READ, Filament::getTenant()), 403);
}
public static function canAccess(): bool
{
- return parent::canAccess() && auth()->user()->can(Permission::ACTION_STARTUP_READ, Filament::getTenant());
+ return parent::canAccess() && user()?->can(Permission::ACTION_STARTUP_READ, Filament::getTenant());
}
public function update(?string $state, ServerVariable $serverVariable): null
diff --git a/app/Filament/Server/Resources/Activities/ActivityResource.php b/app/Filament/Server/Resources/Activities/ActivityResource.php
index f321c1af4..30dd56bfd 100644
--- a/app/Filament/Server/Resources/Activities/ActivityResource.php
+++ b/app/Filament/Server/Resources/Activities/ActivityResource.php
@@ -73,14 +73,14 @@ class ActivityResource extends Resource
$user = $activityLog->actor->username;
// Only show the email if the actor is the server owner/ a subuser or if the viewing user is an admin
- if (auth()->user()->isAdmin() || $server->owner_id === $activityLog->actor->id || $server->subusers->where('user_id', $activityLog->actor->id)->first()) {
+ if (user()?->isAdmin() || $server->owner_id === $activityLog->actor->id || $server->subusers->where('user_id', $activityLog->actor->id)->first()) {
$user .= " ({$activityLog->actor->email})";
}
return $user;
})
- ->tooltip(fn (ActivityLog $activityLog) => auth()->user()->can('seeIps activityLog') ? $activityLog->ip : '')
- ->url(fn (ActivityLog $activityLog) => $activityLog->actor instanceof User && auth()->user()->can('update', $activityLog->actor) ? EditUser::getUrl(['record' => $activityLog->actor], panel: 'admin') : '')
+ ->tooltip(fn (ActivityLog $activityLog) => user()?->can('seeIps activityLog') ? $activityLog->ip : '')
+ ->url(fn (ActivityLog $activityLog) => $activityLog->actor instanceof User && user()?->can('update', $activityLog->actor) ? EditUser::getUrl(['record' => $activityLog->actor], panel: 'admin') : '')
->grow(false),
DateTimeColumn::make('timestamp')
->label(trans('server/activity.timestamp'))
@@ -106,11 +106,11 @@ class ActivityResource extends Resource
$user = $activityLog->actor->username;
// Only show the email if the actor is the server owner/ a subuser or if the viewing user is an admin
- if (auth()->user()->isAdmin() || $server->owner_id === $activityLog->actor->id || $server->subusers->where('user_id', $activityLog->actor->id)->first()) {
+ if (user()?->isAdmin() || $server->owner_id === $activityLog->actor->id || $server->subusers->where('user_id', $activityLog->actor->id)->first()) {
$user .= " ({$activityLog->actor->email})";
}
- if (auth()->user()->can('seeIps activityLog')) {
+ if (user()?->can('seeIps activityLog')) {
$user .= " - $activityLog->ip";
}
@@ -120,7 +120,7 @@ class ActivityResource extends Resource
Action::make('edit')
->label(trans('filament-actions::edit.single.label'))
->icon('tabler-edit')
- ->visible(fn (ActivityLog $activityLog) => $activityLog->actor instanceof User && auth()->user()->can('update', $activityLog->actor))
+ ->visible(fn (ActivityLog $activityLog) => $activityLog->actor instanceof User && user()?->can('update', $activityLog->actor))
->url(fn (ActivityLog $activityLog) => EditUser::getUrl(['record' => $activityLog->actor], panel: 'admin'))
),
DateTimePicker::make('timestamp')
@@ -166,7 +166,7 @@ class ActivityResource extends Resource
public static function canViewAny(): bool
{
- return auth()->user()->can(Permission::ACTION_ACTIVITY_READ, Filament::getTenant());
+ return user()?->can(Permission::ACTION_ACTIVITY_READ, Filament::getTenant());
}
/** @return array
' . trans('server/schedule.cron_timezone', ['timezone' => auth()->user()->timezone, 'next_run' => $nextRun]));
+ return new HtmlString(trans('server/schedule.cron_body') . '
' . trans('server/schedule.cron_timezone', ['timezone' => user()->timezone ?? 'UTC', 'next_run' => $nextRun]));
})
->schema([
Actions::make([
diff --git a/app/Filament/Server/Resources/Users/UserResource.php b/app/Filament/Server/Resources/Users/UserResource.php
index 069181357..4b5d98ff6 100644
--- a/app/Filament/Server/Resources/Users/UserResource.php
+++ b/app/Filament/Server/Resources/Users/UserResource.php
@@ -65,22 +65,22 @@ class UserResource extends Resource
public static function canViewAny(): bool
{
- return auth()->user()->can(Permission::ACTION_USER_READ, Filament::getTenant());
+ return user()?->can(Permission::ACTION_USER_READ, Filament::getTenant());
}
public static function canCreate(): bool
{
- return auth()->user()->can(Permission::ACTION_USER_CREATE, Filament::getTenant());
+ return user()?->can(Permission::ACTION_USER_CREATE, Filament::getTenant());
}
public static function canEdit(Model $record): bool
{
- return auth()->user()->can(Permission::ACTION_USER_UPDATE, Filament::getTenant());
+ return user()?->can(Permission::ACTION_USER_UPDATE, Filament::getTenant());
}
public static function canDelete(Model $record): bool
{
- return auth()->user()->can(Permission::ACTION_USER_DELETE, Filament::getTenant());
+ return user()?->can(Permission::ACTION_USER_DELETE, Filament::getTenant());
}
public static function defaultTable(Table $table): Table
@@ -139,7 +139,7 @@ class UserResource extends Resource
->recordActions([
DeleteAction::make()
->label(trans('server/user.delete'))
- ->hidden(fn (User $user) => auth()->user()->id === $user->id)
+ ->hidden(fn (User $user) => user()?->id === $user->id)
->action(function (User $user, SubuserDeletionService $subuserDeletionService) use ($server) {
$subuser = $server->subusers->where('user_id', $user->id)->first();
$subuserDeletionService->handle($subuser, $server);
@@ -151,8 +151,8 @@ class UserResource extends Resource
}),
EditAction::make()
->label(trans('server/user.edit'))
- ->hidden(fn (User $user) => auth()->user()->id === $user->id)
- ->authorize(fn () => auth()->user()->can(Permission::ACTION_USER_UPDATE, $server))
+ ->hidden(fn (User $user) => user()?->id === $user->id)
+ ->authorize(fn () => user()?->can(Permission::ACTION_USER_UPDATE, $server))
->modalHeading(fn (User $user) => trans('server/user.editing', ['user' => $user->email]))
->action(function (array $data, SubuserUpdateService $subuserUpdateService, User $user) use ($server) {
$subuser = $server->subusers->where('user_id', $user->id)->first();
@@ -237,7 +237,7 @@ class UserResource extends Resource
->icon('tabler-user-plus')
->tooltip(trans('server/user.invite_user'))
->createAnother(false)
- ->authorize(fn () => auth()->user()->can(Permission::ACTION_USER_CREATE, $server))
+ ->authorize(fn () => user()?->can(Permission::ACTION_USER_CREATE, $server))
->schema([
Grid::make()
->columnSpanFull()
diff --git a/app/Filament/Server/Widgets/ServerCpuChart.php b/app/Filament/Server/Widgets/ServerCpuChart.php
index 7d90f06e4..8b0f0c36b 100644
--- a/app/Filament/Server/Widgets/ServerCpuChart.php
+++ b/app/Filament/Server/Widgets/ServerCpuChart.php
@@ -27,12 +27,12 @@ class ServerCpuChart extends ChartWidget
protected function getData(): array
{
- $period = (int) auth()->user()->getCustomization(CustomizationKey::ConsoleGraphPeriod);
+ $period = (int) user()?->getCustomization(CustomizationKey::ConsoleGraphPeriod);
$cpu = collect(cache()->get("servers.{$this->server->id}.cpu_absolute"))
->slice(-$period)
->map(fn ($value, $key) => [
'cpu' => round($value, 2),
- 'timestamp' => Carbon::createFromTimestamp($key, auth()->user()->timezone ?? 'UTC')->format('H:i:s'),
+ 'timestamp' => Carbon::createFromTimestamp($key, user()->timezone ?? 'UTC')->format('H:i:s'),
])
->all();
@@ -48,7 +48,7 @@ class ServerCpuChart extends ChartWidget
],
],
'labels' => array_column($cpu, 'timestamp'),
- 'locale' => auth()->user()->language ?? 'en',
+ 'locale' => user()->language ?? 'en',
];
}
diff --git a/app/Filament/Server/Widgets/ServerMemoryChart.php b/app/Filament/Server/Widgets/ServerMemoryChart.php
index b53f0f303..5fb787e9a 100644
--- a/app/Filament/Server/Widgets/ServerMemoryChart.php
+++ b/app/Filament/Server/Widgets/ServerMemoryChart.php
@@ -27,12 +27,12 @@ class ServerMemoryChart extends ChartWidget
protected function getData(): array
{
- $period = (int) auth()->user()->getCustomization(CustomizationKey::ConsoleGraphPeriod);
+ $period = (int) user()?->getCustomization(CustomizationKey::ConsoleGraphPeriod);
$memUsed = collect(cache()->get("servers.{$this->server->id}.memory_bytes"))
->slice(-$period)
->map(fn ($value, $key) => [
'memory' => round(config('panel.use_binary_prefix') ? $value / 1024 / 1024 / 1024 : $value / 1000 / 1000 / 1000, 2),
- 'timestamp' => Carbon::createFromTimestamp($key, auth()->user()->timezone ?? 'UTC')->format('H:i:s'),
+ 'timestamp' => Carbon::createFromTimestamp($key, user()->timezone ?? 'UTC')->format('H:i:s'),
])
->all();
@@ -48,7 +48,7 @@ class ServerMemoryChart extends ChartWidget
],
],
'labels' => array_column($memUsed, 'timestamp'),
- 'locale' => auth()->user()->language ?? 'en',
+ 'locale' => user()->language ?? 'en',
];
}
diff --git a/app/Filament/Server/Widgets/ServerNetworkChart.php b/app/Filament/Server/Widgets/ServerNetworkChart.php
index c80b89592..10d0cc632 100644
--- a/app/Filament/Server/Widgets/ServerNetworkChart.php
+++ b/app/Filament/Server/Widgets/ServerNetworkChart.php
@@ -29,7 +29,7 @@ class ServerNetworkChart extends ChartWidget
{
$previous = null;
- $period = (int) auth()->user()->getCustomization(CustomizationKey::ConsoleGraphPeriod);
+ $period = (int) user()?->getCustomization(CustomizationKey::ConsoleGraphPeriod);
$net = collect(cache()->get("servers.{$this->server->id}.network"))
->slice(-$period)
->map(function ($current, $timestamp) use (&$previous) {
@@ -39,7 +39,7 @@ class ServerNetworkChart extends ChartWidget
$net = [
'rx' => max(0, $current->rx_bytes - $previous->rx_bytes),
'tx' => max(0, $current->tx_bytes - $previous->tx_bytes),
- 'timestamp' => Carbon::createFromTimestamp($timestamp, auth()->user()->timezone ?? 'UTC')->format('H:i:s'),
+ 'timestamp' => Carbon::createFromTimestamp($timestamp, user()->timezone ?? 'UTC')->format('H:i:s'),
];
}
diff --git a/app/Providers/Filament/AppPanelProvider.php b/app/Providers/Filament/AppPanelProvider.php
index 8f4d56dd0..b37e65619 100644
--- a/app/Providers/Filament/AppPanelProvider.php
+++ b/app/Providers/Filament/AppPanelProvider.php
@@ -20,7 +20,7 @@ class AppPanelProvider extends PanelProvider
->label(trans('profile.admin'))
->url(fn () => Filament::getPanel('admin')->getUrl())
->icon('tabler-arrow-forward')
- ->visible(fn () => auth()->user()->canAccessPanel(Filament::getPanel('admin'))),
+ ->visible(fn () => user()?->canAccessPanel(Filament::getPanel('admin'))),
])
->discoverResources(in: app_path('Filament/App/Resources'), for: 'App\\Filament\\App\\Resources');
}
diff --git a/app/Providers/Filament/PanelProvider.php b/app/Providers/Filament/PanelProvider.php
index 6b9a8b60c..ba31f5935 100644
--- a/app/Providers/Filament/PanelProvider.php
+++ b/app/Providers/Filament/PanelProvider.php
@@ -34,7 +34,7 @@ abstract class PanelProvider extends BasePanelProvider
->brandLogo(config('app.logo'))
->brandLogoHeight('2rem')
->favicon(config('app.favicon', '/pelican.ico'))
- ->topNavigation(fn () => auth()->user()->getCustomization(CustomizationKey::TopNavigation))
+ ->topNavigation(fn () => user()?->getCustomization(CustomizationKey::TopNavigation))
->maxContentWidth(config('panel.filament.display-width', 'screen-2xl'))
->profile(EditProfile::class, false)
->userMenuItems([
@@ -48,8 +48,7 @@ abstract class PanelProvider extends BasePanelProvider
EmailAuthentication::make(),
])
->requiresMultiFactorAuthentication(function () {
- /** @var ?User $user */
- $user = auth()->user(); // TODO: get user, see https://github.com/filamentphp/filament/discussions/17695
+ $user = user(); // TODO: get user, see https://github.com/filamentphp/filament/discussions/17695
if ($user) {
$level = (int) config('panel.auth.2fa_required');
diff --git a/app/Providers/Filament/ServerPanelProvider.php b/app/Providers/Filament/ServerPanelProvider.php
index 67d285fcf..25221e89c 100644
--- a/app/Providers/Filament/ServerPanelProvider.php
+++ b/app/Providers/Filament/ServerPanelProvider.php
@@ -29,12 +29,12 @@ class ServerPanelProvider extends PanelProvider
->label(trans('profile.admin'))
->icon('tabler-arrow-forward')
->url(fn () => Filament::getPanel('admin')->getUrl())
- ->visible(fn () => auth()->user()->canAccessPanel(Filament::getPanel('admin'))),
+ ->visible(fn () => user()?->canAccessPanel(Filament::getPanel('admin'))),
])
->navigationItems([
NavigationItem::make(trans('server/console.open_in_admin'))
->url(fn () => EditServer::getUrl(['record' => Filament::getTenant()], panel: 'admin'))
- ->visible(fn () => auth()->user()->canAccessPanel(Filament::getPanel('admin')) && auth()->user()->can('view server', Filament::getTenant()))
+ ->visible(fn () => user()?->canAccessPanel(Filament::getPanel('admin')) && user()->can('view server', Filament::getTenant()))
->icon('tabler-arrow-back')
->sort(99),
])
diff --git a/app/Services/Subusers/SubuserCreationService.php b/app/Services/Subusers/SubuserCreationService.php
index c3189a40d..81c41a7d8 100644
--- a/app/Services/Subusers/SubuserCreationService.php
+++ b/app/Services/Subusers/SubuserCreationService.php
@@ -58,7 +58,7 @@ class SubuserCreationService
$cleanedPermissions = collect($permissions)
->unique()
- ->filter(fn ($permission) => $permission === Permission::ACTION_WEBSOCKET_CONNECT || auth()->user()->can($permission, $server))
+ ->filter(fn ($permission) => $permission === Permission::ACTION_WEBSOCKET_CONNECT || user()?->can($permission, $server))
->sort()
->values()
->all();
diff --git a/app/Services/Subusers/SubuserUpdateService.php b/app/Services/Subusers/SubuserUpdateService.php
index a5a53d91e..9a8aa7961 100644
--- a/app/Services/Subusers/SubuserUpdateService.php
+++ b/app/Services/Subusers/SubuserUpdateService.php
@@ -22,7 +22,7 @@ class SubuserUpdateService
{
$cleanedPermissions = collect($permissions)
->unique()
- ->filter(fn ($permission) => $permission === Permission::ACTION_WEBSOCKET_CONNECT || auth()->user()->can($permission, $server))
+ ->filter(fn ($permission) => $permission === Permission::ACTION_WEBSOCKET_CONNECT || user()?->can($permission, $server))
->sort()
->values()
->all();
diff --git a/app/helpers.php b/app/helpers.php
index 241a116ac..9fa2ec051 100644
--- a/app/helpers.php
+++ b/app/helpers.php
@@ -108,7 +108,7 @@ if (!function_exists('format_number')) {
function format_number(int|float $number, ?int $precision = null, ?int $maxPrecision = null): false|string
{
try {
- return Number::format($number, $precision, $maxPrecision, auth()->user()->language ?? 'en');
+ return Number::format($number, $precision, $maxPrecision, user()->language ?? 'en');
} catch (Throwable) {
// User language is invalid, so default to english
return Number::format($number, $precision, $maxPrecision, 'en');
@@ -122,3 +122,10 @@ if (!function_exists('encode_path')) {
return implode('/', array_map('rawurlencode', explode('/', $path)));
}
}
+
+if (!function_exists('user')) {
+ function user(): ?App\Models\User
+ {
+ return auth(config('auth.defaults.guard', 'web'))->user();
+ }
+}
diff --git a/resources/views/errors/500.blade.php b/resources/views/errors/500.blade.php
index cbb68a08d..b3f749245 100644
--- a/resources/views/errors/500.blade.php
+++ b/resources/views/errors/500.blade.php
@@ -1,7 +1,7 @@
@props([
'code' => '500',
'title' => 'Server Error',
-'subtitle' => fn () => auth()->user()?->isRootAdmin() ? $exception->getMessage() : 'Something went wrong.',
+'subtitle' => fn () => user()?->isRootAdmin() ? $exception->getMessage() : 'Something went wrong.',
'icon' => 'tabler-bug'
])
diff --git a/resources/views/filament/components/server-console.blade.php b/resources/views/filament/components/server-console.blade.php
index ede21e698..c931b9f28 100644
--- a/resources/views/filament/components/server-console.blade.php
+++ b/resources/views/filament/components/server-console.blade.php
@@ -1,9 +1,9 @@