Gestion du retour de toutes les méthodes dans /config/modules.json

This commit is contained in:
xdrm-brackets 2016-06-03 15:28:17 +02:00
parent f0460d0a75
commit b0df8790cd
5 changed files with 50 additions and 202 deletions

View File

@ -271,7 +271,6 @@
"token": { "token": {
"remove": { "remove": {
"description": "Suppression d'un token d'id donne.", "description": "Suppression d'un token d'id donne.",
"permissions": ["admin"], "permissions": ["admin"],
@ -287,6 +286,9 @@
"parameters": { "parameters": {
"name": { "description": "Nom attribué au token", "type": "varchar(3,50)" }, "name": { "description": "Nom attribué au token", "type": "varchar(3,50)" },
"duration": { "description": "Durée du token en nombre de jours", "type": "id" } "duration": { "description": "Durée du token en nombre de jours", "type": "id" }
},
"output": {
"id_token": { "description": "Identifiant du token généré", "type": "id" }
} }
} }
}, },
@ -298,6 +300,9 @@
"permissions": ["admin"], "permissions": ["admin"],
"parameters": { "parameters": {
"name": { "description": "Le nom du sujet", "type": "varchar(1,50)" } "name": { "description": "Le nom du sujet", "type": "varchar(1,50)" }
},
"output": {
"results": { "description": "Liste des sujet associés aux mots-clés.", "type": "array<array<mixed>>" }
} }
}, },
@ -306,13 +311,19 @@
"permissions": ["admin"], "permissions": ["admin"],
"parameters": { "parameters": {
"subject_id": { "description": "Identifiant du sujet duquel on veut les amis.", "type": "id" } "subject_id": { "description": "Identifiant du sujet duquel on veut les amis.", "type": "id" }
},
"output": {
"subjects": { "description": "Liste des sujet renseignés par le sujet donné.", "type": "array<array<mixed>>" }
} }
}, },
"getAll": { "getAll": {
"description": "Retourne les informations de tous les sujets.", "description": "Retourne les informations de tous les sujets.",
"permissions": ["admin"], "permissions": ["admin"],
"parameters": {} "parameters": {},
"output": {
"subjects": { "description": "Liste de tous les sujet.", "type": "array<array<mixed>>" }
}
}, },
@ -321,25 +332,9 @@
"permissions": ["admin"], "permissions": ["admin"],
"parameters": { "parameters": {
"name" : { "description": "Pseudo du sujet, 50 caracteres maximum.", "type": "varchar(1,50)" } "name" : { "description": "Pseudo du sujet, 50 caracteres maximum.", "type": "varchar(1,50)" }
}
}, },
"output": {
"id_subject": { "description": "Identifiant du sujet créé.", "type": "id" }
"merge": {
"description": "Fusion de 2 sujets qui sont en fait la même personne.",
"permissions": ["admin"],
"parameters": {
"id_source": { "description": "UID de l'utilisateur doublon", "type": "id" },
"id_target": { "description": "UID de l'utilisateur déjà existant", "type": "id" }
}
},
"remove": {
"description": "Suppression d'un sujet d'id donné.",
"permissions": ["admin"],
"parameters": {
"id_subject": { "description": "UID du sujet à supprimer.", "type": "id" }
} }
} }
@ -356,7 +351,9 @@
"mini": { "description": "Mini fiches relations sur les contacts de l'enquête.", "type": "array<array>" }, "mini": { "description": "Mini fiches relations sur les contacts de l'enquête.", "type": "array<array>" },
"fiches": { "description": "Fiches relation sur les plus proches contacts de l'enquête.", "type": "array<array>" }, "fiches": { "description": "Fiches relation sur les plus proches contacts de l'enquête.", "type": "array<array>" },
"matrice": { "description": "Matrice contenant les relations entre les plus proches contacts", "type": "array<array>", "optional": true } "matrice": { "description": "Matrice contenant les relations entre les plus proches contacts", "type": "array<array>", "optional": true }
},
"output": {
"subject_id": { "description": "Identifiant du sujet complété", "type": "id" }
} }
}, },
@ -369,7 +366,9 @@
"mini": { "description": "Mini fiches relations sur les contacts de l'enquête.", "type": "array<array>" }, "mini": { "description": "Mini fiches relations sur les contacts de l'enquête.", "type": "array<array>" },
"fiches": { "description": "Fiches relation sur les plus proches contacts de l'enquête.", "type": "array<array>" }, "fiches": { "description": "Fiches relation sur les plus proches contacts de l'enquête.", "type": "array<array>" },
"matrice": { "description": "Matrice contenant les relations entre les plus proches contacts", "type": "array<array>", "optional": true } "matrice": { "description": "Matrice contenant les relations entre les plus proches contacts", "type": "array<array>", "optional": true }
},
"output": {
"subject_id": { "description": "Identifiant du sujet complété", "type": "id" }
} }
} }
}, },
@ -378,19 +377,16 @@
"upload": { "upload": {
"call_log": { "call_log": {
"description": "Upload d'un journal d'appel au format .xml.", "description": "Upload d'un journal d'appel au format .xml. Retour des données de call_log/unserialize",
"permissions": ["admin"], "permissions": ["admin"],
"parameters": { "parameters": {
"file": { "description": "Fichier du journal d'appel.", "type": "FILE" } "file": { "description": "Fichier du journal d'appel.", "type": "FILE" }
}
}, },
"output": {
"tmp_id": { "description": "Identifiant temporaire du journal d'appel", "type": "varchar(40,40)" },
"iexplorer_convert": { "directory": { "description": "Annuaire des contacts trouvés", "type": "array<array<mixed>>" },
"description": "Convertisseur .txt (iExplorer) vers .xml (Call Log)", "call": { "description": "Liste des identifiants des contacts triés par nombre d'appels", "type": "array<id>" },
"permissions": ["admin"], "sms": { "description": "Liste des identifiants des contacts triés par nombre de sms", "type": "array<id>" }
"parameters": {
"file": { "description": "Fichier exporté de iExplorer", "type": "FILE" }
} }
}, },
@ -400,6 +396,21 @@
"permissions": ["admin"], "permissions": ["admin"],
"parameters": { "parameters": {
"file": { "description": "Fichier du de sauvegarde de formulaire local.", "type": "FILE" } "file": { "description": "Fichier du de sauvegarde de formulaire local.", "type": "FILE" }
},
"output": {
"local_data": { "description": "Contenu formatté du fichier.", "type": "array<mixed>"}
}
},
"iexplorer_convert": {
"description": "Convertisseur .txt (iExplorer) vers .xml (Call Log)",
"permissions": ["admin"],
"parameters": {
"file": { "description": "Fichier exporté de iExplorer", "type": "FILE" }
},
"output": {
"data": { "description": "Contenu formatté du fichier.", "type": "array<mixed>"}
} }
} }

