OnlineJudge/account/serializers.py

74 lines
2.9 KiB
Python
Raw Normal View History

# coding=utf-8
from rest_framework import serializers
from .models import User
class UserLoginSerializer(serializers.Serializer):
username = serializers.CharField(max_length=30)
password = serializers.CharField(max_length=30)
captcha = serializers.CharField(min_length=4, max_length=4)
class UsernameCheckSerializer(serializers.Serializer):
username = serializers.CharField(max_length=30)
2015-08-03 10:45:26 +00:00
class EmailCheckSerializer(serializers.Serializer):
email = serializers.EmailField(max_length=254)
2015-08-03 10:45:26 +00:00
class UserRegisterSerializer(serializers.Serializer):
username = serializers.CharField(max_length=30)
real_name = serializers.CharField(max_length=30)
password = serializers.CharField(max_length=30, min_length=6)
email = serializers.EmailField(max_length=254)
captcha = serializers.CharField(max_length=4, min_length=4)
2015-08-03 10:45:26 +00:00
class UserChangePasswordSerializer(serializers.Serializer):
2015-08-16 04:14:56 +00:00
old_password = serializers.CharField()
new_password = serializers.CharField(max_length=30, min_length=6)
2015-09-10 07:59:48 +00:00
captcha = serializers.CharField(max_length=4, min_length=4)
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
2015-10-11 10:08:24 +00:00
fields = ["id", "username", "real_name", "email", "admin_type", "create_time", "last_login"]
class EditUserSerializer(serializers.Serializer):
id = serializers.IntegerField()
username = serializers.CharField(max_length=30)
real_name = serializers.CharField(max_length=30)
password = serializers.CharField(max_length=30, min_length=6, required=False, default=None)
email = serializers.EmailField(max_length=254)
admin_type = serializers.IntegerField(default=0)
class ApplyResetPasswordSerializer(serializers.Serializer):
username = serializers.CharField(max_length=30)
email = serializers.EmailField()
captcha = serializers.CharField(max_length=4, min_length=4)
class ResetPasswordSerializer(serializers.Serializer):
token = serializers.CharField(min_length=1, max_length=40)
password = serializers.CharField(min_length=6, max_length=30)
2015-10-20 12:09:23 +00:00
captcha = serializers.CharField(max_length=4, min_length=4)
class SSOSerializer(serializers.Serializer):
2015-11-09 13:11:39 +00:00
token = serializers.CharField(max_length=40)
class EditUserProfileSerializer(serializers.Serializer):
avatar = serializers.CharField(max_length=50, required=False, default=None)
phone = serializers.CharField(min_length=11, max_length=11, required=False, allow_blank=True, default=None)
blog = serializers.URLField(required=False, allow_blank=True, default=None)
mood = serializers.CharField(max_length=60, required=False, allow_blank=True, default=None)
hduoj_username = serializers.CharField(max_length=30, required=False, allow_blank=True, default=None)
bestcoder_username = serializers.CharField(max_length=30, required=False, allow_blank=True, default=None)
codeforces_username = serializers.CharField(max_length=30, required=False, allow_blank=True, default=None)