Bug #57875
toulouse-smart : endpoint pour attacher un fichier
0%
Description
La doc https://passerelle.cutm-publik-preprod.nfrance.com/pfs/smart/doc#_addmedia .
- Ajouter un modèle
WcsRequestFile(content: FileField)
- Avoir un endpoint
/add_media/<wcs_request.id>/
qui recevrait en entrée{ 'files': [{'filename':, 'content_type': , 'content':...}] }
, créer un WcsRequestFile pour chaque fichier poussé - Lancer un job pour pousser chaque fichier
- Dans le job, si
wcs_request.result['id']
n'existe pas, on fait unSkipJob(timedelta(minutes=10))
, ça veut dire que l'intervention n'a pas encore été créée, on attend; sinon on pousse le fichier vers le web-service cité plus haut (!!! c'est du multipart/formdata).
Pas besoin de notifier w.c.s. que les choses vont bien c'est du fire-and-forget, par contre on peut retourner un nouvelle clé add_media_url
dans le web-service create_intervention pour simplifier l'usage dans les workflows.
Fichiers
Révisions associées
toulouse_smart: remove unnused timeout parameter from request function (#57875)
toulouse_smart: add a method parameter to request function (#57875)
toulouse_smart: add an add-media endpoint (#57875)
toulouse_smart: rename notification_url field (#57875)
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Statut changé de Nouveau à Rejeté
- Assigné à
Nicolas Rochesupprimé
Ça n'est plus nécessaire.
Mis à jour par Cyril CALESTANI il y a plus de 2 ans
Attention, cela n'a rien à voir le add media correspond à l'ajout de medias à la demande et la reprojection au recalcul de la coordonnées dans la projection cible ( ce qui n'est plus demandé par BG )
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Statut changé de Rejeté à Nouveau
Ah oui erreur.
Mis à jour par Nicolas Roche il y a plus de 2 ans
Avoir un endpoint /add_media/<wcs_request.id>/
Est-ce que, pour faire comme sur les autres endpoints, tu veux bien que je passe l'uuid en paramètre (endpoint /add_media?uuid=[wcs_request.uuid]) ?
qui recevrait en entrée { 'files': [{'filename':, 'content_type': , 'content':...}] },
Ce n'est pas évident de passer une liste dans les appels webservice de WCS.
Tu penses utiliser une expression python ?
ex: [form_var_file1_raw, form_var_file2_raw]
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
Il me semble qu'il suffit d'utiliser les clés files/0, files/1, files/2 et de poser sur le schéma l'option "unflatten" (pour une liste à longueur fixe, pour une longueur quelconque je suis d'accord que c'est plus compliqué, mais ça ne devrait pas arriver); mais ce n'est pas bien important, fais la version à un seul fichier si c'est plus simple pour toi.
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Fichier 0005-toulouse_smart-rename-notification_url-field-57875.patch 0005-toulouse_smart-rename-notification_url-field-57875.patch ajouté
- Fichier 0004-toulouse_smart-add-an-add-media-endpoint-57875.patch 0004-toulouse_smart-add-an-add-media-endpoint-57875.patch ajouté
- Fichier 0003-toulouse_smart-add-a-method-parameter-to-request-fun.patch 0003-toulouse_smart-add-a-method-parameter-to-request-fun.patch ajouté
- Fichier 0002-toulouse_smart-remove-unnused-timeout-parameter-from.patch 0002-toulouse_smart-remove-unnused-timeout-parameter-from.patch ajouté
- Fichier 0001-tests-merge-intervention_id-occurences-57875.patch 0001-tests-merge-intervention_id-occurences-57875.patch ajouté
- Tracker changé de Support à Bug
- Statut changé de En cours à Solution proposée
- Patch proposed changé de Non à Oui
Merci, je n'avais pas pensé à utiliser l'option "unflatten".
J'ai sorti les points annexes du patch principal (0004) pour en faciliter la relecture.
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
Ok.
Mis à jour par Nicolas Roche il y a plus de 2 ans
commit 64a199de232c36d1127593ba167f0ebe4624c8e5 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Sun Oct 31 18:25:29 2021 +0100 toulouse_smart: rename notification_url field (#57875) commit 8afd77f69750741b2f6b2fa5e69142373b09e5c8 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Sun Oct 31 17:31:08 2021 +0100 toulouse_smart: add an add-media endpoint (#57875) commit 8736651b4c3fc50c596961a1ed4d89f8b8a86bf4 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Sun Oct 31 17:30:10 2021 +0100 toulouse_smart: add a method parameter to request function (#57875) commit a71d61e7e9bc8b91341d08a2bf09de060e4e1e1e Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Sun Oct 31 17:24:46 2021 +0100 toulouse_smart: remove unnused timeout parameter from request function (#57875) commit b9cff06e4926675d5442b57fbd6da190558ee45a Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Sun Oct 31 17:17:59 2021 +0100 tests: merge intervention_id occurences (#57875)
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
tests: merge intervention_id occurences (#57875)