src/EventSubscriber/AuditRecordSubscriber.php line 27

Open in your IDE?
  1. <?php
  2. namespace MedBrief\MSR\EventSubscriber;
  3. use Doctrine\ORM\EntityManagerInterface;
  4. use MedBrief\MSR\Event\AuditRecordEvent;
  5. use Override;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. class AuditRecordSubscriber implements EventSubscriberInterface
  8. {
  9. public function __construct(protected EntityManagerInterface $entityManager)
  10. {
  11. }
  12. /**
  13. * @inheritDoc
  14. */
  15. #[Override]
  16. public static function getSubscribedEvents()
  17. {
  18. return [
  19. AuditRecordEvent::AUDIT => 'logAuditActivity',
  20. ];
  21. }
  22. public function logAuditActivity(AuditRecordEvent $event): void
  23. {
  24. $auditRecord = $event->getAuditRecord();
  25. $this->entityManager->persist($auditRecord);
  26. $this->entityManager->flush();
  27. }
  28. }