Add playlists
This adds
-
PlaylistandPlaylistEntrymodels, -
create_playlist,destroy_playlistandupdate_playlistcustom permissions, -
PlaylistFilter, that filters the playlists usingcontains_file_idsorshow_ids, -
APIPlaylistViewSet, that injects the request context into the serializer and checks permissions while deleting a playlist, -
PlaylistSerializer. A playlist that contains an entry withoutfile_idorurior contains multiple entries with null duration is rejected. Additionally, theplaylist_idordefault_playlist_idfields are now aPrimaryKeyRelatedFieldto thePlaylist. - Tests for (most) of the "happy path" API requests,