fix: +api.response (cannot change header.. see nginx) + add: example modules [admin, root]
This commit is contained in:
parent
a54f3f7345
commit
48555669ee
|
@ -114,7 +114,7 @@
|
||||||
$this->error->setHttpCode();
|
$this->error->setHttpCode();
|
||||||
|
|
||||||
// Type de contenu
|
// Type de contenu
|
||||||
header('Content-Type: application/json; charset=utf-8');
|
// header('Content-Type: application/json; charset=utf-8');
|
||||||
|
|
||||||
// On rajoute l'erreur au message
|
// On rajoute l'erreur au message
|
||||||
$returnData = array_merge([
|
$returnData = array_merge([
|
||||||
|
|
|
@ -0,0 +1,133 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace api\module;
|
||||||
|
|
||||||
|
use \error\core\Error;
|
||||||
|
use \error\core\Err;
|
||||||
|
use \database\core\Repo;
|
||||||
|
|
||||||
|
|
||||||
|
class admin{
|
||||||
|
|
||||||
|
|
||||||
|
/* (1) Return an admin data
|
||||||
|
*
|
||||||
|
* @id_admin<id> [OPT] UID de l'administrateur
|
||||||
|
*
|
||||||
|
* @return data<Array> Administrateurs correspondants
|
||||||
|
*
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
public static function get($args){
|
||||||
|
extract($args);
|
||||||
|
|
||||||
|
/* (1) If @id_admin is set -> get by id
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
if( is_numeric($id_admin) ){
|
||||||
|
|
||||||
|
/* (1) Search admin by id */
|
||||||
|
$fetch_admin = Repo::request('admin', 'getById', $id_admin);
|
||||||
|
|
||||||
|
/* (2) If not found -> return empty data */
|
||||||
|
if( !$fetch_admin )
|
||||||
|
return [ 'data' => [] ];
|
||||||
|
|
||||||
|
/* (3) Return fetched admin */
|
||||||
|
return [ 'data' => [$fetch_admin] ];
|
||||||
|
|
||||||
|
|
||||||
|
/* (2) Else -> get all
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
}else
|
||||||
|
return [ 'data' => Repo::request('admin', 'getAll') ];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* (2) Creates a new administrator
|
||||||
|
*
|
||||||
|
* @username<string> Identifiant de l'administrateur
|
||||||
|
* @mail<string> Adresse mail de l'administrateur
|
||||||
|
* @password<string> Mot de passe de l'administrateur
|
||||||
|
*
|
||||||
|
* @return admin<array> Données de l'administrateur crée
|
||||||
|
*
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
public static function post($args){
|
||||||
|
extract($args);
|
||||||
|
|
||||||
|
/* (1) Création admin */
|
||||||
|
$id_created = Repo::request('admin', 'create', $username, $mail, $password);
|
||||||
|
|
||||||
|
/* (2) Gestion erreur */
|
||||||
|
if( $id_created === false )
|
||||||
|
return [ 'error' => new Error(Err::RepoError) ];
|
||||||
|
|
||||||
|
/* (3) Renvoi @id_admin */
|
||||||
|
return [ 'id_admin' => Repo::request('admin', 'getById', $id_created) ];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* (3) Updates an existing administrator
|
||||||
|
*
|
||||||
|
* @id_admin<id> UID de l'administrateur
|
||||||
|
* @mail<string> [OPT] Adresse mail de l'administrateur
|
||||||
|
* @password<string> [OPT] Mot de passe de l'administrateur
|
||||||
|
*
|
||||||
|
* @return admin<array> The new administrator data
|
||||||
|
*
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
public static function put($args){
|
||||||
|
extract($args);
|
||||||
|
|
||||||
|
/* (1) If @mail given
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
if( !is_null($mail) ){
|
||||||
|
|
||||||
|
/* (1) Update mail address */
|
||||||
|
$updated = Repo::request('admin', 'setMail', $id_admin, $mail);
|
||||||
|
|
||||||
|
/* (2) Gestion erreur */
|
||||||
|
if( $updated === false )
|
||||||
|
return [ 'error' => new Error(Err::RepoError) ];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (2) If @password given
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
if( !is_null($password) ){
|
||||||
|
|
||||||
|
/* (1) Update password */
|
||||||
|
$updated = Repo::request('admin', 'setPassword', $id_admin, $password);
|
||||||
|
|
||||||
|
/* (2) Gestion erreur */
|
||||||
|
if( $updated === false )
|
||||||
|
return [ 'error' => new Error(Err::RepoError) ];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (3) Renvoi @id_admin */
|
||||||
|
return [ 'id_admin' => Repo::request('admin', 'getById', $id_admin) ];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* (4) Deletes an existing administrator
|
||||||
|
*
|
||||||
|
* @id_admin<id> UID de l'administrateur
|
||||||
|
*
|
||||||
|
* @return removed<bool> Whether the admin has been removed
|
||||||
|
*
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
public static function delete($args){
|
||||||
|
extract($args);
|
||||||
|
|
||||||
|
/* (1) Dispatch du status */
|
||||||
|
return [ 'removed' => Repo::request('admin', 'delete', $id_admin) ];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace api\module;
|
||||||
|
|
||||||
|
use \error\core\Error;
|
||||||
|
|
||||||
|
|
||||||
|
class root{
|
||||||
|
|
||||||
|
/* Generates the API documentation
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function get($args){
|
||||||
|
extract($args);
|
||||||
|
|
||||||
|
return [ 'args' => $args ];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue