From 563edf93c1c508e5654e165662f7c71a25d4754d Mon Sep 17 00:00:00 2001 From: Matthias HARTMANN Date: Fri, 31 Mar 2023 09:33:40 +0200 Subject: [PATCH] =?UTF-8?q?Documentation=20des=20nouvelles=20routes=20API?= =?UTF-8?q?=20Assiduit=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Route assiduites-group (On donne une liste d'etudid et cela renvoie un objet avec comme clé les étudid et comme valeur la liste des assiduités) - Route assiduites-create (On créer des assiduités pour des étudiants différents) - Route assiduites-edit (On donne une liste d'assiduité à modifier) --- docs/ScoDoc9API.md | 81 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/docs/ScoDoc9API.md b/docs/ScoDoc9API.md index 7c23dff3e..77eaf119e 100644 --- a/docs/ScoDoc9API.md +++ b/docs/ScoDoc9API.md @@ -1451,6 +1451,60 @@ valeurs numériques mais pas JSON compliant à cause des `NaN`. * **Résultat:** les métriques obtenu à partir des assiduitées de tous les étudiants du formsemestre correspondant aux critères sélectionnés * **Exemple de résultat:** [assiduites_formsemestre-count.json](samples/sample_assiduites_formsemestre_count.json.md) +#### **assiduites-group[-query]** + +* **Méthode:** GET +* **Permission: `ScoView`** +* **Query string:** + * `etudids` **Obligatoire** (liste des etudids sous la forme `x,y,z,...`) + * `etat` ('present','retard','absent) + * `moduleimpl_id` (X : id du moduleimpl concerné) + * `date_debut` (X : date format iso) + * `date_fin` (X : date format iso) +* **Routes:** + * `/assiduites/group/query?group=` +* **Exemple d'utilisation:** + * `/assiduites/group/query?group=1,2,3` + * `/assiduites/group/query?group=1,2,3&etat=retard` + * `/assiduites/group/query?group=1,2,3&moduleimpl=1` +* **Résultat:** + ```json + { + etudid1 : [{assiduité...}], + etudid2 : [{assiduité...}], + etudid3 : [{assiduité...}], + } + ``` + +#### **assiduites-create** + +* **Méthode:** POST +* **Permission: `ScoAssiduiteChange`** +* **Data:** + +```json +[ + { + "date_debut": , + "date_fin": , + "etat": , + "etudid": + "moduleimpl_id"?: + "desc"?: + }, + ... +] +``` + +* **Routes:** + * `/assiduites/create` +* **Exemple d'utilisation:** `/api/assiduites/create` + +> `[{date_debut: "2022-10-27T08:00",date_fin: "2022-10-27T10:00",etat: "absent",etudid:1}]` + +* **Résultat:** Retourne un objet en deux partie (errors et success) contenant le retour de chaque objet donné dans la requête post. + + #### **assiduite-create** * **Méthode:** POST @@ -1465,6 +1519,7 @@ valeurs numériques mais pas JSON compliant à cause des `NaN`. "date_fin": , "etat": , "moduleimpl_id"?: + "desc"?: }, ... ] @@ -1502,6 +1557,32 @@ valeurs numériques mais pas JSON compliant à cause des `NaN`. * **Résultat:** Modifie l'assiduité désignée. Renvoie une erreur si la modification rend incompatible la plage de l'assiduité par rapport aux autres assiduités du même étudiant * **Exemple de résultat:** [assiduite_edit.json](samples/sample_assiduite_edit.json.md) +#### **assiduites-edit** + +* **Méthode:** POST +* **Permission: `ScoAssiduiteChange`** +* **Data:** + +```json +[ + { + "etudid": + "etat"?: , + "moduleimpl_id"?: + "desc"?: + }, + ... +] +``` + +* **Routes:** + * `/assiduites/edit` +* **Exemple d'utilisation:** `/api/assiduites/edit` + +> `[{etat: "absent",assiduite_id:1},{etat: "retard",moduleimpl_id:12,assiduite_id:2}]` + +* **Résultat:** Retourne un objet en deux partie (errors et success) contenant le retour de chaque objet donné dans la requête post. + #### **assiduite-delete** * **Méthode:** POST