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.
Files
Related issues
Associated revisions
notification: send a notification to several users (#60643)
History
Updated by Frédéric Péters 7 months ago
- Related to Development #60639: Permettre l'envoi de notification en masse added
Updated by Nicolas Roche (absent jusqu'au 19 août) 7 months ago
- Assignee set to Nicolas Roche (absent jusqu'au 19 août)
Updated by Nicolas Roche (absent jusqu'au 19 août) 7 months ago
- File 0002-notification-send-notification-to-several-users-6064.patch 0002-notification-send-notification-to-several-users-6064.patch added
- File 0001-tests-add-test-on-add-notification-endpoint-60643.patch 0001-tests-add-test-on-add-notification-endpoint-60643.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
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).
Updated by Frédéric Péters 7 months ago
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.
Updated by Frédéric Péters 6 months ago
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.
Updated by Nicolas Roche (absent jusqu'au 19 août) 5 months ago
- File 0002-notification-send-a-notification-to-several-users-60.patch 0002-notification-send-a-notification-to-several-users-60.patch added
- Status changed from En cours to 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.
Updated by Thomas Noël 5 months ago
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
Updated by Frédéric Péters 4 months ago
- Status changed from Solution proposée to Solution validée
Updated by Frédéric Péters 4 months ago
- Status changed from Solution validée to 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)
Updated by Transition automatique 4 months ago
- Status changed from Résolu (à déployer) to Solution déployée
tests: add test on add notification endpoint (#60643)