Project

General

Profile

Development #60643

api notification pour plusieurs utilisateurs à la fois

Added by Frédéric Péters 7 months ago. Updated 4 months ago.

Status:
Fermé
Priority:
Normal
Target version:
-
Start date:
13 January 2022
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

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

Related to w.c.s. - Development #60639: Permettre l'envoi de notification en masseFermé13 January 202225 March 2022

Actions

Associated revisions

Revision 93d54bf0 (diff)
Added by Nicolas Roche (absent jusqu'au 19 août) 4 months ago

tests: add test on add notification endpoint (#60643)

Revision 0be13568 (diff)
Added by Nicolas Roche (absent jusqu'au 19 août) 4 months ago

notification: send a notification to several users (#60643)

History

#1

Updated by Frédéric Péters 7 months ago

#2

Updated by Nicolas Roche (absent jusqu'au 19 août) 7 months ago

  • Assignee set to Nicolas Roche (absent jusqu'au 19 août)
#3

Updated by Nicolas Roche (absent jusqu'au 19 août) 7 months ago

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).

#4

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.

#6

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.

#7

Updated by Frédéric Péters 6 months ago

  • Status changed from Solution proposée to En cours
#8

Updated by Nicolas Roche (absent jusqu'au 19 août) 5 months ago

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.

#9

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

#10

Updated by Frédéric Péters 5 months ago

Je me dis qu'on peut faire sans là tout de suite.

#11

Updated by Frédéric Péters 4 months ago

  • Status changed from Solution proposée to Solution validée
#12

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)
#13

Updated by Transition automatique 4 months ago

  • Status changed from Résolu (à déployer) to Solution déployée
#14

Updated by Transition automatique 2 months ago

Automatic expiration

Also available in: Atom PDF