Files
OSIT-AE-API-FastAPI/app/methods
Scott Idem 6b25cf9c6d feat: add Novi AMS → Mailman 3 cron-based mirror sync bridge (IDAA)
Implements a full proof-of-concept for syncing IDAA's Novi AMS membership
groups to Mailman 3 mailing lists via a cron-triggered reconciliation approach.

Key changes:
- methods: rewrote sync engine around confirmed Novi API shape — group-based
  member fetch (/groups/{guid}/members + /customers/{uuid}), respects
  Active=false and UnsubscribeFromEmails=true flags
- methods: mirror_novi_group_to_mailman_list() diffs Novi group against
  Mailman roster and subscribes/unsubscribes accordingly (full mirror)
- methods: mirror_all_configured_mappings() iterates novi_mailman_sync
  config array in IDAA site cfg_json — this is the cron target
- router: replaced old /sync endpoint with POST /sync (all mappings) and
  POST /sync/group/{guid} (single mapping); removed webhook endpoint
  (sync is cron-based, not event-driven)
- router: added GET/POST/DELETE endpoints for list member inspection
  and manual subscribe/unsubscribe
- tests: two new e2e scripts covering connection checks and full member
  lifecycle; old webhook integration test archived

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 16:36:32 -04:00
..
2023-04-11 12:07:27 -04:00
2021-12-29 19:42:27 -05:00
2021-11-01 17:17:02 -04:00
2024-04-22 19:32:32 -04:00
2022-10-15 23:09:02 -04:00
2022-09-27 20:53:12 -04:00
2022-10-15 23:09:02 -04:00
2023-07-12 15:20:13 -04:00
2021-12-17 16:17:17 -05:00
2023-09-28 16:43:24 -04:00
2021-08-25 11:16:02 -04:00