API Assiduites : nouvelles routes

This commit is contained in:
iziram 2023-07-31 09:13:26 +02:00
parent ebe4e92639
commit a7c47a02c2
2 changed files with 77 additions and 18 deletions

View File

@ -1440,6 +1440,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
| :-------------- | :------------- | :--------------------------------------------------------------- |
| *assiduite_id* | int | identifiant unique |
| *etudid* | int | identifiant unique de l'étudiant concerné par l'assiduité |
| *code_nip* | int | identifiant unique de l'étudiant concerné par l'assiduité |
| *moduleimpl_id* | int ou null | identifiant unique du module concerné par l'assiduité si indiqué |
| *date_debut* | string | date ISO du début de la période d'assiduité |
| *date_fin* | string | date ISO de la fin de la période d'assiduité |
@ -1448,6 +1449,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
| *user_id* | int ou null | utilisateur ayant créé l'assiduité |
| *est_just* | boolean | l'assiduité est-elle justifiée |
| *entry_date* | string | la date d'entrée de l'assiduité |
| *external_data* | json | des données supplémentaires (ex: module autre) |
> Rappel du format de date ISO : yyyy-mm-jjTHH:MM:SS
> Vous pouvez aussi spécifier le temps UTC en ajoutant '+HH:MM' à la fin
@ -1461,6 +1463,17 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* **Exemple d'utilisation:** `/api/assiduite/1`
* **Résultat:** Retourne un objet assiduité ou une erreur si l'id n'est pas connu
* **Exemple de résultat:** [assiduite.json](samples/sample_assiduite.json.md)
#### **assiduite-justificatifs**
* **Méthode:** GET
* **Permission: `ScoView`**
* **Paramètres:** `assiduite_id`
* **Routes:**
* `/assiduite/<int:assiduite_id>/justificatifs`
* `/assiduite/<int:assiduite_id>/justificatifs/long`
* **Exemple d'utilisation:** `/api/assiduite/1`
* **Résultat:** Retourne la liste des justificatifs justifiant l'assiduité.
* **Exemple de résultat:** [assiduite-justificatifs.json](samples/sample_assiduite_justificatifs.json.md)
#### **assiduites[-query]**
@ -1471,13 +1484,14 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* `nip`
* `ine`
* **Query string:**
* `etat` ('present','retard','absent)
* `etat` ('PRESENT','RETARD','ABSENT')
* `moduleimpl_id` (X : id du moduleimpl concerné)
* `date_debut` (X : date format iso)
* `date_fin` (X : date format iso)
* `formsemestre_id` (X : id du formsemestre)
* `est_just` (v,t,f,vrai,faux,true,false)
* `user_id` (X : id de l'utilisateur)
* `with_justifs` (indique les justificatifs liés à l'assiduité)
* **Routes:**
* `/assiduites/<int:etudid>`
* `/assiduites/<int:etudid>/query?`
@ -1490,7 +1504,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* **Exemple d'utilisation:**
* `/api/assiduites/1`
* `/api/assiduites/1/query?etat=retard`
* `/api/assiduites/1/query?moduleimpl_id=1`
* `/api/assiduites/1/query?moduleimpl_id=1&with_justifs`
* **Résultat:** Liste de toutes les objets assiduité qui correspondent aux critères sélectionnés
* **Exemple de résultat:** [assiduites.json](samples/sample_assiduites.json.md)
@ -1503,7 +1517,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* `nip`
* `ine`
* **Query string:**
* `etat` ('present','retard','absent)
* `etat` ('PRESENT','RETARD','ABSENT')
* `moduleimpl_id` (X : id du moduleimpl concerné)
* `date_debut` (X : date format ISO)
* `date_fin` (X : date format ISO)
@ -1534,12 +1548,13 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* **Permission: `ScoView`**
* **Paramètres:** `formsemestre_id`
* **Query string:**
* `etat` ('present','retard','absent)
* `etat` ('PRESENT','RETARD','ABSENT')
* `moduleimpl_id` (X : id du moduleimpl concerné)
* `date_debut` (X : date format ISO)
* `date_fin` (X : date format ISO)
* `est_just` (v,t,f,vrai,faux,true,false)
* `user_id` (X : id de l'utilisateur)
* `with_justifs` (indique les justificatifs liés à l'assiduité)
* **Routes:**
* `/assiduites/formsemestre/<int:formsemestre_id>`
* `/assiduites/formsemestre/<int:formsemestre_id>/query?`
@ -1556,7 +1571,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* **Permission: `ScoView`**
* **Paramètres:** `formsemestre_id`
* **Query string:**
* `etat` ('present','retard','absent)
* `etat` ('PRESENT','RETARD','ABSENT')
* `moduleimpl_id` (X : id du moduleimpl concerné)
* `date_debut` (X : date format ISO)
* `date_fin` (X : date format ISO)
@ -1578,7 +1593,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* **Permission: `ScoView`**
* **Query string:**
* `etudids` **Obligatoire** (liste des etudids sous la forme `x,y,z,...`)
* `etat` ('present','retard','absent)
* `etat` ('PRESENT','RETARD','ABSENT')
* `moduleimpl_id` (X : id du moduleimpl concerné)
* `date_debut` (X : date format ISO)
* `date_fin` (X : date format ISO)
@ -1615,6 +1630,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
"etat": <string>,
"moduleimpl_id"?: <int>,
"desc"?:<string>,
"external_data"?: <Object>,
},
...
]
@ -1646,7 +1662,9 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
"date_fin": <string>,
"etat": <string>,
"moduleimpl_id"?: <int>,
"desc"?:<string>
"desc"?:<string>,
"external_data"?: <Object>,
},
...
]
@ -1676,6 +1694,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
"etat": <string>,
"moduleimpl_id": <int>,
"desc" : <string>,
"external_data" : <Object>,
}
```
@ -1702,6 +1721,8 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
"etat"?: <string>,
"moduleimpl_id"?: <int>,
"desc"?:<string>,
"external_data" ?: <Object>,
},
...
]
@ -1739,17 +1760,19 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
#### Structure Justificatif
| attribut | type | commentaire |
| :----------- | :------------- | :------------------------------------------------------------ |
| *justif_id* | int | identifiant unique |
| *etudid* | int | identifiant unique de l'étudiant concerné par le justificatif |
| *date_debut* | string | date ISO du début de la période du justificatif |
| *date_fin* | string | date ISO de la fin de la période du justificatif |
| *etat* | string | état du justificatif ( attente, valide, non_valide, modifie) |
| *raison* | string ou null | explication du justificatif si présente |
| *fichier* | string | identifiant de l'archivage des fichiers |
|*user_id* | int or null | identifiant de l'utilisateur ayant créé le justificatif |
| *entry_date* | string | date ISO de l'entrée du justificatif |
| attribut | type | commentaire |
| :-------------- | :------------- | :------------------------------------------------------------ |
| *justif_id* | int | identifiant unique |
| *etudid* | int | identifiant unique de l'étudiant concerné par le justificatif |
| *code_nip* | int | identifiant unique de l'étudiant concerné par le justificatif |
| *date_debut* | string | date ISO du début de la période du justificatif |
| *date_fin* | string | date ISO de la fin de la période du justificatif |
| *etat* | string | état du justificatif ( attente, valide, non_valide, modifie) |
| *raison* | string ou null | explication du justificatif si présente |
| *fichier* | string | identifiant de l'archivage des fichiers |
| *user_id* | int or null | identifiant de l'utilisateur ayant créé le justificatif |
| *entry_date* | string | date ISO de l'entrée du justificatif |
| *external_data* | json | données supplémentaires |
#### **justificatif**

View File

@ -0,0 +1,36 @@
### assiduite-justificatifs
#### GET /assiduite/1/justificatifs
```json
[]
```
#### GET /assiduite/2/justificatifs
```json
[
1,
2,
...
]
```
#### GET /assiduite/2/justificatifs/long
```json
[
{
"date_debut": "2022-09-25T08:00:00+0200",
"date_fin": "2022-09-25T16:00:00+0200",
"entry_date": "2023-07-28T11:13:45+0200",
"etat": "VALIDE",
"etudid": 1,
"fichier": null,
"justif_id": 1,
"raison": "raison",
"user_id": null
},
"..."
]
```