# Conflicts: # Source/API/script/Gateway/GatewayListResponseOfCandidate.phpinterestingProfiles
commit
8f92afa994
@ -0,0 +1,91 @@
|
||||
<?php
|
||||
|
||||
namespace API\script\Gateway;
|
||||
|
||||
use API\script\Config\Connection;
|
||||
use PDO;
|
||||
|
||||
/**
|
||||
* Permet d'accéder, d'écrire ou de modifier les données contenues dans la table Admin afin de gérer l'espace administrateur.
|
||||
*/
|
||||
class GatewayAdmin
|
||||
{
|
||||
/**
|
||||
* @var Connection
|
||||
*/
|
||||
private Connection $connection;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->connection = connect();
|
||||
}
|
||||
|
||||
/**
|
||||
* Permet d'ajouter un administrateur dans la base de données.
|
||||
*
|
||||
* @param string $login Login du nouvel adimin
|
||||
* @param string $hash Mot de passe au format hash du nouvel admin
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function addAdmin(string $login, string $hash): void
|
||||
{
|
||||
$query = "INSERT INTO Admin(login, hash) VALUES(:login, :hash)";
|
||||
$this->connection->executeQuery($query, array(
|
||||
':login' => array($login, PDO::PARAM_STR),
|
||||
':hash' => array($hash, PDO::PARAM_STR)
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Permet de récupérer le mot de passe en format hash du login passé en argument,
|
||||
* afin de vérifier si la connection de l'utilisateur.
|
||||
*
|
||||
* @param string $login Login du coup duquel on veut récupérer le hash associé
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getPassword(string $login): array
|
||||
{
|
||||
$query = 'SELECT Hash FROM Admin WHERE Login = :login';
|
||||
|
||||
$this->connection->executeQuery($query, array(
|
||||
':login' => array($login, PDO::PARAM_STR)
|
||||
));
|
||||
|
||||
return $this->connection->getResults();
|
||||
}
|
||||
|
||||
/**
|
||||
* Permet de changer le mot de passe de l'administrateur dont le login
|
||||
* et le nouveau mot de passe au format hash est passé en argument.
|
||||
*
|
||||
* @param string $login Login dont on change le mot de passe
|
||||
* @param string $hash Nouveau mot de passe au format hash
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function changePassword(string $login, string $hash): void
|
||||
{
|
||||
$query = "UPDATE Admin SET hash = :hash WHERE login = :login";
|
||||
$this->connection->executeQuery($query, array(
|
||||
':login' => array($login, PDO::PARAM_STR),
|
||||
':hash' => array($hash, PDO::PARAM_STR)
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Permet de supprimer un administrateur de la base de donnée par un login passé en paramètre.
|
||||
*
|
||||
* @param string $login Login du compte qui sera supprimé
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function deleteAdmin(string $login): void
|
||||
{
|
||||
$query = "DELETE FROM Admin WHERE login = :login";
|
||||
$this->connection->executeQuery($query, array(
|
||||
':login' => array($login, PDO::PARAM_STR)
|
||||
));
|
||||
}
|
||||
}
|
Loading…
Reference in new issue