onecrayon / onecrayon/api.ashes.live
Implement stream endpoint
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 13
- Forks
- 7
- Avg merge
- 7h 39m
- Merged PRs (30d)
- 1
Description
This is the endpoint that will serve content for the homepage stream. It depends on #7 because we need to be able to mark legacy stuff as legacy before this is available.
Note that this is a bit trickier than it looks at first glance, because the stream can contain a bunch of different content types, and my handling in the old codebase probably deserves a refactor. Also note that the output is subtly different for authenticated vs. non-authenticated users because the stream governs "unread" functionality.
Listing endpoint GET /v2/stream
- Implement GET
/v2/streamendpoint that returns paginated listing of homepage stream- Port all filtration logic from https://github.com/onecrayon/ashes.live/blob/master/app/views/home.py#L18
- Full test coverage
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the filtration logic in the referenced old-code entry point, app/views/home.py#L18, and confirm the dependency in issue #7. The work is done when GET /v2/stream returns a paginated homepage stream with the required filtering and authenticated versus non-authenticated behavior, with full test coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100