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) )); } }