Drop libraries in favor of playlists
To make the ui easier and to avoid multiple data containers, libraries will be deleted and replace with playlists.
From the backend perspective user will have one library per privacy_level.
This issue should cover the ability to switch a list of uploads from one library to another :
- PATCH /api/v2/uploads -d {[ {"id": "uuid1", "privacy_level": "public"}, {"id": "uuid2", "privacy_level": "public"}, {"id": "uuid3", "privacy_level": "public"}, ] }
This will allow the ui to only implement a right management page to switch tracks between privacy_levels. Library Follow are replace by user follow
- migrate libraries to playlists
- build tests to make sure migrations is smooth
- create endpoints to move upload from one to another
- delete old libraries
- only allow build-in libraries : not done since channel also use libraries we cannot use unique together constrain (even with condition siince channel is a foreign key)
- verify there is'n any api endpoint allowing creation/edition of library
Follow up (to do in another mr) :
- delete unused code : library follow related code (channel need to be kept for now), library views, library federation
- implement an "add playlist to my collection" if needed
- migrate the sharing link feature from libraries to playlist (this requires "playlist follow" and a lot of design) #2417