Me voila de retour après une période d’absence sur ce forum, j’aurais bien besoin de quelques conseils avisés
Mon besoin est le suivant :
Lors de la création d’un nouvel item de type « Event », je veux envoyer un mail récapitulatif à une adresse email « admin », qui permettra de valider (ou non), la publication de l’événement.
J’ai réfléchi à plusieurs options mais, n’étant pas du tout un expert Directus, j’aimerais bien un avis tiers.
Une solution qui me semble être pas mal serait de créer un attribut ‹ isValidate › sur l’Event, par defaut à false. Créer ensuite un endpoint qui enverrait le mail, appelé par un webhook déclenché par la création d’un evenement. Et enfin un endpoint qui serait appelé au clique dans le mail sur le bouton de validation (ou non), qui passerait l’attribut ‹ isValidate › à la valeur voulue.
Seulement, je ne suis pas sûr que ça soit la solution la plus optimisée, et surtout, ça m’obligerait à filtrer dans mon appli, les évènements ayant la propriété isValidate à true, et les filtres étant modifiable à la volée, on aurait un souci de sécurité.
Je m’excuse par avance si le sujet a déjà été ouvert sur le forum, je n’ai pas trouvé… Mais je doute que je sois le seul à avoir eu le problème
En jouant avec les permissions, on doit pouvoir filtrer par défaut sur la propriété isValid à true. Reste à savoir si le reste du fonctionnement que j’ai imaginé semble cohérent ou si il faut que je revois tout ca
De mon avis, c’est tout à fait dans les cordes de Flows et que ce soit directus qui gère. Le mieux pour ce genre d’events, c’est que ce soit géré par le back.
Bonjour @Mrt1 ,
Merci pour ta réponse. J’ai fouillé un petit peu dans les possibilités des Flows et ai assez rapidement réussi à envoyer un mail. Pour ce que est de la validation de la création de mon « Event » via le mail, je ne vois pas trop comment passer par les flows, un nouvel endpoint me parait plus approprié, est ce que tu me confirmes ou bien j’ai loupé quelque chose sur les flows ?
Merci par avance
Si j’ai bien compris, tu peux passer par un endpoint effectivement, avec une moulinette ‹ Flows ›.
tu envoies le mails qui contient un lien/token (avec Flows), quand on cliques sur le lien dans le mail, ça envoie vers endpoint qui modifie alors la DB au niveau de directus ou qui déclenche un événement et ça peut aussi se faire avec un Flows.
Perso, je fais ça pour valider une adresse mail pour ma webapp. Lors de l’inscription, ça envoie un mail avec un lien qui contient un token. Quand on cliques sur le lien reçu, ça retrouve l’utilisateur via son mail d’inscription et un flows passe alors l’utilisateur en ‹ utilisateur/mail validé ›. Je dois avoir 2 flows pour gérer cet aller retour.
D’accord merci beaucoup,
Si j’ai bien compris, le flows qui change le statut de ton utilisateur, est déclenché grâce à un trigger de type webhook ? Cela créer une API /flows/trigger/trigger-uid et lors de l’appel de celle ci, tu lances tes opérations de validation du token, et changement de statut de ton utilisateur, c’est bien cela ?
Yes je vais essayer de passer à la dernière version mais je suis encore en 9.26 donc la marche va etre haute. npm update
et npx directus database migrate:latest
ne semblent pas suffire
Non tout se passe bien mais impossible de monter à une version supérieur, la cli me dit etre up to date.J’ai manuellement monté node et npm, tenté un npm install directus@10, ca a pété et depuis cj’ai des erreurs.
Rien d’anormal dans mes logs, j’ai désactivé l’utilisation du cache pour les flows sans succès. Je suis tombé sur ce sujet sur github, ca semble correspondre à mon souci, mais la version concernée est ancienne, bizarre que ca ne soit pas encore patché …
Correction, je vois dans mes logs que le webhook qui sert de trigger au flow est appelé deux fois, étrange. Je vais rajouter une condition avant l’update de mon Event pour vérifié qu’il n’est pas déja validé.