Gestion de la réponse unique quand 'getById' + utilisation dans les repos existants

This commit is contained in:
xdrm-brackets 2016-07-04 12:13:35 +02:00
parent e4e5da1f1e
commit 13ad3378c2
7 changed files with 49 additions and 412 deletions

View File

@ -1,6 +1,8 @@
{
"user": [
"create",
"edit",
"delete",
"search",
@ -9,34 +11,29 @@
"getByCode",
"getByUsername",
"getClusters",
"getClusters"
"edit",
"delete"
],
"machine": [
"create",
"search",
"edit",
"delete",
"getAll",
"getById",
"getByCode",
"getByName",
"getClusters",
"search",
"edit",
"getClusters"
"delete"
],
"cluster": [
"create",
"link",
"unlink",
"delete",
"getAll",
"getById",
@ -45,7 +42,21 @@
"getMembers",
"delete"
"link",
"unlink"
],
"warehouse": [
"create",
"edit",
"delete",
"getAll",
"getById",
"getByToken",
"updateToken"
]
}

View File

@ -92,7 +92,7 @@
return false;
}
/* [3] Si pas d'erreur d'authentification, on retourne TRUE
/* [4] Si pas d'erreur d'authentification, on retourne TRUE
=========================================================*/
return true;
}

View File

