Add contact API tests and clean up observer hook
This commit is contained in:
36
README.md
36
README.md
@@ -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
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user