From fe5ca8366421421d8b8d0629187db414080a1bdd Mon Sep 17 00:00:00 2001 From: rudy Date: Mon, 19 Jun 2023 14:22:05 +0200 Subject: [PATCH] issue-19: ajout de logs des exceptions PDOExceptions --- src/Service/SQLLoginService.php | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/Service/SQLLoginService.php b/src/Service/SQLLoginService.php index db1c957..5a98e4a 100644 --- a/src/Service/SQLLoginService.php +++ b/src/Service/SQLLoginService.php @@ -6,18 +6,20 @@ use App\SQLLogin\SQLLoginConnect; use App\SQLLogin\SQLLoginRequest; use PDO; use PDOException; +use Psr\Log\LoggerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; class SQLLoginService extends AbstractController { public SQLLoginRequest $sqlLoginRequest; - public function __construct(SQLLoginRequest $sqlLoginRequest) + public function __construct(SQLLoginRequest $sqlLoginRequest, private LoggerInterface $loggerInterface) { $this->sqlLoginRequest = $sqlLoginRequest; + $this->loggerInterface = $loggerInterface; } - public function fetchDatas($login) + public function fetchDatas($login): array { try { $dbh = $this->getConnection(); @@ -29,19 +31,14 @@ class SQLLoginService extends AbstractController $datas = $query->fetch(PDO::FETCH_ASSOC); } catch (PDOException $e) { \Sentry\captureException($e); - + $this->loggerInterface->critical($e->getMessage()); throw new PDOException(); } return $datas; } - /** - * @param mixed $login - * - * @return bool - */ - public function fetchPassword($login) + public function fetchPassword($login): array|bool { try { $dbh = $this->getConnection(); @@ -50,7 +47,7 @@ class SQLLoginService extends AbstractController $query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]); $password = $query->fetch(PDO::FETCH_ASSOC); } catch (PDOException $e) { - \Sentry\captureException($e); + $this->loggerInterface->critical($e->getMessage()); throw new PDOException(); } if ($password) { @@ -63,7 +60,7 @@ class SQLLoginService extends AbstractController return false; } - public function getConnection() + public function getConnection(): PDO { // Appel du singleton $sqlLogin = SQLLoginConnect::getInstance();