@ -5,7 +5,9 @@
use \manager\repo\machine as machineRepo;
use \manager\repo\user as userRepo;
class cluster{
class cluster extends parentRepo{
protected static function table_name(){ static $table_name = 'cluster'; return $table_name; }
const USER_CLASS = 0;
const MACHINE_CLASS = 1;
@ -170,104 +172,6 @@
/* RENVOIE LA LISTE DE TOUS LES GROUPES
*
* @return groups<Array> Liste des groupes de la BDD
*
*/
public static function getAll(){
// On ecrit la requete
$request = Database::getPDO()->query("SELECT * FROM cluster ORDER BY name");
// On recupere le resultat
$answer = $request->fetchAll();
// On retourne en supprimant les indices numeriques
return Database::delNumeric( $answer );
}
/* RENVOIE LE GROUPE D'ID DONNE
*
* @id<int> UID du groupe en question
*
* @return group<Array> Renvoie le groupe d'id donne si existe
* @return error<Boolean> Retourne FALSE si aucun resultat
*
*/
public static function getById($id){
// On ecrit la requete
$request = Database::getPDO()->prepare("SELECT * FROM cluster
WHERE id_cluster = :id");
// On execute la requete
$request->execute(array(
':id' => $id
));
// On recupere 1 seul groupe
$answer = $request->fetch();
// Gestion d'erreur -> aucun resultat
if( $answer === false )
return false;
// On retourne en supprimant les indices numeriques
return Database::delNumeric( $answer, true );
}
/* RENVOIE LE GROUPE DE NOM DONNE
*
* @name<String> Nom du groupe en question
*
* @return groupe<Array> Renvoie le groupe de nom donne si existe
* @return error<Boolean> Retourne FALSE si aucun resultat
*
*/
public static function getByName($name){
// On ecrit la requete
$request = Database::getPDO()->prepare("SELECT * FROM cluster
WHERE name = :name");
// On execute la requete
$request->execute(array(
':name' => $name
));
// On recupere 1 seul groupe
$answer = $request->fetch();
// Gestion d'erreur -> aucun resultat
if( $answer === false )
return false;
// On retourne en supprimant les indices numeriques
return Database::delNumeric( $answer, true );
}
/* RENVOIE L'ID D'UNE ASSOCIATION D'UN(E) UTILISATEUR/MACHINE A UN GROUPE
*
* @id_cluster<int> UID du groupe

View File

@ -4,7 +4,9 @@
use \manager\Database;
use \manager\repo\cluster as clusterRepo;
class machine{
class machine extends parentRepo{
protected static function table_name(){ static $table_name = 'machine'; return $table_name; }
/* CREATION D'UNE MACHINE
*
@ -74,142 +76,6 @@
/* RENVOIE LA LISTE DE TOUTES LES MACHINES
*
* @return machine<Array> Liste des machines de la BDD
*
*/
public static function getAll(){
// On ecrit la requete
$request = Database::getPDO()->query("SELECT * FROM machine ORDER BY name");
// On recupere le resultat
$answer = $request->fetchAll();
// On retourne en supprimant les indices numeriques
return Database::delNumeric( $answer );
}
/* RENVOIE LA MACHINE D'ID DONNE
*
* @id<int> Id de la machine en question
*
* @return machine<Array> Renvoie la machine d'id donne si existe
* @return error<Boolean> Retourne FALSE si aucun resultat
*
*/
public static function getById($id){
// On ecrit la requete
$request = Database::getPDO()->prepare("SELECT * FROM machine
WHERE id_machine = :id");
// On execute la requete
$request->execute(array(
':id' => $id
));
// On recupere 1 seule machine
$answer = $request->fetch();
// Gestion d'erreur -> aucun resultat
if( $answer === false )
return false;
// On retourne en supprimant les indices numeriques
return Database::delNumeric( $answer, true );
}
/* RENVOIE LA MACHINE DE CODE DONNE
*
* @code<String> Code de la machine en question
*
* @return machine<Array> Renvoie la machine de code donne si existe
* @return error<Boolean> Retourne FALSE si aucun resultat
*
*/
public static function getByCode($code){
// On ecrit la requete
$request = Database::getPDO()->prepare("SELECT * FROM machine
WHERE code = :code");
// On execute la requete
$request->execute(array(
':code' => $code
));
// On recupere 1 seule machine
$answer = $request->fetch();
// Gestion d'erreur -> aucun resultat
if( $answer === false )
return false;
// On retourne en supprimant les indices numeriques
return Database::delNumeric( $answer, true );
}
/* RENVOIE LA MACHINE DE NOM DONNE
*
* @name<String> Nom de la machine en question
*
* @return machine<Array> Renvoie la machine de nom donne si existe
* @return error<Boolean> Retourne FALSE si aucun resultat
*
*/
public static function getByName($name){
// On ecrit la requete
$request = Database::getPDO()->prepare("SELECT * FROM machine
WHERE name = :name");
// On execute la requete
$request->execute(array(
':name' => $name
));
// On recupere 1 seule machine
$answer = $request->fetch();
// Gestion d'erreur -> aucun resultat
if( $answer === false )
return false;
// On retourne en supprimant les indices numeriques
return Database::delNumeric( $answer, true );
}
/* RENVOIE LES GROUPES AUQUEL APPARTIENT UNE MACHINE DONNEE
*
* @id_machine<int> UID de la machine en question

View File

@ -107,7 +107,22 @@
/* [6] On récupère le résultat
=========================================================*/
return Database::delNumeric( $getRequest->fetchAll() );
/* (1) Réponse unique (getById) */
if( $getById ){
$result = $getRequest->fetch();
// Si aucun résultat
if( $result === false )
return false;
// Si résultat
else
return Database::delNumeric($result, true);
/* (2) Réponse multiple (getAll, ...) */
}else
return Database::delNumeric( $getRequest->fetchAll() );
}
}

View File

@ -4,7 +4,9 @@
use \manager\Database;
use \manager\repo\cluster as clusterRepo;
class user{
class user extends parentRepo{
protected static function table_name(){ static $table_name = 'user'; return $table_name; }
/* CREATION D'UN UTILISATEUR ET DE SON GROUPE INDIVIDUEL
*
@ -87,167 +89,6 @@
/* RENVOIE LA LISTE DE TOUS LES UTILISATEURS
*
* @return utilisateurs<Array> Liste des utilisateurs de la BDD
*
*/
public static function getAll(){
// On ecrit la requete
$request = Database::getPDO()->query("SELECT * FROM user ORDER BY username");
// On recupere le resutat
$answer = $request->fetchAll();
// On retourne en supprimant les indices numeriques
return Database::delNumeric( $answer );
}
/* RENVOIE L'UTILISATEUR D'ID DONNE
*
* @id<int> Id de l'utilisateur en question
*
* @return utilisateur<Array> Renvoie l'utilisateur d'id donne si existe
* @return error<Boolean> Retourne FALSE si aucun resultat
*
*/
public static function getById($id){
// On ecrit la requete
$request = Database::getPDO()->prepare("SELECT * FROM user
WHERE id_user = :id");
// On execute la requete
$request->execute( array(
':id' => $id
) );
// On recupere 1 seul utilisateur
$answer = $request->fetch();
// Gestion d'erreur -> aucun resultat
if( $answer === false )
return false;
// On retourne en supprimant les indices numeriques
return Database::delNumeric( $answer, true );
}
/* RENVOIE L'UTILISATEUR DE CODE DONNE
*
* @code<String> Code de l'utilisateur en question
*
* @return utilisateur<Array> Renvoie l'utilisateur de code donne si existe
* @return error<Boolean> Retourne FALSE si aucun resultat
*
*/
public static function getByCode($code){
// On ecrit la requete
$request = Database::getPDO()->prepare("SELECT * FROM user
WHERE code = :code");
// On execute la requete
$request->execute(array(
':code' => $code
));
// On recupere 1 seul utilisateur
$answer = $request->fetch();
// Gestion d'erreur -> aucun resultat
if( $answer === false )
return false;
// On retourne en supprimant les indices numeriques
return Database::delNumeric( $answer, true );
}
/* RENVOIE L'UTILISATEUR D'USERNAME DONNE
*
* @username<String> Identifiant de l'utilisateur en question
*
* @return utilisateur<Array> Renvoie l'utilisateur d'username donne si existe
* @return error<Boolean> Retourne FALSE si aucun resultat
*
*/
public static function getByUsername($username){
// On ecrit la requete
$request = Database::getPDO()->prepare("SELECT * FROM user
WHERE username = :username");
// On execute la requete
$request->execute(array(
':username' => $username
));
// On recupere 1 seul utilisateur
$answer = $request->fetch();
// Gestion d'erreur -> aucun resultat
if( $answer === false )
return false;
// On retourne en supprimant les indices numeriques
return Database::delNumeric( $answer, true );
}
/* RENVOIE LES GROUPE AUQUELS UN UTILISATEUR DONNE APPARTIENT
*
* @id_user<int> UID de l'utilisateur en question
*
* @return groups<Array> Renvoie un tableau d'UID des groupes
*
*/
public static function getGroups($id_user){
/* [1] On redige/execute la requete
=========================================================*/
$select_groups = Database::getPDO()->prepare("SELECT gm.id_group FROM user as u, group_merge as gm
WHERE u.id_user = gm.id_user
AND u.id_user = :id_user
ORDER BY gm.id_user ASC");
$select_groups->execute(array(
':id_user' => $id_user
));
// On retourne en supprimant les indices numeriques
return Database::delNumeric( $select_groups->fetchAll() );
}
/* RENVOIE LES GROUPES AUQUEL APPARTIENT UN UTILISATEUR DONNE
*

View File