- Full PWA support with offline capabilities - Comprehensive search across songs, playlists, and channels - Offline playlist manager with download tracking - Pre-built frontend for zero-build deployment - Docker-based deployment with docker compose - Material-UI dark theme interface - YouTube audio download and management - Multi-user authentication support
24 lines
792 B
Python
24 lines
792 B
Python
"""Stats serializers"""
|
|
|
|
from rest_framework import serializers
|
|
|
|
|
|
class AudioStatsSerializer(serializers.Serializer):
|
|
"""Audio statistics"""
|
|
total_count = serializers.IntegerField()
|
|
total_duration = serializers.IntegerField(help_text="Total duration in seconds")
|
|
total_size = serializers.IntegerField(help_text="Total size in bytes")
|
|
total_plays = serializers.IntegerField()
|
|
|
|
|
|
class ChannelStatsSerializer(serializers.Serializer):
|
|
"""Channel statistics"""
|
|
total_channels = serializers.IntegerField()
|
|
subscribed_channels = serializers.IntegerField()
|
|
|
|
|
|
class DownloadStatsSerializer(serializers.Serializer):
|
|
"""Download statistics"""
|
|
pending = serializers.IntegerField()
|
|
completed = serializers.IntegerField()
|
|
failed = serializers.IntegerField()
|