From 87ecf70d953090a1ffac9503dd6c5448bd26d6b7 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 10 Dec 2025 12:07:20 +0100 Subject: [PATCH] wrapped potential error in try catch --- src/Service/CguUserService.php | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/Service/CguUserService.php b/src/Service/CguUserService.php index 279c33e..6e491b8 100644 --- a/src/Service/CguUserService.php +++ b/src/Service/CguUserService.php @@ -2,6 +2,7 @@ namespace App\Service; +use App\Service\LoggerService; use Doctrine\ORM\EntityManagerInterface; use Symfony\Component\Security\Core\User\UserInterface; use App\Entity\Cgu; @@ -9,7 +10,7 @@ use App\Entity\CguUser; class CguUserService { - public function __construct(private EntityManagerInterface $entityManager) + public function __construct(private EntityManagerInterface $entityManager, private readonly LoggerService $loggerService) { } @@ -40,11 +41,20 @@ class CguUserService $cguUser = $this->entityManager->getRepository(CguUser::class)->findOneBy(['users' => $user, 'cgu' => $latestCgu]); if (!$cguUser) { - // Create a new CguUser relation if it doesn't exist - $cguUser = new CguUser(); - $cguUser->setUsers($user); - $cguUser->setCgu($latestCgu); - $this->entityManager->persist($cguUser); + try{ + // Create a new CguUser relation if it doesn't exist + $cguUser = new CguUser(); + $cguUser->setUsers($user); + $cguUser->setCgu($latestCgu); + $this->entityManager->persist($cguUser); + }catch (\Exception $e){ + $this->loggerService->logError('CguUserService', [ + 'acceptLatestCgu' => 'Failed to create CguUser relation', + 'exception' => $e, + 'targer_user_id' => $user->getId(),]); + throw new \RuntimeException('Failed to create CguUser relation: ' . $e->getMessage()); + } + } $cguUser->setIsAccepted(true);