From 88957943935759fd6e2319b21640a760fd6c6e58 Mon Sep 17 00:00:00 2001 From: Kilian Trunk Date: Fri, 26 Sep 2025 14:58:10 +0200 Subject: [PATCH] refactor: migrate to Filament 4 (EC-206) --- config/filament-shield.php | 102 +++++++++++++++++++------------------ public/.gitignore | 1 + tests/Pest.php | 4 +- 3 files changed, 57 insertions(+), 50 deletions(-) diff --git a/config/filament-shield.php b/config/filament-shield.php index 65c1230..b3c6804 100644 --- a/config/filament-shield.php +++ b/config/filament-shield.php @@ -1,29 +1,32 @@ [ - 'should_register_navigation' => true, 'slug' => 'shield/roles', - 'navigation_sort' => -1, - 'navigation_badge' => true, - 'navigation_group' => true, - 'is_globally_searchable' => false, 'show_model_path' => true, - 'is_scoped_to_tenant' => false, 'cluster' => null, + 'tabs' => [ + 'pages' => true, + 'widgets' => true, + 'resources' => true, + 'custom_permissions' => false, + ], ], 'tenant_model' => \Eclipse\Core\Models\Site::class, - 'auth_provider_model' => [ - 'fqcn' => \Eclipse\Core\Models\User::class, - ], + 'auth_provider_model' => \Eclipse\Core\Models\User::class, 'super_admin' => [ 'enabled' => true, 'name' => 'super_admin', 'define_via_gate' => false, - 'intercept_gate' => 'before', // after + 'intercept_gate' => 'before', ], 'panel_user' => [ @@ -31,61 +34,62 @@ 'name' => 'panel_user', ], - 'permission_prefixes' => [ - 'resource' => [ - 'view_any', - 'view', - 'create', - 'update', - 'restore', - 'restore_any', - 'replicate', - 'reorder', - 'delete', - 'delete_any', - 'force_delete', - 'force_delete_any', - ], - - 'page' => 'page', - 'widget' => 'widget', + 'permissions' => [ + 'separator' => '_', + 'case' => 'lower_snake', + 'generate' => true, ], - 'entities' => [ - 'pages' => true, - 'widgets' => true, - 'resources' => true, - 'custom_permissions' => false, + 'policies' => [ + 'path' => app_path('Policies'), + 'merge' => true, + 'generate' => true, + 'methods' => [ + 'viewAny', 'view', 'create', 'update', 'restore', 'restoreAny', + 'replicate', 'reorder', 'delete', 'deleteAny', 'forceDelete', 'forceDeleteAny', + ], + 'single_parameter_methods' => [ + 'viewAny', 'create', 'deleteAny', 'forceDeleteAny', 'restoreAny', 'reorder', + ], ], - 'generator' => [ - 'option' => 'policies_and_permissions', - 'policy_directory' => 'Policies', - 'policy_namespace' => 'Policies', + 'localization' => [ + 'enabled' => false, + 'key' => 'filament-shield::filament-shield', ], - 'exclude' => [ - 'enabled' => true, - - 'pages' => [ - 'Dashboard', + 'resources' => [ + 'subject' => 'model', + 'manage' => [ + RoleResource::class => ['viewAny', 'view', 'create', 'update', 'delete'], ], + 'exclude' => [], + ], - 'widgets' => [ - 'AccountWidget', 'FilamentInfoWidget', + 'pages' => [ + 'subject' => 'class', + 'prefix' => 'view', + 'exclude' => [ + Dashboard::class, ], + ], - 'resources' => [], + 'widgets' => [ + 'subject' => 'class', + 'prefix' => 'view', + 'exclude' => [ + AccountWidget::class, + FilamentInfoWidget::class, + ], ], + 'custom_permissions' => [], + 'discovery' => [ 'discover_all_resources' => false, 'discover_all_widgets' => false, 'discover_all_pages' => false, ], - 'register_role_policy' => [ - 'enabled' => true, - ], - + 'register_role_policy' => true, ]; diff --git a/public/.gitignore b/public/.gitignore index 64baae8..a79151c 100644 --- a/public/.gitignore +++ b/public/.gitignore @@ -4,3 +4,4 @@ hot js/* storage vendor +fonts/* diff --git a/tests/Pest.php b/tests/Pest.php index 60f04a4..3834758 100644 --- a/tests/Pest.php +++ b/tests/Pest.php @@ -1,5 +1,7 @@ extend(Tests\TestCase::class) +pest()->extend(TestCase::class) // ->use(Illuminate\Foundation\Testing\RefreshDatabase::class) ->in('Feature');