-
-
Notifications
You must be signed in to change notification settings - Fork 220
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(api): implement file deletion #2960
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2960 +/- ##
===========================================
+ Coverage 70.36% 93.58% +23.21%
===========================================
Files 149 95 -54
Lines 4033 1497 -2536
===========================================
- Hits 2838 1401 -1437
+ Misses 1195 96 -1099
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
be58021
to
d83c29f
Compare
We are missing an error schema for our API error responses. Returning a simple HTTP status code is not enough. |
Do we want to define it here or merge this with basic human-readable errors for now and spend time defining it outside this? |
090327b
to
b9bd103
Compare
60396d0
to
cd683e1
Compare
We can implement a custom exceptions handler in the future, but I refactored the code to raise API exceptions instead of returning empty responses. @caveman99 Let me know if you are ok with this implementation, and I'll be happy to merge this. |
cd683e1
to
dc54f06
Compare
@jooola looks good to me ... :-) |
dc54f06
to
3c06112
Compare
🤖 I have created a release *beep* *boop* --- ## [4.1.0](4.0.0...4.1.0) (2024-05-05) ### Features * **api:** implement file deletion ([#2960](#2960)) ([9757b1b](9757b1b)) * build schedule events exclusively in playout ([#2946](#2946)) ([40b4fc7](40b4fc7)) * **legacy:** add aac/opus support to dashboard player ([#2881](#2881)) ([95283ef](95283ef)) * **legacy:** disable public radio page and redirect to login ([#2903](#2903)) ([170d095](170d095)) * **legacy:** trim overbooked shows after autoloading a playlist ([#2897](#2897)) ([a95ce3d](a95ce3d)) * **legacy:** visual cue point editor ([#2947](#2947)) ([da02e74](da02e74)) * start celery worker programmatically ([#2988](#2988)) ([9c548b3](9c548b3)) ### Bug Fixes * **analyzer:** backslash non utf-8 data when probing replaygain ([#2931](#2931)) ([29f73e0](29f73e0)), closes [#2910](#2910) * apply replay gain preferences on scheduled files ([#2945](#2945)) ([35d0dec](35d0dec)) * **deps:** update dependency friendsofphp/php-cs-fixer to <3.49.1 ([#2899](#2899)) ([3e05748](3e05748)) * **deps:** update dependency friendsofphp/php-cs-fixer to <3.51.1 ([#2963](#2963)) ([22c303c](22c303c)) * **deps:** update dependency friendsofphp/php-cs-fixer to <3.53.1 ([#2972](#2972)) ([9192aaa](9192aaa)) * **deps:** update dependency gunicorn to v22 (security) ([#2993](#2993)) ([a2cf769](a2cf769)) * incorrect docker compose version ([#2975](#2975)) ([634e6e2](634e6e2)) * **installer:** setup the worker entrypoint ([#2996](#2996)) ([71b20ae](71b20ae)) * **legacy:** allow deleting file with api token ([#2995](#2995)) ([86da46e](86da46e)) * **legacy:** allow updating track types code ([#2955](#2955)) ([270aa08](270aa08)) * **legacy:** avoid crash when lot of streams in configuration ([#2915](#2915)) ([12dd477](12dd477)) * **legacy:** ensure validation is performed on the track type form ([#2985](#2985)) ([5ad69bf](5ad69bf)) * **legacy:** fix hidden fields in edit file form ([#2932](#2932)) ([f4b260f](f4b260f)) * **legacy:** replay_gain_modifier should be a system preference ([#2943](#2943)) ([37d1a76](37d1a76)) * remove obsolete docker compose version ([#2982](#2982)) ([fb0584b](fb0584b)) * trigger legacy tasks manager every 5m ([#2987](#2987)) ([7040d0e](7040d0e)) * **worker:** ensure celery beat is started ([#3007](#3007)) ([bfde17e](bfde17e)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: jo <ljonas@riseup.net>
🤖 I have created a release *beep* *boop* --- ## [4.1.0](libretime/libretime@4.0.0...4.1.0) (2024-05-05) ### Features * **api:** implement file deletion ([#2960](libretime/libretime#2960)) ([9757b1b](libretime/libretime@9757b1b)) * build schedule events exclusively in playout ([#2946](libretime/libretime#2946)) ([40b4fc7](libretime/libretime@40b4fc7)) * **legacy:** add aac/opus support to dashboard player ([#2881](libretime/libretime#2881)) ([95283ef](libretime/libretime@95283ef)) * **legacy:** disable public radio page and redirect to login ([#2903](libretime/libretime#2903)) ([170d095](libretime/libretime@170d095)) * **legacy:** trim overbooked shows after autoloading a playlist ([#2897](libretime/libretime#2897)) ([a95ce3d](libretime/libretime@a95ce3d)) * **legacy:** visual cue point editor ([#2947](libretime/libretime#2947)) ([da02e74](libretime/libretime@da02e74)) * start celery worker programmatically ([#2988](libretime/libretime#2988)) ([9c548b3](libretime/libretime@9c548b3)) ### Bug Fixes * **analyzer:** backslash non utf-8 data when probing replaygain ([#2931](libretime/libretime#2931)) ([29f73e0](libretime/libretime@29f73e0)), closes [#2910](libretime/libretime#2910) * apply replay gain preferences on scheduled files ([#2945](libretime/libretime#2945)) ([35d0dec](libretime/libretime@35d0dec)) * **deps:** update dependency friendsofphp/php-cs-fixer to <3.49.1 ([#2899](libretime/libretime#2899)) ([3e05748](libretime/libretime@3e05748)) * **deps:** update dependency friendsofphp/php-cs-fixer to <3.51.1 ([#2963](libretime/libretime#2963)) ([22c303c](libretime/libretime@22c303c)) * **deps:** update dependency friendsofphp/php-cs-fixer to <3.53.1 ([#2972](libretime/libretime#2972)) ([9192aaa](libretime/libretime@9192aaa)) * **deps:** update dependency gunicorn to v22 (security) ([#2993](libretime/libretime#2993)) ([a2cf769](libretime/libretime@a2cf769)) * incorrect docker compose version ([#2975](libretime/libretime#2975)) ([634e6e2](libretime/libretime@634e6e2)) * **installer:** setup the worker entrypoint ([#2996](libretime/libretime#2996)) ([71b20ae](libretime/libretime@71b20ae)) * **legacy:** allow deleting file with api token ([#2995](libretime/libretime#2995)) ([86da46e](libretime/libretime@86da46e)) * **legacy:** allow updating track types code ([#2955](libretime/libretime#2955)) ([270aa08](libretime/libretime@270aa08)) * **legacy:** avoid crash when lot of streams in configuration ([#2915](libretime/libretime#2915)) ([12dd477](libretime/libretime@12dd477)) * **legacy:** ensure validation is performed on the track type form ([#2985](libretime/libretime#2985)) ([5ad69bf](libretime/libretime@5ad69bf)) * **legacy:** fix hidden fields in edit file form ([#2932](libretime/libretime#2932)) ([f4b260f](libretime/libretime@f4b260f)) * **legacy:** replay_gain_modifier should be a system preference ([#2943](libretime/libretime#2943)) ([37d1a76](libretime/libretime@37d1a76)) * remove obsolete docker compose version ([#2982](libretime/libretime#2982)) ([fb0584b](libretime/libretime@fb0584b)) * trigger legacy tasks manager every 5m ([#2987](libretime/libretime#2987)) ([7040d0e](libretime/libretime@7040d0e)) * **worker:** ensure celery beat is started ([#3007](libretime/libretime#3007)) ([bfde17e](libretime/libretime@bfde17e)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: jo <ljonas@riseup.net> libretime/libretime@1a985a4
🤖 I have created a release *beep* *boop* --- ## [4.1.0](libretime/libretime@4.0.0...4.1.0) (2024-05-05) ### Features * **api:** implement file deletion ([#2960](libretime/libretime#2960)) ([9757b1b](libretime/libretime@9757b1b)) * build schedule events exclusively in playout ([#2946](libretime/libretime#2946)) ([40b4fc7](libretime/libretime@40b4fc7)) * **legacy:** add aac/opus support to dashboard player ([#2881](libretime/libretime#2881)) ([95283ef](libretime/libretime@95283ef)) * **legacy:** disable public radio page and redirect to login ([#2903](libretime/libretime#2903)) ([170d095](libretime/libretime@170d095)) * **legacy:** trim overbooked shows after autoloading a playlist ([#2897](libretime/libretime#2897)) ([a95ce3d](libretime/libretime@a95ce3d)) * **legacy:** visual cue point editor ([#2947](libretime/libretime#2947)) ([da02e74](libretime/libretime@da02e74)) * start celery worker programmatically ([#2988](libretime/libretime#2988)) ([9c548b3](libretime/libretime@9c548b3)) ### Bug Fixes * **analyzer:** backslash non utf-8 data when probing replaygain ([#2931](libretime/libretime#2931)) ([29f73e0](libretime/libretime@29f73e0)), closes [#2910](libretime/libretime#2910) * apply replay gain preferences on scheduled files ([#2945](libretime/libretime#2945)) ([35d0dec](libretime/libretime@35d0dec)) * **deps:** update dependency friendsofphp/php-cs-fixer to <3.49.1 ([#2899](libretime/libretime#2899)) ([3e05748](libretime/libretime@3e05748)) * **deps:** update dependency friendsofphp/php-cs-fixer to <3.51.1 ([#2963](libretime/libretime#2963)) ([22c303c](libretime/libretime@22c303c)) * **deps:** update dependency friendsofphp/php-cs-fixer to <3.53.1 ([#2972](libretime/libretime#2972)) ([9192aaa](libretime/libretime@9192aaa)) * **deps:** update dependency gunicorn to v22 (security) ([#2993](libretime/libretime#2993)) ([a2cf769](libretime/libretime@a2cf769)) * incorrect docker compose version ([#2975](libretime/libretime#2975)) ([634e6e2](libretime/libretime@634e6e2)) * **installer:** setup the worker entrypoint ([#2996](libretime/libretime#2996)) ([71b20ae](libretime/libretime@71b20ae)) * **legacy:** allow deleting file with api token ([#2995](libretime/libretime#2995)) ([86da46e](libretime/libretime@86da46e)) * **legacy:** allow updating track types code ([#2955](libretime/libretime#2955)) ([270aa08](libretime/libretime@270aa08)) * **legacy:** avoid crash when lot of streams in configuration ([#2915](libretime/libretime#2915)) ([12dd477](libretime/libretime@12dd477)) * **legacy:** ensure validation is performed on the track type form ([#2985](libretime/libretime#2985)) ([5ad69bf](libretime/libretime@5ad69bf)) * **legacy:** fix hidden fields in edit file form ([#2932](libretime/libretime#2932)) ([f4b260f](libretime/libretime@f4b260f)) * **legacy:** replay_gain_modifier should be a system preference ([#2943](libretime/libretime#2943)) ([37d1a76](libretime/libretime@37d1a76)) * remove obsolete docker compose version ([#2982](libretime/libretime#2982)) ([fb0584b](libretime/libretime@fb0584b)) * trigger legacy tasks manager every 5m ([#2987](libretime/libretime#2987)) ([7040d0e](libretime/libretime@7040d0e)) * **worker:** ensure celery beat is started ([#3007](libretime/libretime#3007)) ([bfde17e](libretime/libretime@bfde17e)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: jo <ljonas@riseup.net> libretime/libretime@1a985a4
Description
This adds a implementation of file delete to the Django API. Right now the code will only manipulate the database but leave the file in place.
No documentation change is needed as the API Documentation is auto-generated from the code.
Testing Notes
Playground server with new code successfully executed DELETE api call.