Implements the ingest side of JMR-dev/LibreMail#34. Receives submissions from the app's opt-in review/submit screen (LibreMail#33).
Scope
HTTPS POST endpoint accepting a report payload.
Request size limit (reject oversized payloads).
Rate limiting and basic abuse protection per the policy from #6.
Reasonable HTTP status codes/responses for success, validation failure, and rate-limit rejection.
Acceptance criteria
A well-formed POST is accepted; oversized or rate-limited requests are rejected with the correct status code.
Dependencies
Depends on #1 (Worker scaffold) and #6 (abuse/rate-limit policy).
## Context
Implements the ingest side of [JMR-dev/LibreMail#34](https://github.com/JMR-dev/LibreMail/issues/34). Receives submissions from the app's opt-in review/submit screen ([LibreMail#33](https://github.com/JMR-dev/LibreMail/issues/33)).
## Scope
- [ ] HTTPS POST endpoint accepting a report payload.
- [ ] Request size limit (reject oversized payloads).
- [ ] Rate limiting and basic abuse protection per the policy from #6.
- [ ] Reasonable HTTP status codes/responses for success, validation failure, and rate-limit rejection.
## Acceptance criteria
- A well-formed POST is accepted; oversized or rate-limited requests are rejected with the correct status code.
## Dependencies
Depends on #1 (Worker scaffold) and #6 (abuse/rate-limit policy).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Context
Implements the ingest side of JMR-dev/LibreMail#34. Receives submissions from the app's opt-in review/submit screen (LibreMail#33).
Scope
Acceptance criteria
Dependencies
Depends on #1 (Worker scaffold) and #6 (abuse/rate-limit policy).