oxidecomputer / oxidecomputer/omicron
Filtering for list endpoints
Open
Nobody has claimed this yet.
api
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
We will need to able to filter list endpoints. Presumably, because these are GET endpoints, we will do this filtering through query parameters.
Example table design with filtering (Figma)
It seems to me we will want something like the following in Nexus:
- For each paginated endpoint, specify the fields clients can filter on and their schemas
- Expose the above specifications in the OpenAPI spec as query parameters so clients know how to use them
Corners to cut
- Start with only name and timestamp fields
Open questions
- How do we do text matching on names
- Presumably we want to keep it simple and start with something like
WHERE name ILIKE '<query>%'and worry about getting fancy later
- Presumably we want to keep it simple and start with something like
Contributor guide
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
No files, tests, or entry points are named. Start by locating the paginated GET endpoints and the code that generates the OpenAPI spec; review how endpoint fields and query parameters are currently described. Done means name and timestamp filters are specified for each paginated endpoint and exposed as documented OpenAPI query parameters.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- openapi, rust
- Domain
- api, backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100