Commit Graph

397 Commits

Author SHA1 Message Date
Eliot Berriot 22f0b1a2d8
See #187: API logic for password reset 2018-05-06 11:30:41 +02:00
Eliot Berriot 929b50183a
Now reset cookie on profile fetch, to avoid CSRF bugs 2018-05-06 11:21:36 +02:00
Eliot Berriot 4325b1be4f
Removed radios and listening recording for anonymous users as it was buggy 2018-05-06 11:18:28 +02:00
Eliot Berriot 9ec47f1ec9
Added dosctrings to fixtures 2018-04-28 18:39:48 +02:00
Eliot Berriot 29645aab1d
Added documentation page on how to reduce memory usage. 2018-04-28 16:17:29 +02:00
Eliot Berriot 7ad21b7d25
Fix #186: moved high-level settings to database preferences 2018-04-28 12:28:13 +02:00
Eliot Berriot a3b2125d2a
See #186: moved api authentication required setting to preference 2018-04-28 06:11:50 +02:00
Eliot Berriot 6100b106c0
See #186: moved federation settings to preferences 2018-04-28 05:55:21 +02:00
Eliot Berriot 7222f7b710
See #186: moved PLAYLISTS_MAX_TRACKS to playlists__max_tracks 2018-04-28 05:30:23 +02:00
Eliot Berriot aa3da412a7
#186: common utils for moving settings to preferences 2018-04-28 05:28:51 +02:00
Eliot Berriot f4899c5387
Fix #176: Can now relaunch erored jobs and batches 2018-04-28 04:59:47 +02:00
Eliot Berriot 6dcde77b1e
Avoid fetching Actor object on every request authentication 2018-04-28 00:25:47 +02:00
Eliot Berriot 42a2ffbf24
Fix #109: List pending requests by default, added a status filter for requests 2018-04-27 22:23:25 +02:00
Eliot Berriot 7d3da3d757
Added a fix_track_files command to run checks and fixes against library (#183) 2018-04-27 21:11:20 +02:00
Eliot Berriot 3d6f0b8b2c
Fix #183: ensure in place imported files get a proper mimetype 2018-04-27 21:10:35 +02:00
Eliot Berriot 99ff8169fc Merge branch '178-api-documentation' into 'develop'
Resolve "Document important API features"

Closes #178

See merge request funkwhale/funkwhale!166
2018-04-26 16:29:44 +00:00
Eliot Berriot c4777532eb
Bundle swagger docs with sphinx docs 2018-04-26 18:22:47 +02:00
Eliot Berriot d2c2fb837e
Now support Bearer auth in complement of JWT 2018-04-26 15:17:51 +02:00
Eliot Berriot 2477aa31f9
Initial swagger setup 2018-04-26 14:30:26 +02:00
Eliot Berriot 472e9f7605
Added q filter on artists 2018-04-26 14:26:01 +02:00
Eliot Berriot a49d3b4251
Fixed #182: X-sendfile not working with in-place imports 2018-04-25 18:50:06 +02:00
Eliot Berriot 7e8972a3b0
Version bump and Changelog 2018-04-23 19:44:38 +02:00
Eliot Berriot 300e24dbde
Ensure we return correct paths when using Apache as a reverse proxy 2018-04-22 16:34:07 +02:00
Eliot Berriot ad43d160bd Merge branch '171-import-jobs' into 'develop'
Resolve "Dedicated API endpoint for import jobs"

Closes #171

See merge request funkwhale/funkwhale!156
2018-04-22 13:20:07 +00:00
Eliot Berriot 6a67bc6fac
Fix #171: dedicated endpoint to list import jobs, updated front-end 2018-04-22 15:17:06 +02:00
banana 0f7de68f0d Update common.py to add USE_APACHE_HEADERS set to false
Update views.py to modify headers depending on Nginx or Apache
Update common.py with future proof REVERSE_PROXY_TYPE setting
Update views.py to adapt headers based on REVERSE_PROXY_TYPE
Update views.py, typo on apache
2018-04-22 15:11:04 +02:00
Eliot Berriot 93c57f08f9
Fixed broken youtube-dl import 2018-04-22 12:10:32 +02:00
Eliot Berriot 84c3b531ad
Pinned oauthlib2 version to prevent when fetching youtube data 2018-04-22 11:27:26 +02:00
Eliot Berriot f4ac0b2d3f
Serve view can now serve in-place imported files 2018-04-21 18:21:15 +02:00
Eliot Berriot 58fced2640
updated import_task to support in place import 2018-04-21 18:20:56 +02:00
Eliot Berriot de754b835e
Updated CLI to support in-place import 2018-04-21 18:16:43 +02:00
Eliot Berriot a8bf44a494
Added dedicated settings to manage in-place import 2018-04-21 18:15:29 +02:00
Eliot Berriot 0d3eb96bec
Fixed failing tests 2018-04-21 16:33:15 +02:00
Eliot Berriot 3f3d6d88d6
Make music directory configurable in development 2018-04-21 16:16:43 +02:00
Eliot Berriot 1672230f39
More verbose/robust import_files command, also skips existing files 2018-04-21 16:16:43 +02:00
Eliot Berriot d98c33e5ed
More efficient SQL query to compute import batch status 2018-04-21 16:02:11 +02:00
Eliot Berriot e29cfb7301
Smarted UUID validation on metadata 2018-04-21 16:01:42 +02:00
Eliot Berriot 2be46b3320
Fix #142: Increased max_length on TrackFile.source 2018-04-19 22:25:58 +02:00
Eliot Berriot ced851891d
Fix #163: Avoid downloading audio files multiple times from remote libraries 2018-04-19 21:19:40 +02:00
Eliot Berriot c29a96f244
Fail graciously when AP representation includes a null_value for mediaType 2018-04-18 00:08:31 +02:00
Eliot Berriot eb275b7e08
Version bump and changelog 2018-04-17 23:20:32 +02:00
Eliot Berriot f55d2b6c9d
Updated tests 2018-04-17 23:10:46 +02:00
Eliot Berriot c17f7eefde
Ensure follower is approved to access library 2018-04-17 23:08:15 +02:00
Eliot Berriot 899ba31162
Do not fail on library page scan if one item is invalid 2018-04-17 22:58:43 +02:00
Eliot Berriot 14cadce4a6
Allow null values for musicbrainz_id in Audio ActivityPub representation 2018-04-17 21:49:11 +02:00
Eliot Berriot dd97a9b488
Version bump and changelog 2018-04-17 21:26:58 +02:00
Eliot Berriot a37183f57e
Additional celery beat systemd unit file 2018-04-17 21:26:35 +02:00
Eliot Berriot 5fee42f896
Can now filter by import status on library tracks 2018-04-17 20:03:31 +02:00
Eliot Berriot f31874edf5
Implemented followers notification on import and autoimport 2018-04-17 19:35:57 +02:00
Eliot Berriot adcbe8852d
Tmpfile fixture 2018-04-17 19:35:57 +02:00
Eliot Berriot 5ee1f18089
Fixed failing api test 2018-04-15 11:25:35 +02:00
Eliot Berriot fc09a3b320
Can now accept/deny follow requests 2018-04-15 11:25:35 +02:00
Eliot Berriot ca02aca327
Ensure follower is approved for listening 2018-04-15 11:25:35 +02:00
Eliot Berriot 9b4d7165b7
Added federation libraries list, moved scan to a dedicate view 2018-04-15 11:25:34 +02:00
Eliot Berriot c20e4d7c9a
Added task to delete unused cached files 2018-04-15 11:25:34 +02:00
Eliot Berriot 6a04779125
Will now fetch and cache federated tracks 2018-04-15 11:25:34 +02:00
Eliot Berriot 3a31248a3d
Can now import library tracks from front-end 2018-04-15 11:25:34 +02:00
Eliot Berriot 2cef58e6c1
Can now search in library tracks 2018-04-15 11:25:34 +02:00
Eliot Berriot 57bf43bb96
API Endpoint to list lirary tracks 2018-04-15 11:25:33 +02:00
Eliot Berriot bdf9347917
Fixed serialization error 2018-04-15 11:25:33 +02:00
Eliot Berriot 64e88b83f7
Deliver is now a proper celery task 2018-04-15 11:25:33 +02:00
Eliot Berriot 2a4ce0a48c
ActorSerializer is not a modelserializer anymore 2018-04-15 11:25:33 +02:00
Eliot Berriot dda1cd2531
Added scan endpoint to trigger a scan for a library 2018-04-15 11:25:33 +02:00
Eliot Berriot 077a17b093
Scan task can now handle until 2018-04-15 11:25:33 +02:00
Eliot Berriot 520fb9d078
Started work on library scanning 2018-04-15 11:25:33 +02:00
Eliot Berriot 472cc7e26a
Detail library view with settings update 2018-04-15 11:25:32 +02:00
Eliot Berriot f4f75dcb4f
Can now scan and follow library from front-end 2018-04-15 11:25:32 +02:00
Eliot Berriot fe7ca088c5
Library list endpoint 2018-04-15 11:25:32 +02:00
Eliot Berriot e82a53da35
Added API endpoints to list library followees and followers 2018-04-15 11:25:32 +02:00
Eliot Berriot 3caa03aedf
use a dedicated serializer to handle library creation 2018-04-15 11:25:32 +02:00
Eliot Berriot 0b2fe8439a
Removed too complex FollowRequest model, we now use an aproved field on Follow 2018-04-15 11:25:32 +02:00
Eliot Berriot c97db31cb1
Include following state in scan payload 2018-04-15 11:25:32 +02:00
Eliot Berriot f0ef9ea561
Better error handling during scan 2018-04-15 11:25:31 +02:00
Eliot Berriot 238d849298
Can now disable SSL cerification for external requests 2018-04-15 11:25:31 +02:00
Eliot Berriot 6c0a43a0ea
We can now work on federation locally thank to traefik 2018-04-15 11:25:31 +02:00
Eliot Berriot 097707dec4
Added remote library scanning logic end endpoint 2018-04-15 11:24:47 +02:00
Eliot Berriot 836e813955
Typo in test name 2018-04-15 11:24:47 +02:00
Eliot Berriot 92fa348eac
Federation model admin 2018-04-15 11:24:47 +02:00
Eliot Berriot 206ae296b6
Ensure timeout in requests 2018-04-15 11:24:47 +02:00
Eliot Berriot b8c7e960c3
Now validate incoming webfinger 2018-04-15 11:24:47 +02:00
Eliot Berriot 314587e2eb
Fixed pagination issue 2018-04-15 11:24:46 +02:00
Eliot Berriot 514e48d3fe
Library can now automatically accept follows 2018-04-15 11:24:46 +02:00
Eliot Berriot 4320fc77b2
Added validation on collection serializers 2018-04-15 11:24:46 +02:00
Eliot Berriot 33972f1f40
Fixed broken uuid migration 2018-04-15 11:24:46 +02:00
Eliot Berriot 6bf4d46362
Ensure we don't duplicate libray tracks 2018-04-15 11:24:46 +02:00
Eliot Berriot e19fbf5436
Exclude federated files from library endpoint 2018-04-15 11:24:46 +02:00
Eliot Berriot b5ff339efa
We now use a proper user agent including instance version and url during outgoing requests 2018-04-07 16:20:34 +02:00
Eliot Berriot 99200ad077 Merge branch 'federation-follow-request' into 'develop'
Federation follow request

See merge request funkwhale/funkwhale!123
2018-04-07 13:55:53 +00:00
Eliot Berriot bf70fa1f53
Removed now useless private and public keys preferences 2018-04-07 15:53:10 +02:00
Eliot Berriot e10a82060d
Ensure we delete existing actors to reset private and public keys 2018-04-07 15:39:17 +02:00
Eliot Berriot 9612b1bace
Can now serve track from remote library 2018-04-07 15:34:35 +02:00
Eliot Berriot b29ca44797
Now store remote library tracks in a dedicated model, this is much simpler 2018-04-07 11:29:40 +02:00
Eliot Berriot f273faf9de
Added Library model to have more granular federation management 2018-04-06 18:49:29 +02:00
Eliot Berriot a03f0ffea5
We now have a library browsable via activitypub 2018-04-06 17:59:06 +02:00
Eliot Berriot 393110a7f0
Serializers for paginated collections 2018-04-06 17:58:43 +02:00
Eliot Berriot 4ce9f9bf08
Dedicated permission to access library data via activity pub 2018-04-06 17:58:16 +02:00
Eliot Berriot b75872866c
Util function to manipulate url params 2018-04-06 17:57:50 +02:00
Eliot Berriot 8db832f03b
Now store source AP track file on track_file 2018-04-06 15:20:53 +02:00
Eliot Berriot 04d710e690
Library can now receive import info from followed instances 2018-04-06 14:53:57 +02:00
Eliot Berriot 80206761a3
Easy and resusable Audio and AudioCollection serializer 2018-04-06 14:33:13 +02:00