Refactor dandiset viewset
- Dominant language
- Python
- Stars
- 26
- Forks
- 21
- Avg merge
- 4d 23h
- Merged PRs (30d)
- 15
Description
The dandiset viewset is one of the most used set of endpoints in the application, and it is absurdly complicated and overloaded with functionality. At the very least the [`filter_queryset`](https://github.com/dandi/dandi-archive/blob/44937f963fad20bb46632eb5125ca4e8cb9a73a7/dandiapi/api/views/dandiset.py#L80-L131) and [`get_queryset`](https://github.com/dandi/dandi-archive/blob/44937f963fad20bb46632eb5125ca4e8cb9a73a7/dandiapi/api/views/dandiset.py#L167-L231) methods should be overhauled / refactored.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading dandiapi/api/views/dandiset.py, especially filter_queryset (lines 80-131) and get_queryset (lines 167-231), to understand how the dandiset endpoints currently combine functionality. Done means those methods are meaningfully refactored without changing the viewset's intended behavior; the issue does not name specific tests to run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- django, python
- Domain
- api, backend
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100