:::info
# SWAGGER REM
:::
* Listes d'UE = samples
* UE = survey unit
* Cliquer sur **Authorize** lors du démarrage de la session -> Le token dure 5 minutes ou 30 minutes (parfois)
# Fonctionnalités
## ENDPOINT SAMPLE
### **[POST] /samples/** -> Créer une liste
* Permet de créer une liste d'UE avec une description (ex : nom de l'enquête)
* REM attribue un ID à la liste (numérique en séquence)
* Fonctionnalité : Créer une nouvelle liste
* Entrée: le nom de la liste
* Sortie: JSON contenant le nom de la liste et son id
### **[GET] /samples/{sampleId}** -> Exposer une liste d'UE
* Permet d'exposer une liste d'UE à partir de son ID
* Permet de vérifier la description de la liste d'UE gràce à son ID
* Fonctionnalité : Renvoie le nom de la liste
* Entrée: l’ID de la liste
* Sortie: JSON contenant le nom de la liste et son ID
### **[DELETE] /samples/{sampleId}** -> Supprimer une liste d'UE
* Permet de supprimer une liste d'UE à partir de son ID
* Fonctionnalité : Supprimer une liste -> les liens entre cette liste et les UE sont supprimés mais pas les UE
* Entrée: l’ID de la liste
* Sortie: Message
### **[GET] /samples/** -> Lister toutes les listes d'UE
* Permet d'exposer les listes d'UE
* Fonctionnalité : Renvoie l’ensemble des listes
* Entrée: Rien
* Sortie: JSON contenant l’ensemble des listes avec le nom et l’ID
## ENDPOINTS SURVEY-UNIT
### **[PUT] /survey-units/{surveyUnitId}/sample/{sampleId}** -> Ajouter une UE a une liste d'UE
* Permet d'ajouter une UE à une liste d'UE
* Fonctionnalité : Ajoute une UE déja existante à une autre liste
* Entrée: l’ID de l’UE et l’ID de la liste
* Sortie: Message
### **[DELETE] /survey-units/{surveyUnitId}/samples/{sampleId}** -> Enlever une UE d'une liste d'UE
* Permet de supprimer une UE d'une liste d'UE
* Fonctionnalité : Supprime une UE d’une liste -> l’UE n’est pas supprimé, juste le lien avec la liste
* Entrée: l’ID de l’UE et l’ID de la liste
* Sortie: Message
### **[POST] /survey-units/households/samples/{sampleId}/csv-upload** -> Ajouter un échantillon au format CSV à une liste d'UE
* Permet d'ajout un échantillon au format CSV à une liste d'UE
* Permet d'attribuer un ID REM à chaque UE (à partir de 1 000 000 en séquence)
* Fonctionnalité : Ajouter des nouvelles UE ménage à une liste à partir d’un CSV -> la liste doit déja avoir été crée mais n’a pas besoin d’etre vide
* Entrée: l’ID de la liste et le fichier CSV
* Sortie: Message
### **[GET] /survey-units/{surveyUnitId}** -> Exposer une UE par son ID
* Permet d'exposer le JSON d'une UE par son ID
* Fonctionnalité : Renvoie une UE en fonction de son ID
* Entrée: l’ID de l’UE
* Sortie: JSON contenant l’UE
### **[DELETE] /survey-units/{surveyUnitId}** -> Supprimer une UE de toutes les listes d'UE
* Permet de supprimer de la base une UE à partir de son ID
* Fonctionnalité : Supprime une UE en fonction de son ID -> l’UE est supprimée ainsi que tous ces liens avec des listes
* Entrée: l’ID de l’UE
* Sortie: Message
### **[GET] /survey-units/samples/{sampleId}** -> Exposer le JSON des UE composant une liste d'UE
* Permet d'exposer toutes les UE d'une liste d'UE à partir de l'ID de la liste d'UE
* Fonctionnalité : Renvoie toutes les UE d’une liste
* Entrée: l’ID de la liste
* Sortie: JSON contenant toutes les UE
### **[GET] /survey-units/samples/{sampleId}/ids** -> Lister les ID des UE d'une liste d'UE
* Permet de lister les ID des UE d'une liste d'UE à partir de l'ID de la liste d'UE
* Fonctionnalité : Renvoie tous les ID REM des UE d’une liste
* Entrée: l’ID de la liste
* Sortie: JSON contenant tous les ID des UE
### **[GET] /survey-units/samples/{sampleId}/ids-mapping-table** -> Produire table de passage entres les ID REM et les ID classiques
* Permet d'obtenir une table de passage entre les différents ID
* Fonctionnalité : Renvoie le mapping des ID REM et des ID de la source pour les UE d’une liste
* Entrée: l’ID de la liste
* Sortie: CSV à télécharger
# RECETTE
* ordre des endpoint ? Judicieux ?
* Les ID rem n'ont pas commencé à 1 000 000
* interessant d'avoir une fonctionnalité qui liste les UE qui sont sans liste ?
* fonctionnalité où une UE qui a déjà un ID REM -> garde son ID REM ? -> voir où nouvelles variables écrasent les anciennes