- [x] [ModuleRequest->dispatch] Passage de l'erreur a la reponse

- [x] [ModuleAnswer->serialize]  Integration de l'erreur dans la serialisation
This commit is contained in:
xdrm-brackets 2016-02-05 09:10:37 +01:00
parent 859406906d
commit fcf190a852
5 changed files with 20 additions and 25 deletions

View File

@ -47,20 +47,10 @@
// Api // Api
$R->post('api/?', function(){ $R->post('api/?', function(){
$request = \manager\ModuleRequest::fromURL($_POST); $request = \manager\ModuleRequest::fromURL($_POST);
// Si requete correcte
if( $request->error == \manager\ManagerError::Success ){
$answer = $request->dispatch(); $answer = $request->dispatch();
$answer->append('ModuleError', false);
echo $answer->serialize(); // On renvoie la reponse
// Si requete erronee
}else{
$answer = new \manager\ModuleAnswer();
$answer->append('ModuleError', true);
echo $answer->serialize(); echo $answer->serialize();
}
}); });
// N'importe -> page d'accueil // N'importe -> page d'accueil

View File

@ -27,10 +27,12 @@
/* CONSTRUCTEUR D'UNE REPONSE DE MODULE /* CONSTRUCTEUR D'UNE REPONSE DE MODULE
* *
* @error<ModuleError> Erreur passee par la requete (si existe)
*
*/ */
public function __construct(){ public function __construct($error=ManagerError::Success){
$this->data = array(); $this->data = array();
$this->error = ManagerError::Success; $this->error = $error;
} }
@ -123,7 +125,9 @@
*/ */
public function serialize(){ public function serialize(){
return json_encode($this->data); $returnData = array_merge( $this->data, array('ModuleError' => $this->error) );
return json_encode($returnData);
} }

View File

@ -100,14 +100,15 @@
public function dispatch(){ public function dispatch(){
/* [1] On verifie qu'aucune erreur n'a ete signalee /* [1] On verifie qu'aucune erreur n'a ete signalee
=========================================================*/ =========================================================*/
if( $this->error != ManagerError::Success ) return new ModuleAnswer(); if( $this->error != ManagerError::Success ) // si il y a une erreur
return new ModuleAnswer($this->error); // on la passe a la reponse
/* [2] On verifie que la methode est amorcable /* [2] On verifie que la methode est amorcable
=========================================================*/ =========================================================*/
if( !is_callable($this->getFunctionCaller()) ){ if( !is_callable($this->getFunctionCaller()) ){
$this->error = ManagerError::UncallableMethod; $this->error = ManagerError::UncallableMethod;
return new ModuleAnswer(); return new ModuleAnswer($this->error);
} }
@ -118,7 +119,7 @@
/* [4] Gestion de la reponse /* [4] Gestion de la reponse
=========================================================*/ =========================================================*/
$answer = new ModuleAnswer(); $answer = new ModuleAnswer($this->error);
$answer->appendAll($returned); $answer->appendAll($returned);
return $answer; return $answer;

View File

@ -13,7 +13,6 @@
############ ############
# EN COURS # # EN COURS #
############ ############
- [ ] [ModuleAnswer->serialize] Integration de l'erreur dans la serialisation
- [x] Conception BDD + ameliorations - [x] Conception BDD + ameliorations
- [x] Liste des tables - [x] Liste des tables
@ -32,6 +31,8 @@
######## ########
# FAIT # # FAIT #
######## ########
- [x] [ModuleRequest->dispatch] Passage de l'erreur a la reponse
- [x] [ModuleAnswer->serialize] Integration de l'erreur dans la serialisation
- [x] [ModuleAnswer->get+getAll] Accesseurs aux donnees de la reponse - [x] [ModuleAnswer->get+getAll] Accesseurs aux donnees de la reponse
- [x] Gestion des erreurs - [x] Gestion des erreurs
- [x] [ModuleError::explicit] Explicitation - [x] [ModuleError::explicit] Explicitation

View File

@ -57,15 +57,14 @@
// On recupere tous les utilisateurs // On recupere tous les utilisateurs
debug(); debug();
$request = new \manager\ModuleRequest('userDefaultModule/getAll'); $request = new \manager\ModuleRequest('userDefaultModule/getAll');
$users = $request->dispatch(); $answer = $request->dispatch();
echo '<section>'; echo '<section>';
echo 'Liste des utilisateurs: <br>'; echo 'Liste des utilisateurs: <br>';
if( $request->error != \manager\ManagerError::Success ) if( $answer->error != \manager\ManagerError::Success )
var_dump( \manager\ManagerError::explicit($request->error) ); var_dump( \manager\ManagerError::explicit($answer->error) );
else else
var_dump( $users->get('users') ); var_dump( $answer->get('users') );
var_dump( $users->getAll() );
echo '</section>'; echo '</section>';
} }