Supports both JMR-dev/LibreMail#34 and #35: the weekly job needs to know which reports haven't been removed or already published.
Scope
Define and store lifecycle/status metadata per report: pending, removed, published.
Query path to list all pending reports (used by the weekly job, #13).
Transition report to removed (used by #11) or published (used by #15).
Acceptance criteria
Given a mix of reports in different states, the "list pending reports" query returns exactly the pending ones.
Dependencies
Depends on #9 (reports need to exist in storage first).
## Context
Supports both [JMR-dev/LibreMail#34](https://github.com/JMR-dev/LibreMail/issues/34) and [#35](https://github.com/JMR-dev/LibreMail/issues/35): the weekly job needs to know which reports haven't been removed or already published.
## Scope
- [ ] Define and store lifecycle/status metadata per report: `pending`, `removed`, `published`.
- [ ] Query path to list all `pending` reports (used by the weekly job, #13).
- [ ] Transition report to `removed` (used by #11) or `published` (used by #15).
## Acceptance criteria
- Given a mix of reports in different states, the "list pending reports" query returns exactly the `pending` ones.
## Dependencies
Depends on #9 (reports need to exist in storage first).
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
Supports both JMR-dev/LibreMail#34 and #35: the weekly job needs to know which reports haven't been removed or already published.
Scope
pending,removed,published.pendingreports (used by the weekly job, #13).removed(used by #11) orpublished(used by #15).Acceptance criteria
pendingones.Dependencies
Depends on #9 (reports need to exist in storage first).