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 | | *assiduite_id* | int | identifiant unique |
| *etudid* | int | identifiant unique de l'étudiant concerné par l'assiduité | | *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é | | *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_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é | | *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é | | *user_id* | int ou null | utilisateur ayant créé l'assiduité |
| *est_just* | boolean | l'assiduité est-elle justifiée | | *est_just* | boolean | l'assiduité est-elle justifiée |
| *entry_date* | string | la date d'entrée de l'assiduité | | *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 > 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 > 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` * **Exemple d'utilisation:** `/api/assiduite/1`
* **Résultat:** Retourne un objet assiduité ou une erreur si l'id n'est pas connu * **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) * **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]** #### **assiduites[-query]**
@ -1471,13 +1484,14 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* `nip` * `nip`
* `ine` * `ine`
* **Query string:** * **Query string:**
* `etat` ('present','retard','absent) * `etat` ('PRESENT','RETARD','ABSENT')
* `moduleimpl_id` (X : id du moduleimpl concerné) * `moduleimpl_id` (X : id du moduleimpl concerné)
* `date_debut` (X : date format iso) * `date_debut` (X : date format iso)
* `date_fin` (X : date format iso) * `date_fin` (X : date format iso)
* `formsemestre_id` (X : id du formsemestre) * `formsemestre_id` (X : id du formsemestre)
* `est_just` (v,t,f,vrai,faux,true,false) * `est_just` (v,t,f,vrai,faux,true,false)
* `user_id` (X : id de l'utilisateur) * `user_id` (X : id de l'utilisateur)
* `with_justifs` (indique les justificatifs liés à l'assiduité)
* **Routes:** * **Routes:**
* `/assiduites/<int:etudid>` * `/assiduites/<int:etudid>`
* `/assiduites/<int:etudid>/query?` * `/assiduites/<int:etudid>/query?`
@ -1490,7 +1504,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* **Exemple d'utilisation:** * **Exemple d'utilisation:**
* `/api/assiduites/1` * `/api/assiduites/1`
* `/api/assiduites/1/query?etat=retard` * `/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 * **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) * **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` * `nip`
* `ine` * `ine`
* **Query string:** * **Query string:**
* `etat` ('present','retard','absent) * `etat` ('PRESENT','RETARD','ABSENT')
* `moduleimpl_id` (X : id du moduleimpl concerné) * `moduleimpl_id` (X : id du moduleimpl concerné)
* `date_debut` (X : date format ISO) * `date_debut` (X : date format ISO)
* `date_fin` (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`** * **Permission: `ScoView`**
* **Paramètres:** `formsemestre_id` * **Paramètres:** `formsemestre_id`
* **Query string:** * **Query string:**
* `etat` ('present','retard','absent) * `etat` ('PRESENT','RETARD','ABSENT')
* `moduleimpl_id` (X : id du moduleimpl concerné) * `moduleimpl_id` (X : id du moduleimpl concerné)
* `date_debut` (X : date format ISO) * `date_debut` (X : date format ISO)
* `date_fin` (X : date format ISO) * `date_fin` (X : date format ISO)
* `est_just` (v,t,f,vrai,faux,true,false) * `est_just` (v,t,f,vrai,faux,true,false)
* `user_id` (X : id de l'utilisateur) * `user_id` (X : id de l'utilisateur)
* `with_justifs` (indique les justificatifs liés à l'assiduité)
* **Routes:** * **Routes:**
* `/assiduites/formsemestre/<int:formsemestre_id>` * `/assiduites/formsemestre/<int:formsemestre_id>`
* `/assiduites/formsemestre/<int:formsemestre_id>/query?` * `/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`** * **Permission: `ScoView`**
* **Paramètres:** `formsemestre_id` * **Paramètres:** `formsemestre_id`
* **Query string:** * **Query string:**
* `etat` ('present','retard','absent) * `etat` ('PRESENT','RETARD','ABSENT')
* `moduleimpl_id` (X : id du moduleimpl concerné) * `moduleimpl_id` (X : id du moduleimpl concerné)
* `date_debut` (X : date format ISO) * `date_debut` (X : date format ISO)
* `date_fin` (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`** * **Permission: `ScoView`**
* **Query string:** * **Query string:**
* `etudids` **Obligatoire** (liste des etudids sous la forme `x,y,z,...`) * `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é) * `moduleimpl_id` (X : id du moduleimpl concerné)
* `date_debut` (X : date format ISO) * `date_debut` (X : date format ISO)
* `date_fin` (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>, "etat": <string>,
"moduleimpl_id"?: <int>, "moduleimpl_id"?: <int>,
"desc"?:<string>, "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>, "date_fin": <string>,
"etat": <string>, "etat": <string>,
"moduleimpl_id"?: <int>, "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>, "etat": <string>,
"moduleimpl_id": <int>, "moduleimpl_id": <int>,
"desc" : <string>, "desc" : <string>,
"external_data" : <Object>,
} }
``` ```
@ -1702,6 +1721,8 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
"etat"?: <string>, "etat"?: <string>,
"moduleimpl_id"?: <int>, "moduleimpl_id"?: <int>,
"desc"?:<string>, "desc"?:<string>,
"external_data" ?: <Object>,
}, },
... ...
] ]
@ -1739,17 +1760,19 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
#### Structure Justificatif #### Structure Justificatif
| attribut | type | commentaire | | attribut | type | commentaire |
| :----------- | :------------- | :------------------------------------------------------------ | | :-------------- | :------------- | :------------------------------------------------------------ |
| *justif_id* | int | identifiant unique | | *justif_id* | int | identifiant unique |
| *etudid* | int | identifiant unique de l'étudiant concerné par le justificatif | | *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 | | *code_nip* | int | identifiant unique de l'étudiant concerné par le justificatif |
| *date_fin* | string | date ISO de la fin de la période du justificatif | | *date_debut* | string | date ISO du début de la période du justificatif |
| *etat* | string | état du justificatif ( attente, valide, non_valide, modifie) | | *date_fin* | string | date ISO de la fin de la période du justificatif |
| *raison* | string ou null | explication du justificatif si présente | | *etat* | string | état du justificatif ( attente, valide, non_valide, modifie) |
| *fichier* | string | identifiant de l'archivage des fichiers | | *raison* | string ou null | explication du justificatif si présente |
|*user_id* | int or null | identifiant de l'utilisateur ayant créé le justificatif | | *fichier* | string | identifiant de l'archivage des fichiers |
| *entry_date* | string | date ISO de l'entrée du justificatif | | *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** #### **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
},
"..."
]
```