# Implémentation synchron Queen / Pearl [Back] Notes liées :bookmark_tabs: : - [Stratégie de synchronisation Pearl / Queen](/4z-cCYrtS3SOg0cB19Ut5w) - [Synchro Queen / Pearl](/bov9kNmNScewPDxn7gYe9g) - [Implémentation synchro Queen / Pearl [Front]](/ZLgvUDosSga-eFmsWEEaQw) ## Pearl & Queen Il y a exactement les même évolutions pour Queen et Pearl afin d'assurer la sécurité de la synchronisation. La suite de ce document concerne donc tant l'API Pearl que l'API Queen. ## Healthcheck Ajout d'un end-point accessible via - GET **/api/healthcheck** Ce end-point n'est pas sécurisé et ne necessite donc pas d'authentification. Il renvoie un code retour 200, si l'API est bien en vie. Il ne fait rien d'autre. ## Zone temporaire ("garage") ### POST Ajout d'un end-point accessible via - POST **/api/survey-unit/:id/temp-zone** Cette méthode récupère donc : - l'identifiant de l'unité-enquêtée - l'identifiant de l'enquêteur - le corps de la requête correspondant à l'unité enquêtée envoyée par le front Ensuite cette méthode enregistre une nouvelle ligne dans une table appelée **survey_unit_temp_zone**. Dans cette table il y a 4 colonnes: - **id** : identifiant unique - **survey_unit_id** : identifiant de l'unité enquêtée - **interviewer_id** (**user_id** pour Queen): identifiant de l'utilisateur faisant le POST - **date** : timestamp (milisec depuis 01/01/1970) : date d'enregistrement du POST (temps récupéré côté serveur) - **survey_unit** : colonne **jsonb** comprenant l'intégralité du corps de la requête Cette modélisation sans clé étrangère permet d'assurer un enregistrement dans tous les cas. Même dans le cas ou un même utilisateur enregistre 2 fois la même unité enquêtée (on aura donc 2 lignes dans la table avec des dates différentes) Ce end-point est sécurisé par la méthode classique de vérification de rôle. (Pas de vérification d'habilitations contrairement au PUT classique) ### GET Ajout d'un end-point accessible via: - GET **/api/survey-units/temp-zone** Il permet de récupérer toutes les unités enquêtées sauvegardées dans la zone temporaire ("garage") sans aucun filtre. Ce end-point est sécurisé par la méthode classique de vérification de rôle. (Pas de vérification d'habilitation)