From 54e2777fa225e2b0e96da2e57bdc905017fa774e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Wed, 28 Jan 2026 22:35:13 +0100 Subject: [PATCH] Update `AuditTrailRepository` to improve user handling and fix nullable user type in `AuditTrail` - Changed `getUser` method in `AuditTrail` to allow null values by updating the return type to `?User`. - Updated `insert` method in `AuditTrailRepository` to handle nullable users, ensuring the `user_id` parameter is set only when applicable. - Improved code robustness by adding null-check logic for user assignment in the SQL query. --- src/Bundle/ChillMainBundle/Entity/AuditTrail.php | 2 +- .../ChillMainBundle/Repository/AuditTrailRepository.php | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Entity/AuditTrail.php b/src/Bundle/ChillMainBundle/Entity/AuditTrail.php index 6842ec9db..b81bba77d 100644 --- a/src/Bundle/ChillMainBundle/Entity/AuditTrail.php +++ b/src/Bundle/ChillMainBundle/Entity/AuditTrail.php @@ -54,7 +54,7 @@ class AuditTrail return $this->id; } - public function getUser(): User + public function getUser(): ?User { return $this->user; } diff --git a/src/Bundle/ChillMainBundle/Repository/AuditTrailRepository.php b/src/Bundle/ChillMainBundle/Repository/AuditTrailRepository.php index 042abca6c..385a0dd55 100644 --- a/src/Bundle/ChillMainBundle/Repository/AuditTrailRepository.php +++ b/src/Bundle/ChillMainBundle/Repository/AuditTrailRepository.php @@ -17,7 +17,7 @@ use Doctrine\DBAL\Types\Types; use Doctrine\Persistence\ManagerRegistry; /** - * @implements ServiceEntityRepository + * @extends ServiceEntityRepository */ class AuditTrailRepository extends ServiceEntityRepository { @@ -48,11 +48,15 @@ class AuditTrailRepository extends ServiceEntityRepository ->setParameter('id', $auditTrail->getId()) ->setParameter('action', $auditTrail->getAction()) ->setParameter('occured_at', $auditTrail->getOccurredAt(), Types::DATETIMETZ_IMMUTABLE) - ->setParameter('user_id', $auditTrail->getUser()?->getId()) + ->setParameter('user_id', null) ->setParameter('description', $auditTrail->getDescription()) ->setParameter('targets', $auditTrail->getTargets(), Types::JSON) ->setParameter('metadata', $auditTrail->getMetadata(), Types::JSON); + if (null !== $user = $auditTrail->getUser()) { + $sql->setParameter('user_id', $user->getId()); + } + $sql->executeQuery(); } }