### Description
Uploads with bulk_import defining --library fail with error 400 in the
REST API
The primary key of the track_type was changed from chars to a numerical
ID, and the data model expects this now in the REST endpoint. However
the bulk import still populates this field with the Char Tag.
### Testing Notes
**What I did:**
`libretime-api bulk_import --path /home/libretime/upload/ --library POD
--allowed-extensions mp3`
**How you can replicate my testing:**
see above
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
### Description
Added filters for genre and md5 to the files API, e.g.
`/api/v2/files?genre=soul`
**This is a new feature**: Yes
**I have updated the documentation to reflect these changes**: No
There should be a schema and docs that are generated automatically. I
don't know where that is.
### Testing Notes
**What I did:**
- Used docker to deploy locally
- Confirmed filters work at
http://localhost:8080/api/v2/files?genre=Soul
**How you can replicate my testing:**
- `make clean dev`
- Upload some files!
- Visit http://localhost:8080/api/v2/files
- You can use the filters
<img width="658" alt="Screenshot 2024-12-23 at 01 36 01"
src="https://github.com/user-attachments/assets/ba19f7f3-fb3e-495d-8937-d451c70d326c"
/>
<img width="652" alt="Screenshot 2024-12-23 at 01 35 56"
src="https://github.com/user-attachments/assets/c7191131-a963-463a-b52f-9d0952192555"
/>
_How can the reviewer validate this PR?_
- See above
- wrote tests to confirm filters work
This implements the file delete to the Django API. Previously, the code was only manipulating the database while leaving the file in place.
Co-authored-by: jo <ljonas@riseup.net>
- change default storage path to /srv/libretime
- remove music dirs table
- use /tmp for testing storage
- storage dir should always have a trailing slash