2025-02-09 22:10:29 +07:00
|
|
|
"""appsettings erializers"""
|
|
|
|
|
|
|
|
# pylint: disable=abstract-method
|
|
|
|
|
|
|
|
from common.serializers import ValidateUnknownFieldsMixin
|
|
|
|
from rest_framework import serializers
|
|
|
|
|
|
|
|
|
|
|
|
class BackupFileSerializer(serializers.Serializer):
|
|
|
|
"""serialize backup file"""
|
|
|
|
|
|
|
|
filename = serializers.CharField()
|
|
|
|
file_path = serializers.CharField()
|
|
|
|
file_size = serializers.IntegerField()
|
|
|
|
timestamp = serializers.CharField()
|
|
|
|
reason = serializers.CharField()
|
|
|
|
|
|
|
|
|
|
|
|
class AppConfigSubSerializer(
|
|
|
|
ValidateUnknownFieldsMixin, serializers.Serializer
|
|
|
|
):
|
|
|
|
"""serialize app config subscriptions"""
|
|
|
|
|
|
|
|
channel_size = serializers.IntegerField(required=False)
|
|
|
|
live_channel_size = serializers.IntegerField(required=False)
|
|
|
|
shorts_channel_size = serializers.IntegerField(required=False)
|
|
|
|
auto_start = serializers.BooleanField(required=False)
|
|
|
|
|
|
|
|
|
|
|
|
class AppConfigDownloadsSerializer(
|
|
|
|
ValidateUnknownFieldsMixin, serializers.Serializer
|
|
|
|
):
|
|
|
|
"""serialize app config downloads config"""
|
|
|
|
|
|
|
|
limit_speed = serializers.IntegerField(allow_null=True)
|
|
|
|
sleep_interval = serializers.IntegerField(allow_null=True)
|
|
|
|
autodelete_days = serializers.IntegerField(allow_null=True)
|
|
|
|
format = serializers.CharField(allow_null=True)
|
|
|
|
format_sort = serializers.CharField(allow_null=True)
|
|
|
|
add_metadata = serializers.BooleanField()
|
|
|
|
add_thumbnail = serializers.BooleanField()
|
|
|
|
subtitle = serializers.CharField(allow_null=True)
|
|
|
|
subtitle_source = serializers.ChoiceField(
|
|
|
|
choices=["auto", "user"], allow_null=True
|
|
|
|
)
|
|
|
|
subtitle_index = serializers.BooleanField()
|
|
|
|
comment_max = serializers.CharField(allow_null=True)
|
|
|
|
comment_sort = serializers.ChoiceField(
|
|
|
|
choices=["top", "new"], allow_null=True
|
|
|
|
)
|
|
|
|
cookie_import = serializers.BooleanField()
|
|
|
|
potoken = serializers.BooleanField()
|
|
|
|
throttledratelimit = serializers.IntegerField(allow_null=True)
|
|
|
|
extractor_lang = serializers.CharField(allow_null=True)
|
|
|
|
integrate_ryd = serializers.BooleanField()
|
|
|
|
integrate_sponsorblock = serializers.BooleanField()
|
|
|
|
|
|
|
|
|
|
|
|
class AppConfigAppSerializer(
|
|
|
|
ValidateUnknownFieldsMixin, serializers.Serializer
|
|
|
|
):
|
|
|
|
"""serialize app config"""
|
|
|
|
|
|
|
|
enable_snapshot = serializers.BooleanField()
|
2025-03-08 18:32:13 +07:00
|
|
|
enable_cast = serializers.BooleanField()
|
2025-02-09 22:10:29 +07:00
|
|
|
|
|
|
|
|
2025-02-14 16:31:12 +07:00
|
|
|
class AppConfigSerializer(ValidateUnknownFieldsMixin, serializers.Serializer):
|
2025-02-09 22:10:29 +07:00
|
|
|
"""serialize appconfig"""
|
|
|
|
|
|
|
|
subscriptions = AppConfigSubSerializer(required=False)
|
|
|
|
downloads = AppConfigDownloadsSerializer(required=False)
|
|
|
|
application = AppConfigAppSerializer(required=False)
|
|
|
|
|
|
|
|
|
|
|
|
class CookieValidationSerializer(serializers.Serializer):
|
|
|
|
"""serialize cookie validation response"""
|
|
|
|
|
|
|
|
cookie_enabled = serializers.BooleanField()
|
|
|
|
status = serializers.BooleanField(required=False)
|
|
|
|
validated = serializers.IntegerField(required=False)
|
|
|
|
validated_str = serializers.CharField(required=False)
|
|
|
|
|
|
|
|
|
|
|
|
class CookieUpdateSerializer(serializers.Serializer):
|
|
|
|
"""serialize cookie to update"""
|
|
|
|
|
|
|
|
cookie = serializers.CharField()
|
|
|
|
|
|
|
|
|
|
|
|
class PoTokenSerializer(serializers.Serializer):
|
|
|
|
"""serialize PO token"""
|
|
|
|
|
|
|
|
potoken = serializers.CharField()
|
|
|
|
|
|
|
|
|
|
|
|
class SnapshotItemSerializer(serializers.Serializer):
|
|
|
|
"""serialize snapshot response"""
|
|
|
|
|
|
|
|
id = serializers.CharField()
|
|
|
|
state = serializers.CharField()
|
|
|
|
es_version = serializers.CharField()
|
|
|
|
start_date = serializers.CharField()
|
|
|
|
end_date = serializers.CharField()
|
|
|
|
end_stamp = serializers.IntegerField()
|
|
|
|
duration_s = serializers.IntegerField()
|
|
|
|
|
|
|
|
|
|
|
|
class SnapshotListSerializer(serializers.Serializer):
|
|
|
|
"""serialize snapshot list response"""
|
|
|
|
|
|
|
|
next_exec = serializers.IntegerField()
|
|
|
|
next_exec_str = serializers.CharField()
|
|
|
|
expire_after = serializers.CharField()
|
|
|
|
snapshots = SnapshotItemSerializer(many=True)
|
|
|
|
|
|
|
|
|
|
|
|
class SnapshotCreateResponseSerializer(serializers.Serializer):
|
|
|
|
"""serialize new snapshot creating response"""
|
|
|
|
|
|
|
|
snapshot_name = serializers.CharField()
|
|
|
|
|
|
|
|
|
|
|
|
class SnapshotRestoreResponseSerializer(serializers.Serializer):
|
|
|
|
"""serialize snapshot restore response"""
|
|
|
|
|
|
|
|
accepted = serializers.BooleanField()
|
|
|
|
|
|
|
|
|
|
|
|
class TokenResponseSerializer(serializers.Serializer):
|
|
|
|
"""serialize token response"""
|
|
|
|
|
|
|
|
token = serializers.CharField()
|