issue-19: séparation des exceptions pour éviter les erreurs génériques, message personalisé par type d'erreur

This commit is contained in:
2023-06-19 15:56:55 +02:00
parent 5aacd981b4
commit 3e45119684
13 changed files with 143 additions and 25 deletions

View File

@ -2,6 +2,8 @@
namespace App\SQLLogin;
use App\SQLLogin\Exception\NullDataToFetchException;
class SQLLoginRequest
{
public const DATA_TO_FETCH = 'data_to_fetch';
@ -67,19 +69,23 @@ class SQLLoginRequest
public function getRequestScope()
{
$scope = '';
foreach ($this->config[self::DATA_TO_FETCH] as $data) {
$scope .= $data.',';
}
$scope = substr($scope, 0, -1);
if ($this->config[self::DATA_TO_FETCH]) {
foreach ($this->config[self::DATA_TO_FETCH] as $data) {
$scope .= $data.',';
}
// On enlève la dernière virgule
$scope = substr($scope, 0, -1);
return 'SELECT '.$scope.' FROM '.$this->getTableName().' WHERE '.$this->getLoginColumnName().' = :'.$this->getLoginColumnName().';';
return 'SELECT '.$scope.' FROM '.$this->getTableName().' WHERE '.$this->getLoginColumnName().' = :'.$this->getLoginColumnName().';';
}
throw new NullDataToFetchException();
}
/**
* Construction de la string pour la requête préparée selon la configuration yaml
* intègre la récupération du mot de passe hashé, du salt et de besoin d'upgrade de la méthode de hashage
*/
public function getRequestPassword()
public function getRequestPassword(): string
{
$fields = $this->getPasswordColumnName();
if (!empty($this->getSaltColumnName())) {