diff --git a/database/migrations/2026_07_25_000001_revoke_settings_manage_from_assistente_role.php b/database/migrations/2026_07_25_000001_revoke_settings_manage_from_assistente_role.php new file mode 100644 index 0000000..6b68760 --- /dev/null +++ b/database/migrations/2026_07_25_000001_revoke_settings_manage_from_assistente_role.php @@ -0,0 +1,51 @@ +forgetCachedPermissions(); + + $role = Role::where('name', 'assistente')->first(); + $permission = Permission::where('name', 'settings.manage')->first(); + + if ($role && $permission && $role->hasPermissionTo($permission)) { + $role->revokePermissionTo($permission); + } + + app(PermissionRegistrar::class)->forgetCachedPermissions(); + } + + /** + * Intentionally irreversible. Re-granting settings.manage to the + * assistente role would reintroduce the very ability this migration + * removes, so rolling back must not do it. + */ + public function down(): void + { + // no-op + } +};