Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 51s
## Summary - decommission the legacy findings lifecycle backfill substrate across command, job, service, and UI layers - remove related platform capabilities, operation catalog entries, and action surface exemptions - add regression and removal verification tests to ensure runtime integrity and surface absence - include spec, plan, tasks, and data-model artifacts for the removal slice ## Scope - active spec: specs/253-remove-findings-backfill-runtime-surfaces - target branch: dev ## Validation - integrated regression and removal verification tests for console, findings, and system ops surfaces - audit log and capability trace verification for the removal path Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #294
85 lines
3.1 KiB
PHP
85 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace App\Providers\Filament;
|
|
|
|
use App\Filament\System\Pages\Auth\Login;
|
|
use App\Filament\System\Pages\Dashboard;
|
|
use App\Http\Middleware\UseSystemSessionCookie;
|
|
use App\Support\Auth\PlatformCapabilities;
|
|
use App\Support\Filament\PanelThemeAsset;
|
|
use Filament\FontProviders\LocalFontProvider;
|
|
use Filament\Http\Middleware\Authenticate;
|
|
use Filament\Http\Middleware\AuthenticateSession;
|
|
use Filament\Http\Middleware\DisableBladeIconComponents;
|
|
use Filament\Http\Middleware\DispatchServingFilamentEvent;
|
|
use Filament\Panel;
|
|
use Filament\PanelProvider;
|
|
use Filament\Support\Colors\Color;
|
|
use Filament\View\PanelsRenderHook;
|
|
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
|
|
use Illuminate\Cookie\Middleware\EncryptCookies;
|
|
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
|
|
use Illuminate\Routing\Middleware\SubstituteBindings;
|
|
use Illuminate\Session\Middleware\StartSession;
|
|
use Illuminate\View\Middleware\ShareErrorsFromSession;
|
|
|
|
class SystemPanelProvider extends PanelProvider
|
|
{
|
|
public function panel(Panel $panel): Panel
|
|
{
|
|
$panel = $panel
|
|
->id('system')
|
|
->path('system')
|
|
->authGuard('platform')
|
|
->login(Login::class)
|
|
->font(null, provider: LocalFontProvider::class, preload: [])
|
|
->colors([
|
|
'primary' => Color::Blue,
|
|
])
|
|
->databaseNotifications(isLazy: false)
|
|
->databaseNotificationsPolling(null)
|
|
->renderHook(
|
|
PanelsRenderHook::BODY_START,
|
|
fn () => view('filament.system.components.break-glass-banner')->render(),
|
|
)
|
|
->renderHook(
|
|
PanelsRenderHook::TOPBAR_START,
|
|
fn () => view('filament.partials.locale-switcher', [
|
|
'plane' => 'system',
|
|
'showPreference' => false,
|
|
'embedded' => false,
|
|
])->render(),
|
|
)
|
|
->discoverPages(in: app_path('Filament/System/Pages'), for: 'App\\Filament\\System\\Pages')
|
|
->pages([
|
|
Dashboard::class,
|
|
])
|
|
->middleware([
|
|
EncryptCookies::class,
|
|
AddQueuedCookiesToResponse::class,
|
|
UseSystemSessionCookie::class,
|
|
StartSession::class,
|
|
AuthenticateSession::class,
|
|
ShareErrorsFromSession::class,
|
|
VerifyCsrfToken::class,
|
|
SubstituteBindings::class,
|
|
'ensure-correct-guard:platform',
|
|
DisableBladeIconComponents::class,
|
|
DispatchServingFilamentEvent::class,
|
|
])
|
|
->middleware(['apply-resolved-locale:system'], isPersistent: true)
|
|
->authMiddleware([
|
|
Authenticate::class,
|
|
'ensure-platform-capability:'.PlatformCapabilities::ACCESS_SYSTEM_PANEL,
|
|
]);
|
|
|
|
$theme = PanelThemeAsset::resolve('resources/css/filament/system/theme.css');
|
|
|
|
if (is_string($theme)) {
|
|
$panel->theme($theme);
|
|
}
|
|
|
|
return $panel;
|
|
}
|
|
}
|