- Introduced a new test script `test_apis.py` to verify all video and podcast API endpoints.
- Implemented a function to test individual endpoints with support for authenticated and anonymous users.
- Included detailed logging of test results, including status codes and errors, to facilitate debugging and ensure API reliability.
- Enhanced test coverage for both video and podcast APIs, ensuring all critical endpoints are validated.
- Introduced new models for PodcastPlaylist and VideoPlaylist, replacing the outdated PodcastInCollection and VideoInCollection models.
- Updated admin interfaces to manage playlists effectively, including new fields for slug, slogan, description, and thumbnail.
- Enhanced serializers to support playlist data and added methods for calculating total time and retrieving associated videos/podcasts.
- Implemented management commands for creating playlists and cleaning up old data, ensuring a streamlined user experience.
- Adjusted API endpoints to accommodate the new playlist structure while maintaining backward compatibility for existing video endpoints.
- Introduced a new service choice 'Article' to the Bookmark model.
- Updated the database migration to reflect the new service choice in the 'service' field of the Bookmark model.
- Enhanced the service validation logic to include checks for the new 'Article' service type.
- Simplified the bookmark creation process by using request data directly in the serializer.
- Introduced a new `perform_create` method to save the user context during bookmark creation.
- Enhanced the book listing functionality to filter books by download status for the current user, using a new query parameter `is_downloaded`.