Migrate email catcher to Mailpit
This commit is contained in:
+1
-1
@@ -10,7 +10,7 @@ Base path: `/api/v1`.
|
||||
|
||||
## Auth
|
||||
- `POST /auth/register`: create a citizen account.
|
||||
- `POST /auth/otp/request`: send an OTP email through MailHog.
|
||||
- `POST /auth/otp/request`: send an OTP email through Mailpit.
|
||||
- `POST /auth/otp/verify`: verify OTP and create an API token.
|
||||
- `POST /auth/login/password`: password login fallback.
|
||||
- `POST /auth/change-password`: change the authenticated user's password.
|
||||
|
||||
@@ -20,7 +20,7 @@ The codebase does not use Drogon generated models or `Mapper<T>`. Raw SQL stays
|
||||
in repository/database helpers because the schema is still evolving.
|
||||
|
||||
## Local Email
|
||||
OTP emails are sent to MailHog over SMTP. MailHog keeps messages local and
|
||||
OTP emails are sent to Mailpit over SMTP. Mailpit keeps messages local and
|
||||
inspectable through its web UI.
|
||||
|
||||
## Password Hashing
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ and use intervention summaries.
|
||||
Admins manage roles, users, areas, teams, reference data, moderation and stats.
|
||||
|
||||
The project runs locally on the host machine. Docker is used only for external
|
||||
services such as MySQL and MailHog. Real production deployment and Dockerizing
|
||||
services such as MySQL and Mailpit. Real production deployment and Dockerizing
|
||||
the backend are later delivery tasks.
|
||||
|
||||
Important conventions:
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
## Implemented in this milestone
|
||||
- Project identity and documentation for Visione.
|
||||
- Root `AGENTS.md` for future coding agents.
|
||||
- Local Docker services for MySQL and MailHog.
|
||||
- Local Docker services for MySQL and Mailpit.
|
||||
- Initial MySQL schema and seed data.
|
||||
- Drogon backend structure for auth, reports, admin data and stats.
|
||||
- OTP email delivery through MailHog.
|
||||
- OTP email delivery through Mailpit.
|
||||
- Focused regression tests for technical endpoints and core validation helpers.
|
||||
- Local admin seed: `[email protected]` / `ChangeMe123!`, with forced password change flag.
|
||||
- Multipart report media upload endpoint storing files under `uploads/reports/`.
|
||||
|
||||
@@ -34,7 +34,7 @@ Valid milestone 2 transitions:
|
||||
- `REJECTED -> CLOSED`.
|
||||
|
||||
## MVP Scope
|
||||
- Local auth with email OTP delivered through MailHog.
|
||||
- Local auth with email OTP delivered through Mailpit.
|
||||
- MySQL persistence with migrations and seed data.
|
||||
- Report creation/list/detail/status/message/assignment/feedback/moderation flows.
|
||||
- Area polygons stored as GeoJSON and matched by backend logic.
|
||||
|
||||
@@ -897,7 +897,7 @@
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"delivery": {
|
||||
"example": "mailhog",
|
||||
"example": "mailpit",
|
||||
"type": "string"
|
||||
},
|
||||
"expires_in_minutes": {
|
||||
@@ -2209,7 +2209,7 @@
|
||||
},
|
||||
"/api/v1/auth/otp/request": {
|
||||
"post": {
|
||||
"description": "Sends a one-time code by email through MailHog locally.",
|
||||
"description": "Sends a one-time code by email through Mailpit locally.",
|
||||
"operationId": "AuthController.requestOtp",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
|
||||
Reference in New Issue
Block a user