View File

@ -140,14 +140,19 @@
/* (3) Réponse */ /* (3) Réponse */
$content .= "+ Response 200 (application/json)\n\n"; $content .= "+ Response 200 (application/json)\n\n";
$content .= " + Body\n\n"; $content .= " + Body\n\n";
if( isset($method['output']) && count($method['output']) > 0 ){
$content .= " {\n"; $content .= " {\n";
$content .= " ".'"result": 4'."\n"; foreach($method['output'] as $outName=>$outData)
$content .= " \"$outName\": @$outName\n";
$content .= " }\n\n\n"; $content .= " }\n\n\n";
} }
} }
}
return array( return array(
'ModuleError' => ManagerError::Success, 'ModuleError' => ManagerError::Success,

View File

@ -208,52 +208,6 @@
/* SUPPRESSION D'UN SUJET
*
* @id_subject<int> UID du sujet en question
*
*/
public static function remove($params){
extract($params);
/* [1] On verifie que le sujet existe
=========================================================*/
$exists = new Repo('subject/getById', array($id_subject));
$exists_status = $exists->answer();
// Si le sujet n'existe pas, on retourne une erreur
if( $exists_status === false ) return array( 'ModuleError' => ManagerError::ModuleError );
/* [2] Suppression du sujet
=========================================================*/
$remove = new Repo('subject/remove', array($id_subject));
$remove_status = $remove->answer();
// Si erreur lors de la requête
if( $remove_status === false )
return array( 'ModuleError' => ManagerError::ModuleError );
/* [3] On verifie que le sujet est bien supprime
=========================================================*/
$removed = new Repo('subject/getById', array($id_subject));
$removed_status = $removed->answer();
// Si le sujet n'existe pas, on retourne une erreur
if( $removed_status !== false ) return array( 'ModuleError' => ManagerError::ModuleError );
/* [4] Gestion du retour
=========================================================*/
return array( 'ModuleError' => ManagerError::Success );
}
/* RECHERCHE DE SUJETS /* RECHERCHE DE SUJETS
* *
* @name<String> Nom du sujet recherché * @name<String> Nom du sujet recherché

View File

@ -1,60 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Chart du sexe (HOMME/FEMME)</title>
<script type='text/javascript' src='/f/js/api-min/js/lib'></script> <!-- Gestion des transactions avec le serveur -->
<script type='text/javascript' src='/f/js/highcharts/highcharts'></script>
<script type='text/javascript' src='/f/js/exporting/highcharts/modules'></script>
</head>
<body style='display: flex; flex-direction: row; justify-content: space-around; flex-wrap: wrap;'>
<div id="age" style='margin: 2em'></div>
<script type='text/javascript'>
var api = new APIClass('/api/');
var age = document.getElementById('age');
/* [0] Paramètres globaux
=========================================================*/
subject = 273;
/* [1] On récupére les données SEXE
=========================================================*/
/* (1) On rédige la requête */
var request = {
path: 'chart/relations',
subject: subject
}
/* (2) On lance la requête */
api.send(request, function(response){
console.log( response );
/* (3) Si erreur, on quitte */
if( response.ModuleError != 0 )
return false;
/* (4) Gestion des paramètres */
var options = {
chart: { renderTo: age, defaultSeriesType: 'bar' },
series: response.series
};
/* (5) Création */
var chart = new Highcharts.Chart(options);
console.log(chart);
});
</script>
</body>
</html>

View File

@ -1,62 +0,0 @@
<?php define('__ROOT__', dirname(dirname(__FILE__)) );
require_once __ROOT__.'/manager/autoloader.php';
use \manager\ModuleRequest;
use \manager\ManagerError;
debug();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Chart réseau</title>
<script type='text/javascript' src='/f/js/api-min/js/lib'></script> <!-- Gestion des transactions avec le serveur -->
</head>
<body style='display: flex; flex-direction: row; justify-content: space-around; flex-wrap: wrap;'>
<?php
/* [1] On récupère les données
=========================================================*/
$req = new ModuleRequest('chart/network', array('subject'=>1/*273*/));
$res = $req->dispatch();
if( $res->error != ManagerError::Success )
var_dump( ManagerError::explicit($res->error) );
var_dump($res->getAll());
/* [2] Gestion spatiale
=========================================================*/
function dot(&$node, $x, $y){
$node['x'] = $x;
$node['y'] = $y;
return "<circle cx='$x' cy='$y' r='5' fill='".(($node['type']=='phone')?'#1db247':'#4891df')."'/>";
}
/* [3] On affiche le contenu
=========================================================*/
echo "<?xml version='1.0' encoding='UTF-8' standalone='no'?>";
echo "<svg version='1.1' width='1000' height='1000' style='width: 40em; height: 40em;border:1px solid black'>";
$nodes = $res->get('nodes');
foreach($nodes as $n=>$node){
$r = array( floor(rand(10, 990)), floor(rand(10, 990)) );
echo dot($nodes[$n], $r[0], $r[1]);
}
echo "</svg>";
?>
</body>
</html>