From 8c88fca2ee0d1cb58aab66a6f2873bc06d62814d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Thu, 26 Feb 2026 14:13:44 +0100 Subject: [PATCH] Add `TriggerAuditInterface` and `TriggerAuditService` to handle audit event triggering - Introduced `TriggerAuditInterface` to define the contract for triggering audit events. - Implemented `TriggerAuditService` to encapsulate audit event creation and persistence logic. - Added methods to handle audit actions with metadata and translatable descriptions. --- .../Audit/TriggerAuditInterface.php | 39 +++++++++++++++ .../Audit/TriggerAuditService.php | 50 +++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 src/Bundle/ChillMainBundle/Audit/TriggerAuditInterface.php create mode 100644 src/Bundle/ChillMainBundle/Audit/TriggerAuditService.php diff --git a/src/Bundle/ChillMainBundle/Audit/TriggerAuditInterface.php b/src/Bundle/ChillMainBundle/Audit/TriggerAuditInterface.php new file mode 100644 index 000000000..a8d05c95c --- /dev/null +++ b/src/Bundle/ChillMainBundle/Audit/TriggerAuditInterface.php @@ -0,0 +1,39 @@ +auditTrailPersister->persistAuditTrail($this->auditEvent2Trail->convertToTrail($event)); + } + + public function __invoke( + string $action, + object $mainSubject, + array $subjects = [], + string|TranslatableInterface $description = '', + array $metadata = [], + ): void { + $this->triggerAudit($action, $mainSubject, $subjects, $description, $metadata); + } +}