Files
breadcrumb-the-shire/modules/audit/pages/audit/system-audit/purge().php
fs c0843b1fca refactor(audit): extract shared page helpers for purge and view actions
Create AuditPageHelper with requirePurgePost() and findOrRedirect()
to eliminate duplicated POST/CSRF guard boilerplate across 4 purge
pages and find-or-redirect boilerplate across 4 view pages. Each page
retains its stream-specific logic (system-audit event recording,
user-lifecycle snapshot/restore).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 12:57:54 +01:00

24 lines
783 B
PHP

<?php
use MintyPHP\Module\Audit\AuditAuthorizationPolicy;
use MintyPHP\Module\Audit\Domain\SystemAuditOutcome;
use MintyPHP\Module\Audit\Service\SystemAuditService;
use MintyPHP\Module\Audit\Support\AuditPageHelper;
use MintyPHP\Router;
use MintyPHP\Support\Flash;
AuditPageHelper::requirePurgePost(
AuditAuthorizationPolicy::ABILITY_SYSTEM_AUDIT_PURGE,
'audit/system-audit',
'system_audit'
);
$service = app(SystemAuditService::class);
$deleted = $service->purgeExpired();
$service->record('admin.system_audit.purge', SystemAuditOutcome::Success->value, [
'metadata' => ['deleted_count' => $deleted],
]);
Flash::success(sprintf(t('%d system audit entries purged'), $deleted), 'audit/system-audit', 'system_audit_purged');
Router::redirect('audit/system-audit');