* Add Video details page to settings * Add option A * Refac remove option A * Refac viewStyleType and viewStyleEnum * Add viewStyle Table * Refac remove unused code * Refac show resolution in one cell
54 lines
1.8 KiB
Python
54 lines
1.8 KiB
Python
"""serializer for account model"""
|
|
|
|
# pylint: disable=abstract-method
|
|
|
|
from common.src.helper import get_stylesheets
|
|
from rest_framework import serializers
|
|
from user.models import Account
|
|
from video.src.constants import OrderEnum, SortEnum
|
|
|
|
|
|
class AccountSerializer(serializers.ModelSerializer):
|
|
"""serialize account"""
|
|
|
|
class Meta:
|
|
model = Account
|
|
fields = (
|
|
"id",
|
|
"name",
|
|
"is_superuser",
|
|
"is_staff",
|
|
"groups",
|
|
"user_permissions",
|
|
"last_login",
|
|
)
|
|
|
|
|
|
class UserMeConfigSerializer(serializers.Serializer):
|
|
"""serialize user me config"""
|
|
|
|
stylesheet = serializers.ChoiceField(choices=get_stylesheets())
|
|
page_size = serializers.IntegerField()
|
|
sort_by = serializers.ChoiceField(choices=SortEnum.names())
|
|
sort_order = serializers.ChoiceField(choices=OrderEnum.values())
|
|
view_style_home = serializers.ChoiceField(
|
|
choices=["grid", "list", "table"]
|
|
)
|
|
view_style_channel = serializers.ChoiceField(choices=["grid", "list"])
|
|
view_style_downloads = serializers.ChoiceField(choices=["grid", "list"])
|
|
view_style_playlist = serializers.ChoiceField(choices=["grid", "list"])
|
|
grid_items = serializers.IntegerField(max_value=7, min_value=3)
|
|
hide_watched = serializers.BooleanField()
|
|
file_size_unit = serializers.ChoiceField(choices=["binary", "metric"])
|
|
show_ignored_only = serializers.BooleanField()
|
|
show_subed_only = serializers.BooleanField()
|
|
show_help_text = serializers.BooleanField()
|
|
|
|
|
|
class LoginSerializer(serializers.Serializer):
|
|
"""serialize login"""
|
|
|
|
username = serializers.CharField()
|
|
password = serializers.CharField()
|
|
remember_me = serializers.ChoiceField(choices=["on", "off"], default="off")
|