SMMP/config/modules.json

533 lines
18 KiB
JSON
Executable File

{
"module": {
"POST::method": {
"description": "Test de l'API",
"permissions": [["warehouse"]],
"parameters": {}
},
"POST::markdown": {
"description": "Retourne une description en markdown des différents modules de l'API",
"permissions": [["admin"]],
"options": { "download": true },
"parameters": {}
},
"POST::apiBlueprint": {
"description": "Retourne une documentation de l'API au format API Blueprint.",
"permissions": [["admin"]],
"options": { "download": true },
"parameters": {}
}
},
"upload": {
"POST::call_log": {
"description": "Upload d'un journal d'appel au format .xml. Retour des données de call_log/unserialize",
"permissions": [["admin"]],
"parameters": {
"file": { "description": "Fichier du journal d'appel.", "type": "FILE" }
},
"output": {
"tmp_id": { "description": "Identifiant temporaire du journal d'appel", "type": "varchar(40,40)" },
"directory": { "description": "Annuaire des contacts trouvés", "type": "array<array<mixed>>" },
"call": { "description": "Liste des identifiants des contacts triés par nombre d'appels", "type": "array<id>" },
"sms": { "description": "Liste des identifiants des contacts triés par nombre de sms", "type": "array<id>" }
}
}
},
"download": {
"POST::multiple": {
"description": "Download des données relatives aux sujets donnés.",
"permissions": [["admin"]],
"options": { "download": true },
"parameters": {
"subjects": { "description": "Identifiants des sujets d'enquêtes à intégrer.", "type": "array<id>", "optional": true },
"phone": { "description": "Si vaut TRUE, renvoie les sujets cellulaires.", "type": "boolean", "optional": true },
"facebook": { "description": "Si vaut TRUE, renvoie les sujet facebook.", "type": "boolean", "optional": true },
"survey": { "description": "Si vaut TRUE, renvoie les sujets ResTIC.", "type": "boolean", "optional": true },
"all": { "description": "Si vaut TRUE, renvoie tous les sujets enregistrés.", "type": "boolean", "optional": true }
}
}
},
"authentificationDefault": {
"POST::warehouse": {
"description": "Connexion de premier niveau : entrepot.",
"permissions": [],
"parameters": {
"name": { "description": "Nom de l'entrepot.", "type": "varchar(3,30,alphanumeric)" },
"password": { "description": "Mot de passe de l'entrepot.", "type": "text" }
},
"output": {
"status": { "description": "Status de la connexion.", "type": "boolean" }
}
},
"POST::admin": {
"description": "Connexion de second niveau : administrateur.",
"permissions": [[["warehouse"]]],
"parameters": {
"username": { "description": "Identifiant de l'administrateur.", "type": "varchar(1,30,alphanumeric)" },
"password": { "description": "Mot de passe de l'administrateur'.", "type": "text" }
},
"output": {
"status": { "description": "Status de la connexion.", "type": "boolean" }
}
}
},
"userDefault": {
"POST::create": {
"description": "Création d'un nouvel utilisateur.",
"permissions": [["admin"]],
"parameters": {
"code": { "description": "Code RFID de l'utilisateur.", "type": "rfid" },
"username": { "description": "Identifiant de l'utilisateur.", "type": "varchar(1,30,alphanumeric)" },
"firstname": { "description": "Prénom de l'utilisateur.", "type": "varchar(3,30,letters)" },
"lastname": { "description": "Nom de l'utilisateur.", "type": "varchar(3,30,letters)" },
"mail": { "description": "Adresse mail de l'utilisateur.", "type": "mail" }
},
"output": {
"id_user": { "description": "UID de l'utilisateur créé.", "type": "id" }
}
},
"POST::link": {
"description": "Ajout d'un utilisateur à un groupe.",
"permissions": [["admin"]],
"parameters": {
"id_cluster": { "description": "UID du groupe auquel rattacher.", "type": "id" },
"id_user": { "description": "UID de l'utilisateur à rattacher.", "type": "id" }
},
"output": {}
},
"POST::unlink": {
"description": "Retrait d'un utilisateur d'un groupe",
"permissions": [["admin"]],
"parameters": {
"id_cluster": { "description": "UID du groupe auquel détacher.", "type": "id" },
"id_user": { "description": "UID de l'utilisateur à détacher.", "type": "id" }
},
"output": {}
},
"POST::search": {
"description": "Recherche d'un utilisateur par mots-clés.",
"permissions": [["admin"]],
"parameters": {
"keywords": { "description": "Mots-clés de la recherche.", "type": "text" }
},
"output": {
"users": { "description": "Liste des utilisateurs correspondants aux mots-clés.", "type": "array<mixed>" }
}
},
"POST::getAll": {
"description": "Liste de tous les utilisateurs",
"permissions": [["admin"]],
"parameters": {},
"output": {
"users": { "description": "Liste de tous les utilisateurs.", "type": "array<array<mixed>>" }
}
},
"POST::getById": {
"description": "Retourne un utilisateur spécifique.",
"permissions": [["admin"]],
"parameters": {
"id_user": { "description": "UID de l'utilisateur.", "type": "id" }
},
"output": {
"user": { "description": "Données de l'utilisateur.", "type": "array<mixed>" }
}
},
"POST::getByCode": {
"description": "Retourne un utilisateur de Code RFID donné.",
"permissions": [["admin"]],
"parameters": {
"code": { "description": "Code RFID de l'utilisateur.", "type": "rfid" }
},
"output": {
"user": { "description": "Données de l'utilisateur.", "type": "array<mixed>" }
}
},
"POST::getByUsername": {
"description": "Retourne un utilisateur d'identifiant donné.",
"permissions": [["admin"]],
"parameters": {
"username": { "description": "Identifiant de l'utilisateur.", "type": "varchar(1,30,alphanumeric)" }
},
"output": {
"user": { "description": "Données de l'utilisateur.", "type": "array<mixed>" }
}
},
"POST::getClusters": {
"description": "Retourne les groupes d'un utilisateur.",
"permissions": [["admin"]],
"parameters": {
"id_user": { "description": "UID de l'utilisateur.", "type": "id" }
},
"output": {
"clusters": { "description": "Liste des groupes de l'utilisateur.", "type": "array<array<mixed>>" }
}
},
"POST::edit": {
"description": "Modifie les attributs d'un utilisateur.",
"permissions": [["admin"]],
"parameters": {
"id_user": { "description": "UID de l'utilisateur.", "type": "id" },
"code": { "description": "Code RFID de l'utilisateur.", "type": "rfid", "optional": true },
"username": { "description": "Identifiant de l'utilisateur.", "type": "varchar(1,30,alphanumeric)", "optional": true },
"firstname": { "description": "Prénom de l'utilisateur.", "type": "varchar(3,30,letters)", "optional": true },
"lastname": { "description": "Nom de l'utilisateur.", "type": "varchar(3,30,letters)", "optional": true },
"mail": { "description": "Adresse mail de l'utilisateur.", "type": "mail", "optional": true },
"password": { "description": "Mot de passe de l'utilisateur.", "type": "text", "optional": true },
"status": { "description": "Status de l'utilisateur.", "type": "status", "optional": true }
},
"output": {
"status": { "description": "Status de la modification.", "type": "boolean" }
}
},
"POST::delete": {
"description": "Suppression d'un utilisateur.",
"permissions": [["admin"]],
"parameters": {
"id_user": { "description": "UID de l'utilisateur.", "type": "id" }
},
"output": {
"status": { "description": "Status de la suppression.", "type": "boolean" }
}
}
},
"machineDefault": {
"POST::sync": {
"description": "Synchronisation d'une machine.",
"permissions": [["sats"]],
"parameters": {
"data": { "description": "Données (dépendent des modules).", "type": "array<mixed>" }
},
"output": {
"data": { "description": "Données (dépendent des modules).", "type": "array<mixed>" }
}
},
"POST::init": {
"description": "Données d'initialisation d'une machine.",
"permissions": [["warehouse"]],
"parameters": {
"id_machine": { "description": "UID de la machine.", "type": "id" },
"token": { "description": "Initialisation du code d'accès évolutif", "type": "hash" },
"unlock": { "description": "Code d'initialisation", "type": "hash" }
},
"output": {
"data": { "description": "Données d'initialisation.", "type": "array<mixed>" }
}
},
"POST::create": {
"description": "Création d'une nouvelle machine.",
"permissions": [["admin"]],
"parameters": {
"name": { "description": "Nom de la machine.", "type": "varchar(1,30,letters)" }
},
"output": {
"id_machine": { "description": "UID de la machine.", "type": "id" }
}
},
"POST::link": {
"description": "Ajout d'une machine à un groupe.",
"permissions": [["admin"]],
"parameters": {
"id_machine": { "description": "UID de la machine.", "type": "id" },
"id_cluster": { "description": "UID du groupe de la machine.", "type": "id" }
},
"output": {}
},
"POST::unlink": {
"description": "Retrait d'une machine d'un groupe.",
"permissions": [["admin"]],
"parameters": {
"id_machine": { "description": "UID de la machine.", "type": "id" },
"id_cluster": { "description": "UID du groupe de la machine.", "type": "id" }
},
"output": {}
},
"POST::search": {
"description": "Recherche une machine par mots-clés.",
"permissions": [["admin"]],
"parameters": {
"keywords": { "description": "Mots-clés de recherche de machine", "type": "text" }
},
"output": {
"machines": { "description": "Liste des machines correspondant à la recherche.", "type": "array<array<mixed>>" }
}
},
"POST::getAll": {
"description": "Retourne la liste de toutes les machines.",
"permissions": [["admin"]],
"parameters": {},
"output": {
"machines": { "description": "Liste de toutes les machines.", "type": "array<array<mixed>>" }
}
},
"POST::getById": {
"description": "Retourne les données d'une machine.",
"permissions": [["admin"]],
"parameters": {
"id_machine": { "description": "UID de la machine.", "type": "id" }
},
"output": {
"machine": { "description": "Données de la machine.", "type": "array<mixed>" }
}
},
"POST::getByName": {
"description": "Retourne les données d'une machine de nom donné.",
"permissions": [["admin"]],
"parameters": {
"name": { "description": "Nom de la machine.", "type": "varchar(1,30,letters)" }
},
"output": {
"machine": { "description": "Données de la machine.", "type": "array<mixed>" }
}
},
"POST::getClusters": {
"description": "Retourne les groupes d'une machine.",
"permissions": [["admin"]],
"parameters": {
"id_machine": { "description": "UID de la machine.", "type": "id" }
},
"output": {
"clusters": { "description": "Liste des groupes de la machine.", "type": "array<array<mixed>>" }
}
},
"POST::edit": {
"description": "Modifie les attributs d'une machine.",
"permissions": [["admin"]],
"parameters": {
"id_machine": { "description": "UID de la machine.", "type": "id" },
"name": { "description": "Nom de la machine.", "type": "varchar(1,30,letters)", "optional": true }
},
"output": {}
},
"POST::delete": {
"description": "Supprime une machine.",
"permissions": [["admin"]],
"parameters": {
"id_machine": { "description": "UID de la machine.", "type": "id" }
},
"output": {
"status": { "description": "Status de la suppression.", "type": "boolean" }
}
},
"POST::getState": {
"description": "Retourne l'état d'une machine.",
"permissions": [["admin"]],
"parameters": {
"id_machine": { "description": "UID de la machine", "type": "id" }
},
"output": {
"state": { "description": "Etat de la machine", "type": "text" }
}
}
},
"clusterDefault": {
"POST::create": {
"description": "Création d'un nouveau groupe.",
"permissions": [["admin"]],
"parameters": {
"name": { "description": "Nom du groupe.", "type": "varchar(1,30,letters)" },
"class": { "description": "Type de groupe.", "type": "id" }
},
"output": {
"id_cluster": { "description": "UID du groupe créé.", "type": "id" }
}
},
"POST::search": {
"description": "Recherche d'un groupe par mots-clés.",
"permissions": [["admin"]],
"parameters": {
"keywords": { "description": "Mots-clés de la recherche.", "type": "text" },
"class": { "description": "Type de groupe.", "type": "id", "optional": true }
},
"output": {
"clusters": { "description": "Liste des groupes correspondants aux mots-clés.", "type": "array<mixed>" }
}
},
"POST::getAll": {
"description": "Liste de tous les groupes",
"permissions": [["admin"]],
"parameters": {
"class": { "description": "Type de groupe.", "type": "id" }
},
"output": {
"clusters": { "description": "Liste de tous les groupes.", "type": "array<array<mixed>>" }
}
},
"POST::getById": {
"description": "Retourne un groupe spécifique.",
"permissions": [["admin"]],
"parameters": {
"id_cluster": { "description": "UID du groupe.", "type": "id" },
"class": { "description": "Type de groupe.", "type": "id" }
},
"output": {
"cluster": { "description": "Données du groupe.", "type": "array<mixed>" }
}
},
"POST::getByName": {
"description": "Retourne un groupe de nom donné.",
"permissions": [["admin"]],
"parameters": {
"name": { "description": "Nom du groupe.", "type": "varchar(1,30,letters)" },
"class": { "description": "Type de groupe.", "type": "id" }
},
"output": {
"cluster": { "description": "Données du groupe.", "type": "array<mixed>" }
}
},
"POST::getMembers": {
"description": "Retourne les membres d'un groupe.",
"permissions": [["admin"]],
"parameters": {
"id_cluster": { "description": "UID du groupe.", "type": "id" },
"class": { "description": "Type de groupe.", "type": "id" }
},
"output": {
"members": { "description": "Liste des membres du groupe.", "type": "array<array<mixed>>" }
}
},
"POST::edit": {
"description": "Modifie le nom d'un groupe.",
"permissions": [["admin"]],
"parameters": {
"id_cluster": { "description": "UID du groupe.", "type": "id" },
"class": { "description": "Type de groupe.", "type": "id" },
"name": { "description": "Nom du groupe.", "type": "varchar(1,30,letters)" }
},
"output": {
"status": { "description": "Status de la modification.", "type": "boolean" }
}
},
"POST::delete": {
"description": "Suppression d'un groupe.",
"permissions": [["admin"]],
"parameters": {
"id_cluster": { "description": "UID du groupe.", "type": "id" },
"class": { "description": "Type de groupe.", "type": "id" }
},
"output": {
"status": { "description": "Status de la suppression.", "type": "boolean" }
}
},
"POST::addPermission": {
"description": "Ajout d'une permission",
"permissions": [["admin"]],
"parameters": {
"id_source": { "description": "Groupe d'utilisateur source.", "type": "id" },
"id_target": { "description": "Groupe de machine cible.", "type": "id" },
"id_action": { "description": "Action en question.", "type": "id" }
},
"output": {}
},
"POST::remPermission": {
"description": "Suppression d'une permission",
"permissions": [["admin"]],
"parameters": {
"id_source": { "description": "Groupe d'utilisateur source.", "type": "id" },
"id_target": { "description": "Groupe de machine cible.", "type": "id" },
"id_action": { "description": "Action en question.", "type": "id" }
},
"output": {}
},
"POST::getPermissions": {
"description": "Retourne la liste des permissions",
"permissions": [["admin"]],
"parameters": {},
"output": {
"permissions": { "description": "Liste des permissions", "type": "array" }
}
},
"POST::getAuthenticatedClusters": {
"description": "Retourne les groupes d'utilisateurs ayant une action sur un groupe de machine.",
"permissions": [["admin"]],
"parameters": {
"id_target": { "description": "Groupe de machine cible.", "type": "id" },
"id_action": { "description": "Action en question.", "type": "id" }
},
"output": {
"clusters": { "description": "Liste des groupes d'utilisateurs.", "type": "array" }
}
}
},
"historyDefault": {
"POST::create": {
"description": "Retourne l'historique complet",
"permissions": [["admin"], ["sats"]],
"parameters": {
"id_machine": { "description": "Machine UID", "type": "id" },
"id_user": { "description": "User UID", "type": "id" },
"id_action": { "description": "Action UID", "type": "id" },
"timestamp": { "description": "timestamp", "type": "id" }
},
"output": {}
},
"POST::getAll": {
"description": "Retourne l'historique complet",
"permissions": [["admin"]],
"parameters": {},
"output": {
"history": { "description": "Données de l'historique", "type": "array" }
}
}
}
}