feat: mail service

This commit is contained in:
Ilia Denisov
2026-04-17 18:39:16 +02:00
committed by GitHub
parent 23ffcb7535
commit 5b7593e6f6
183 changed files with 31215 additions and 248 deletions
+14 -8
View File
@@ -32,7 +32,7 @@ The service is embedded into an already existing trusted microservice environmen
- `Edge Service`
- `Auth / Session Service`
- `User Service`
- `Mail Service`
- `Notification Service`
- Internal event bus
`Edge Service` is the producer of authenticated connection observations.
@@ -41,7 +41,9 @@ The service is embedded into an already existing trusted microservice environmen
`Auth / Session Service` remains the owner of session lifecycle and session blocking.
`Mail Service` is used only for optional administrative notifications.
`Notification Service` is used for optional administrative notifications,
which may later result in e-mail delivery through `Mail Service`.
Geo Profile Service does not call `Mail Service` directly.
The event bus is used only as an auxiliary notification channel and not as the authoritative source of business state.
@@ -146,7 +148,8 @@ flowchart LR
Edge -. async flatbuffers ingest .-> Geo[Geo Profile Service]
Geo --> User[User Service]
Geo --> Mail[Mail Service]
Geo --> Notify[Notification Service]
Notify --> Mail[Mail Service]
Geo --> Bus[Event Bus]
Geo --> Auth
@@ -467,7 +470,7 @@ Meaning:
Producer:
- Geo Profile Service via `Mail Service`
- Geo Profile Service via `Notification Service`
Consumers:
@@ -794,16 +797,19 @@ Contract assumptions:
This keeps the hot path simple and avoids synchronous enforcement coupling.
## Integration with Mail Service
## Integration with Notification Service
Mail notifications are optional and configuration-driven.
Administrative notifications are optional and configuration-driven.
Mail is sent only when:
Notification routing is triggered only when:
- `country_review_recommended` transitions to `true`
- Email notifications are enabled
Mail is auxiliary and must not be required for business correctness.
`Notification Service` may then fan out e-mail delivery through
`Mail Service`.
Geo Profile Service itself never sends mail directly.
That path is auxiliary and must not be required for business correctness.
## Event Bus Integration