Création entity et model d'authorisation. Création de toute la fonctionnalité de modifier le statut et supprimer un user ok fonction et verif bdd

This commit is contained in:
laura.chevillet 2026-02-09 16:03:51 +01:00
parent 3a80108ba5
commit 3af2e8a056
14 changed files with 456 additions and 76 deletions

View file

@ -0,0 +1,29 @@
<?php
require_once('mother_model.php');
/**
* Traitement des requêtes pour le status de l'utilisateur
* @author : Laura
*/
class AuthorisationModel extends Connect{
public function __construct(){
parent::__construct();
}
/**
* fonction de récupération des infos d'authorisation
* @return array
*/
public function findAllAuthorisation():array{
$strRq = "SELECT *
FROM authorisation";
return $this->_db->query($strRq)->fetchAll();
}
}

View file

@ -22,7 +22,8 @@
public function findAllUsers():array{
// Ecrire la requête
$strRq = "SELECT user_id, user_firstname, user_name, user_image, user_status, authorisation_name
FROM users INNER JOIN authorisation ON authorisation.authorisation_id = users.user_status";
FROM users INNER JOIN authorisation ON authorisation.authorisation_id = users.user_status
WHERE user_deleted_at IS NULL";
// Lancer la requête et récupérer les résultats
return $this->_db->query($strRq)->fetchAll();
}
@ -50,7 +51,6 @@
}
}
//public function insert(string $strName, string $strFirstname, string $strMail, string $strPwd):int{
/**
* Fonction d'insertion d'un utilisateur en BDD
* @param object $objUser L'objet utilisateur
@ -75,13 +75,10 @@
$rqPrep->bindValue(':location', $objUser->getLocation() ?? "", PDO::PARAM_STR);
$rqPrep->bindValue(':description', $objUser->getDescription() ?? "", PDO::PARAM_STR);
// 3. Executer la requête
//var_dump($strRq);die;
//return $db->exec($strRq);
return $rqPrep->execute();
}
public function mailExists(string $mail): bool
{
$rq = $this->_db->prepare("SELECT 1 FROM users WHERE user_mail = :mail LIMIT 1");
@ -90,4 +87,38 @@
return (bool)$rq->fetchColumn();
}
/**
* Fonction de changement de status d'un utilisateur
* @param object $objUser L'objet utilisateur
* @return bool Est-ce que la requête s'est bien passée (true/false)
*/
public function editStatus(object $objUser):bool{
$strRq = "UPDATE users
SET user_status = :status
WHERE user_id = :id";
$rqPrep = $this->_db->prepare($strRq);
$rqPrep->bindValue(":id", $objUser->getId(), PDO::PARAM_INT);
$rqPrep->bindValue(":status", $objUser->getStatus(), PDO::PARAM_INT);
return $rqPrep->execute();
}
/**
* Fonction permettant de supprimer un utilisateur avec une date de suppression
* @param int $intId L'identifiant de l'utilisateur
* @return bool Est-ce que la requête s'est bien passée (true/false)
*/
public function delete_soft(int $intId):bool{
$strRq = "UPDATE users
SET user_deleted_at = NOW()
WHERE user_id = :id";
$rqPrep = $this->_db->prepare($strRq);
$rqPrep->bindValue(":id", $intId, PDO::PARAM_INT);
return $rqPrep->execute();
}
}