chore (fetch datas) #39 : fermeture connexion sql après login$
Cadoles/hydra-sql/pipeline/pr-develop There was a failure building this commit Details
Cadoles/hydra-sql/pipeline/head This commit is unstable Details

This commit is contained in:
Rudy Masson 2024-09-23 17:02:01 +02:00
parent 5bfd8991ee
commit 085533b299
1 changed files with 8 additions and 1 deletions

View File

@ -26,6 +26,9 @@ class SQLLoginService extends AbstractController
public function fetchDatas(string $login): array public function fetchDatas(string $login): array
{ {
if (empty($login)) {
throw new Exception('Connexion échouée, le login ne peut pas être vide');
}
try { try {
$dbh = $this->getConnection(); $dbh = $this->getConnection();
} catch (PDOException $e) { } catch (PDOException $e) {
@ -44,11 +47,15 @@ class SQLLoginService extends AbstractController
$query = $dbh->prepare($request); $query = $dbh->prepare($request);
$query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]); $query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]);
$datas = $query->fetch(PDO::FETCH_ASSOC); $datas = $query->fetch(PDO::FETCH_ASSOC);
$query->closeCursor();
} catch (PDOException $e) { } catch (PDOException $e) {
$this->loggerInterface->critical($e->getMessage()); $this->loggerInterface->critical($e->getMessage());
throw new DataToFetchConfigurationException($e->getMessage()); throw new DataToFetchConfigurationException($e->getMessage());
} }
if (false === $datas) {
throw new Exception(sprintf('La requête sql "%s" a renvoyé un résultat incorrect.', $request));
}
return $datas; return $datas;
} }
@ -75,7 +82,7 @@ class SQLLoginService extends AbstractController
if (!$password) { if (!$password) {
throw new Exception('Une erreur est survenue lors de la récupération des données'); throw new Exception('Une erreur est survenue lors de la récupération des données');
} }
return [ return [
$password[$this->sqlLoginRequest->getPasswordColumnName()], $password[$this->sqlLoginRequest->getPasswordColumnName()],
isset($password[$this->sqlLoginRequest->getSaltColumnName()]) ? $password[$this->sqlLoginRequest->getSaltColumnName()] : null, isset($password[$this->sqlLoginRequest->getSaltColumnName()]) ? $password[$this->sqlLoginRequest->getSaltColumnName()] : null,