Add contact API tests and clean up observer hook

This commit is contained in:
2026-04-15 19:38:27 +02:00
parent 45d4f789de
commit 811db03019
3 changed files with 202 additions and 11 deletions

View File

@@ -20,3 +20,39 @@ npm run dev
```bash
docker compose up -d
```
## Contact form backend
The contact form posts to an SHSF function in `shsf/contact-api/main.py`.
### Public route
- `POST /` submits a message
- Body: `{ "username": string, "email": string, "message": string }`
- Rate limited per IP
### Admin routes
These routes require `X-Lunas-Key`, which must match the function's `LUNAS_KEY` env var.
- `GET /new` returns unread messages
- `POST /seen` marks one or more messages as seen
- `POST /delete` deletes one or more messages
Example bodies:
```json
{ "id": "message_..." }
```
or
```json
{ "ids": ["message_1", "message_2"] }
```
### Run backend tests
```bash
python3 shsf/contact-api/test_main.py
```