Development #60643
api notification pour plusieurs utilisateurs à la fois
0%
Description
L'API (api/notification/add/) prend un seul usager en paramètre; il serait utile de pouvoir en prendre plusieurs, qu'un message "publi-postée" depuis w.c.s. puisse être distribué en un seul appel.
Fichiers
Demandes liées
Révisions associées
notification: send a notification to several users (#60643)
Historique
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Lié à Development #60639: Permettre l'envoi de notification en masse ajouté
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Fichier 0002-notification-send-notification-to-several-users-6064.patch 0002-notification-send-notification-to-several-users-6064.patch ajouté
- Fichier 0001-tests-add-test-on-add-notification-endpoint-60643.patch 0001-tests-add-test-on-add-notification-endpoint-60643.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
L'API (api/notification/add/) prend un seul usager en paramètre
En fait il s'agit d'un paramètre implicite : l'utilisateur courant est récupéré dans l'objet request.
Ici je prend uniquement les usagers passés via le nouveau paramètre, s'il est fourni.
Avec #22390 on a ajouté un identifiant publique qui permet de mettre à jour la notification.
(lors de l'appel via l'action notification de wcs on renseigne cet identifiant avec le numéro de la demande d'origine, ex: "formdata:59-22".)
Le endpoint répond un nouveau message ('ids': [...]) si l'on créé plusieurs notifications sans fournir d'identifiant (pour ne pas modifier l'existant).
Mis à jour par Frédéric Péters il y a plus de 2 ans
usernames
"username" c'est l'identifiant de l'usager qui est quelque chose parfois activé dans Authentic, souvent pas et les utilisateurs vivent sans, s'identifient avec leur adresse email.
Il ne faut pas venir parler ici de "username", c'est s'assurer à coup sûr de quelque chose qui ne fonctionnera pas.
Entre applications de Publik un utilisateur est identifié par son uuid.
→ combo.profile.utils, get_user_from_name_id.
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Fichier 0002-notification-send-notification-to-several-users-6064.patch 0002-notification-send-notification-to-several-users-6064.patch ajouté
Merci
Mis à jour par Frédéric Péters il y a environ 2 ans
raise serializers.ValidationError({'users': _('"%s" user does not exist.') % uuid})
je serais plutôt pour ignorer, qu'un problème de provisionning d'un usager ne vienne pas pourrir tout le monde.
Mis à jour par Frédéric Péters il y a environ 2 ans
- Statut changé de Solution proposée à En cours
Mis à jour par Nicolas Roche il y a environ 2 ans
- Fichier 0002-notification-send-a-notification-to-several-users-60.patch 0002-notification-send-a-notification-to-several-users-60.patch ajouté
- Statut changé de En cours à Solution proposée
Fait : je passe l'erreur à l'appelant : les uuid atteints et ceux qui ne le sont pas.
J'ai essayé de clarifier mon code, notamment pour la réponse ou je garde l'existant d'une part puis j'ajoute 2 nouvelles réponses qui diffèrent si l'on fournit un id ou pas.
Mis à jour par Thomas Noël il y a environ 2 ans
On parle de volume de dizaine de milliers de name_ids, ne faut-il pas prévoir dès maintenant un passage en mode asynchrone ? On va attendre le problème
Mis à jour par Frédéric Péters il y a environ 2 ans
Je me dis qu'on peut faire sans là tout de suite.
Mis à jour par Frédéric Péters il y a environ 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Frédéric Péters il y a environ 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
Voilà poussé,
commit 0be13568827f6e0a95ac73629130278f1fe3b5ff Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Tue Jan 18 12:12:19 2022 +0100 notification: send a notification to several users (#60643) commit 93d54bf08fe7b7c5143369aba2ac15839e13da71 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Tue Jan 18 13:01:06 2022 +0100 tests: add test on add notification endpoint (#60643)
Mis à jour par Transition automatique il y a environ 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
tests: add test on add notification endpoint (#60643)