Added a "Published in the last X days" filter, applied by the backend
GET /api/opportunities takes released_from, an RFC 3339 time, and lists only the opportunities whose latest release is at or after it. It works with paging and with changed_after, which keeps the same batch either way; an invalid value is 400. The frontend's filter defaults to 7 days, from midnight UK time, and sends it with every load and catch-up, so a year of opportunities isn't downloaded to show a week's. Changing the days loads the list again; Clear filters goes back to 7.
This commit is contained in:
1 parent
b8244da2e5
commit
746fa0a9c1
19 files changed
+333
-64
No files matched your search
@@ -36,6 +36,7 @@ The frontend uses, through `src/api/client.ts`:
|
||||
| ------ | ------------------------------------------ | ---------------------------------------------- |
|
||||
| GET | `/api/opportunities?offset=&limit=` | A page of opportunities, with their marks |
|
||||
| GET | `/api/opportunities?changed_after={batch}` | The opportunities changed since a change batch |
|
||||
| GET | `/api/opportunities/{uuid}` | One opportunity, with its releases |
|
||||
| GET | `/api/classifications` | Every classification in use, by code |
|
||||
| PUT | `/api/opportunities/{uuid}/marks/{mark}` | Sets one mark; returns all the marks |
|
||||
| DELETE | `/api/opportunities/{uuid}/marks/{mark}` | Clears one mark; returns all the marks |
|
||||
@@ -61,6 +62,11 @@ the batch it's up to date with, and asks for everything changed after it
|
||||
their marks changed. If the backend doesn't know the batch (410), or has
|
||||
recorded none yet, the whole list is reloaded instead.
|
||||
|
||||
Both list requests send `released_from` (an RFC 3339 time), so only the
|
||||
opportunities published in the last few days the filter names (7 by default,
|
||||
from midnight UK time) are loaded; changing the number of days loads the list
|
||||
again.
|
||||
|
||||
The list is fetched a page (100) at a time until there are no more. The marks
|
||||
are `interested`, `skipped`, `bid_submitted`, `lost`, `won` and `hidden`;
|
||||
Won and Lost exclude each other (409). The classifications are the ones the
|
||||
|
||||
Reference in new issue
Block a user