- Introduced a `share_link` property in the `Article`, `Hadis`, `Book`, `Podcast`, `Video`, and `Transmitter` models to generate shareable links based on their slugs.
- Updated corresponding serializers to include the `share_link` field as read-only.
- Added a management command to refresh share links for existing Hadis models, ensuring all instances have updated slugs and share links.
- Adjusted the `settings` to define `DOVODI_DOMAIN` for consistent link generation across models.
- Introduced `audio_file` and `video_file` SerializerMethodFields in PodcastListSerializer and VideoListSerializer, respectively.
- Implemented methods to return the full URL for audio and video files if they exist, enhancing the API response with direct access to media files.
- Updated fields in both serializers to include the new file attributes, improving the data structure for clients consuming the API.
- Changed detail endpoints in podcast and video URL configurations to use re_path for improved regex matching of slugs.
- This change enhances flexibility in slug handling and maintains consistency across the application.rl
- Added management commands to create podcast and video categories in Russian, ensuring a structured categorization system.
- Updated podcast and video playlist creation commands to associate playlists with the newly created categories.
- Enhanced documentation to reflect the new category creation process and its integration into the podcast and video systems.
- 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.