Development #35361
api_entreprise: permettre de savoir si un document d'association d'un type particulier existe
0%
Description
Pour avoir un referentiel
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
Ça ne me semble pas nécessaire pour la demande de Arles, il suffit d'avoir un argument type au endpoint et trier le résultat filtrer par ordre anti-chronologique, les types on les connaît (ou si on les connaît pas on ne risque pas de les demander).
Par contre on peut afficher la liste des types connus dans le résumé du connecteur, c'est de la doc en ligne.
Mis à jour par Serghei Mihai il y a plus de 4 ans
Benjamin Dauvergne a écrit :
Ça ne me semble pas nécessaire pour la demande de Arles, il suffit d'avoir un argument type au endpoint et trier le résultat filtrer par ordre anti-chronologique, les types on les connaît (ou si on les connaît pas on ne risque pas de les demander).
Je suis d'accord avec toi.
En revanche, comme certains documents n'ont pas de type, il me semble impossible de garantir que tous les types définis dans la doc soient présents pour une association donnée.
D'ou l'idée de pouvoir le lister.
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
Serghei Mihai a écrit :
Benjamin Dauvergne a écrit :
Ça ne me semble pas nécessaire pour la demande de Arles, il suffit d'avoir un argument type au endpoint et trier le résultat filtrer par ordre anti-chronologique, les types on les connaît (ou si on les connaît pas on ne risque pas de les demander).
Je suis d'accord avec toi.
En revanche, comme certains documents n'ont pas de type, il me semble impossible de garantir que tous les types définis dans la doc soient présents pour une association donnée.
D'ou l'idée de pouvoir le lister.
Soyons clairs, les documents qui n'ont pas de type on ne les récupérera pas, il y a une limite à la quantité de travail qu'on peut appliquer à une solution mal branlée. Le but c'est quand même d'avoir un système automatique "dites-le nous une fois" pas de proposer aux agents ou aux usagers d'explorer les méandres tortueux d'api-entreprise. Si un document n'a pas de type et s'appelle juste "StAtUt-deux-mille-dix-neuf.pdf" tant pis hein, ou alors on fait d'api-entreprise un backend à fargo où les association vont chercher leur document mais ça change complètement d'approche.
Mis à jour par Serghei Mihai il y a plus de 4 ans
Benjamin Dauvergne a écrit :
Soyons clairs, les documents qui n'ont pas de type on ne les récupérera pas, il y a une limite à la quantité de travail qu'on peut appliquer à une solution mal branlée. Le but c'est quand même d'avoir un système automatique "dites-le nous une fois" pas de proposer aux agents ou aux usagers d'explorer les méandres tortueux d'api-entreprise. Si un document n'a pas de type et s'appelle juste "StAtUt-deux-mille-dix-neuf.pdf" tant pis hein, ou alors on fait d'api-entreprise un backend à fargo où les association vont chercher leur document mais ça change complètement d'approche.
Bien sûr: on ne récupère pas les documents sans type.
Mais je trouve d'avoir un moyen de lister les types de docs pour une asso, au lieu de retourner une 404 parce qu'on a demandé la liste des dirigeants alors qu'elle n'existe pas.
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
Personne ne dit de retourner 404, faut juste un endpoint qui renvoie True or False et ainsi dans une condition on peut mettre webservice.association_has_liste_dirigeant.value
sinon avec une liste il faudrait écrire bool([x for x in webservice.association_liste_document if x['type'] == 'Liste des dirigeants'])
non ?
Tu vois comment pour que ce soit simple à utiliser dans w.c.s. avec un truc qui renvoie une liste plutôt que de renvoyer oui/non ou le fichier ?
Mis à jour par Serghei Mihai il y a plus de 4 ans
D'accord avec toi sur un webservice signalant qu'un document de tel type existe et un autre pour retourner le dernier document de ce type.
Mis à jour par Serghei Mihai il y a plus de 4 ans
- Sujet changé de api_entreprise: listes les types de documents d'association à api_entreprise: permettre de savoir si un document d'association d'un type particulier existe
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
Si tu renvoies le descriptif du document avec l'URL de téléchargement plutôt que juste true/false ça devrait suffire.
GET /api_entreprise/slug/documents_association/W09343434/get-last/?type=Statuts Accept: application/json Content-Type: application/json
{
"err": 0,
"data": {
"id": "whatever",
"type": "Statuts",
"text": "whatever",
"url": "https://passerelle/api_entreprise/slug/W3434344/ishdfisidhfisdf/",
"timestamp": "2019-04-05"
}
}
Mis à jour par Serghei Mihai il y a plus de 4 ans
- Fichier 0001-api_entreprise-add-endpoint-to-get-last-document-of-.patch 0001-api_entreprise-add-endpoint-to-get-last-document-of-.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Assigné à mis à Serghei Mihai
- Patch proposed changé de Non à Oui
Yep.
Mis à jour par Frédéric Péters il y a plus de 4 ans
On ne met pas de virgule avant trois petits points.
Perso côté code je 1/ ferais documents = [x for x in whatever if type == le type], puis 2/ documents.sort(key=...), puis 3/ return documents[-1].
C'est particulièrement pour le tri, qui est rendu ainsi beaucoup plus explicite.
Mis à jour par Serghei Mihai il y a plus de 4 ans
- Fichier 0001-api_entreprise-add-endpoint-to-get-last-document-of-.patch 0001-api_entreprise-add-endpoint-to-get-last-document-of-.patch ajouté
Frédéric Péters a écrit :
On ne met pas de virgule avant trois petits points.
Je vais faire un patch à part pour changer partout pour éviter à faire des traductions avec et sans virgule.
Ok pour rendre le tri plus explicite.
Mis à jour par Thomas Noël il y a plus de 4 ans
Serghei Mihai a écrit :
Frédéric Péters a écrit :
On ne met pas de virgule avant trois petits points.
Je vais faire un patch à part pour changer partout pour éviter à faire des traductions avec et sans virgule.
Ce que voulait Frédéric c'est corriger dès à présent dans ce patch :
'Description': _('request object (form number, file identifier, ...)'), → request object: form number, file identifier... 'description': _('request context (MPS, APS, ... )'), → request context: MPS, APS...
Tiens on note d'ailleurs une erreur ici, un D majuscule sur la première description.
Sinon je parle mal anglais mais je crois que plus personne ne se fatigue à écrire 's comme dans « association's SIREN », tu peux directement écrire « association SIREN or RNA/WALDEC number » et zou (ok on s'en fout pas mal, ça sera jamais lu en anglais de toute façons)
Mis à jour par Serghei Mihai il y a plus de 4 ans
- Fichier 0002-api_entreprise-add-endpoint-to-get-last-document-of-.patch 0002-api_entreprise-add-endpoint-to-get-last-document-of-.patch ajouté
- Fichier 0001-api_entreprise-update-endpoints-parameters-descripti.patch 0001-api_entreprise-update-endpoints-parameters-descripti.patch ajouté
Voilà, correction de tous les descriptifs d'abord.
Mis à jour par Thomas Noël il y a plus de 4 ans
- Statut changé de Solution proposée à Solution validée
Ok bien que je pense que le timestamp n'a rien à voir avec la date du document lui-même.
En vrai moi j'aurai juste ajouté la possibilité de filtrage par type dans documents_associations
, à mon avis ça suffisait à tout usage.
Mis à jour par Serghei Mihai il y a plus de 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
Effectivement on aurait pu filtrer par type, ensuite accéder au dernier élément de la liste depuis le formulaire/worflow.
Mais j'imagine le cas plutôt: je veux le dernier statut. Sans chercher combien y en a et lequel est le plus récent.
On verra à l'usage.
commit ff87ebb7c2b9220ed02b5b58d952c5bd12eea7c6 (origin/master, origin/HEAD) Author: Serghei Mihai <smihai@entrouvert.com> Date: Mon Aug 12 12:21:59 2019 +0200 api_entreprise: add endpoint to get last document of given type (#35361) commit 5afa6b45f87720563561c162089a4487f47b2095 Author: Serghei Mihai <smihai@entrouvert.com> Date: Thu Sep 5 15:16:08 2019 +0200 api_entreprise: update endpoints parameters description
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
api_entreprise: add endpoint to get last document of given type (#35361)