issue-39 : close cursor pour requête password
Cadoles/hydra-sql/pipeline/pr-develop There was a failure building this commit Details

This commit is contained in:
Rudy Masson 2024-09-24 10:32:05 +02:00
parent 085533b299
commit a1049a55a2
2 changed files with 3 additions and 4 deletions

View File

@ -13,9 +13,8 @@ class SQLLoginConnect extends AbstractController
* Méthode qui crée l'unique instance de la classe * Méthode qui crée l'unique instance de la classe
* si elle n'existe pas encore puis la retourne. * si elle n'existe pas encore puis la retourne.
* *
* @return SQLLoginConnect
*/ */
public static function getInstance() public static function getInstance(): SQLLoginConnect
{ {
if (is_null(self::$_instance)) { if (is_null(self::$_instance)) {
self::$_instance = new SQLLoginConnect(); self::$_instance = new SQLLoginConnect();
@ -24,7 +23,7 @@ class SQLLoginConnect extends AbstractController
return self::$_instance; return self::$_instance;
} }
public function connect($urlDatabase, $dbUser, $dbPassword) public function connect($urlDatabase, $dbUser, $dbPassword): PDO
{ {
return new PDO($urlDatabase, $dbUser, $dbPassword); return new PDO($urlDatabase, $dbUser, $dbPassword);
} }

View File

@ -75,6 +75,7 @@ class SQLLoginService extends AbstractController
$query = $dbh->prepare($request); $query = $dbh->prepare($request);
$query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]); $query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]);
$password = $query->fetch(PDO::FETCH_ASSOC); $password = $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 LoginElementsConfigurationException($e->getMessage()); throw new LoginElementsConfigurationException($e->getMessage());
@ -82,7 +83,6 @@ 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,