Documentation des nouvelles routes API Assiduité

- 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)
This commit is contained in:
Matthias HARTMANN 2023-03-31 09:33:40 +02:00
parent 447d654928
commit 563edf93c1

View File

@ -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 * **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) * **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": <string>,
"date_fin": <string>,
"etat": <string>,
"etudid":<int>
"moduleimpl_id"?: <int>
"desc"?:<string>
},
...
]
```
* **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** #### **assiduite-create**
* **Méthode:** POST * **Méthode:** POST
@ -1465,6 +1519,7 @@ valeurs numériques mais pas JSON compliant à cause des `NaN`.
"date_fin": <string>, "date_fin": <string>,
"etat": <string>, "etat": <string>,
"moduleimpl_id"?: <int> "moduleimpl_id"?: <int>
"desc"?:<string>
}, },
... ...
] ]
@ -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 * **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) * **Exemple de résultat:** [assiduite_edit.json](samples/sample_assiduite_edit.json.md)
#### **assiduites-edit**
* **Méthode:** POST
* **Permission: `ScoAssiduiteChange`**
* **Data:**
```json
[
{
"etudid":<int>
"etat"?: <string>,
"moduleimpl_id"?: <int>
"desc"?:<string>
},
...
]
```
* **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** #### **assiduite-delete**
* **Méthode:** POST * **Méthode:** POST