Development #52102
esirius: update-appointment demande deux fois le code du rendez-vous + améliorations des retours
0%
Description
Le codeRDV se retrouve demandé dans la query-string et dans le payload, c'est une fois de trop.
Je propose de laisser celui de la query-string, plus parlant.
Donc ne plus rendre codeRDV obligatoire dans le payload. Juste avant l'envoi des données PUT à eSirius, ajouter post_data['codeRDV'] = id
Au passage ajouter post_user['user']['address'] si ça n'existe pas, exactement comme c'est fait lors du POST.
- dans update, retourner un 'data' qui rappeler le "id" qui a été tapé :
return {'data': {'id': id, 'updated': True}}
- par symétrie, dans created, indiquer qu'il s'agissait bien d'une création :
return {'data': {'id': response.text, 'created': True}}
- et dans delete :
return {'data': {'id': id, 'deleted': True}}
Tout ça aidera au support d'avoir ces infos dans le workflow_data.
(faire 2 patches, un pour revoir update-appointment et l'autre pour améliorer les return)
Fichiers
Révisions associées
esirius: test unflatten payload (#52102)
esirius: improve endpoint returns verbosity (#52102)
Historique
Mis à jour par Nicolas Roche il y a environ 3 ans
- Fichier 0002-esirius-improve-endpoint-returns-verbosity-52102.patch 0002-esirius-improve-endpoint-returns-verbosity-52102.patch ajouté
- Fichier 0001-esirius-get-codeRdv-from-query-string-on-update-endp.patch 0001-esirius-get-codeRdv-from-query-string-on-update-endp.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Assigné à mis à Nicolas Roche
- Patch proposed changé de Non à Oui
Mis à jour par Thomas Noël il y a environ 3 ans
0001 :
Dans le test de PUT, il ne faut pas partir de GET_APPOINTMENT_RESPONSE mais bien de CREATE_APPOINTMENT_PAYLOAD : c'est ce que wcs va envoyer (wcs ne sait envoyer que des dictionnaires à plat avec des strings (ou presque)).
Et à ce moment de ma relecture un peu plus précise, je vois que tu testes avec un CREATE_APPOINTMENT_PAYLOAD qui n'est pas un dictionnaire à plat, donc pas comme un vrai wcs. Tu devrais modifier ça et utiliser des foo/bar, aussi pour vérifier que le unflatten marche bien. A faire dans un petit patch à part et hop.
0002 : nickel.
Mis à jour par Nicolas Roche il y a environ 3 ans
- Fichier 0003-esirius-improve-endpoint-returns-verbosity-52102.patch 0003-esirius-improve-endpoint-returns-verbosity-52102.patch ajouté
- Fichier 0002-esirius-test-unflatten-payload-52102.patch 0002-esirius-test-unflatten-payload-52102.patch ajouté
- Fichier 0001-esirius-get-codeRdv-from-query-string-on-update-endp.patch 0001-esirius-get-codeRdv-from-query-string-on-update-endp.patch ajouté
Remarques prise en compte.
Mis à jour par Thomas Noël il y a environ 3 ans
- Statut changé de Solution proposée à Solution validée
Nickel
Mis à jour par Nicolas Roche il y a environ 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit a8ddd0974054e1927e1a1e169f415588e6ebb2fb Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Wed Mar 17 18:05:41 2021 +0100 esirius: improve endpoint returns verbosity (#52102) commit aff11b6d7f5eebc95507f56de1636b09075ced82 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Thu Mar 18 09:56:05 2021 +0100 esirius: test unflatten payload (#52102) commit f1d331b2cca272cf4203b633cafa8002463cc4d7 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Wed Mar 17 18:00:20 2021 +0100 esirius: get codeRdv from query-string on update endpoint (#52102)
Mis à jour par Frédéric Péters il y a environ 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
esirius: get codeRdv from query-string on update endpoint (#52102)