Automatiser les mailing lists
Quand un membre est mis à jour, ajouté ou supprimé d'un bureau (mutations {upsert,delete}GroupMember
), le mettre à jour sur all_bureau
Automatiser aussi les membres et admins des mailings des clubs
Et on pourrait potentiellement avoir pleins d'autres mailing lists automatisées
Closes #110.
Pour l'exposition de l'API REST de mailman:
-
côté Galileo:
un nginx avec un reverse proxy qui écoute sur genre mailman-api.bde.inp (oui on exposerait que dans la DMZ, mais on est dans la DMZ dans l'API du Churros donc ça marche)le reverse proxy pointe sur un tout piti serveur python flask, qui check juste une authentification basique HTTP toute conne (genreheaders["Authorization"] = f"Basic {os.getenv("MAILMAN_API_SECRET")}")
quand il reçoit genrePOST /update-membre/machin@list.bde.enseeiht.fr
, il effectue les actions avec l'API- l'api supporte l'auth avec un master token, donc on peut l'exposer direct dans la DMZ. une première piste: https://gitlab.com/mailman/mailman/-/issues/735
-
côté Churros:
-
nouveau secret, MAILMAN_API_SECRET
-
plus qu'à faire un ptit
await fetch(`/update-member/${group.ldapUid}@list.${group.studentAssociation.school.internalMailDomain}`, { headers: { Authorization: "Basic " + env.MAILMAN_SECRET_API }, ... })
quelque part dans le resolver des deux mutations qui touchent aux membres des clubs
-