fix(audit): harden module isolation and fix post-extraction drift
Fix 5 broken FQCN references (runtime errors) where core pages referenced non-existent MintyPHP\Service\Audit\AuditMetadataEnricher and SystemAuditService. Add AuditMetadataEnricherInterface with NullAuditMetadataEnricher fallback so deactivating the audit module no longer crashes core edit pages. Move audit search resources from core Search*Provider files into the module via a new AuditSearchResourceProvider implementing the existing SearchResourceProvider contract. Add module-specific purge permissions (audit.api.purge, audit.imports.purge) replacing core ABILITY_ADMIN_SETTINGS_UPDATE. Also fixes: session key prefix convention, hardcoded English string, $_SERVER superglobal fallback, and manifest schema drift (i18n_path, group in ui_slots). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -99,10 +99,18 @@ return [
|
||||
'key' => 'audit.system.purge',
|
||||
'description' => 'Purge system audit logs',
|
||||
],
|
||||
[
|
||||
'key' => 'audit.api.purge',
|
||||
'description' => 'Purge API audit logs',
|
||||
],
|
||||
[
|
||||
'key' => 'audit.imports.view',
|
||||
'description' => 'View import audit logs',
|
||||
],
|
||||
[
|
||||
'key' => 'audit.imports.purge',
|
||||
'description' => 'Purge import audit logs',
|
||||
],
|
||||
[
|
||||
'key' => 'audit.user_lifecycle.view',
|
||||
'description' => 'View user lifecycle audit logs',
|
||||
@@ -178,7 +186,9 @@ return [
|
||||
'session_providers' => [],
|
||||
|
||||
'event_listeners' => [],
|
||||
'search_resources' => [],
|
||||
'search_resources' => [
|
||||
\MintyPHP\Module\Audit\Providers\AuditSearchResourceProvider::class,
|
||||
],
|
||||
'asset_groups' => [],
|
||||
'migrations_path' => 'db/updates',
|
||||
'i18n_path' => 'i18n',
|
||||
|
||||
Reference in New Issue
Block a user