2015-06-29 04:43:17 +00:00
|
|
|
# coding=utf-8
|
|
|
|
from rest_framework import serializers
|
|
|
|
|
2015-11-10 10:46:51 +00:00
|
|
|
from .models import User, UserProfile
|
2015-08-07 12:25:58 +00:00
|
|
|
|
2015-06-29 04:43:17 +00:00
|
|
|
|
|
|
|
class UserLoginSerializer(serializers.Serializer):
|
|
|
|
username = serializers.CharField(max_length=30)
|
|
|
|
password = serializers.CharField(max_length=30)
|
2015-10-14 01:57:43 +00:00
|
|
|
captcha = serializers.CharField(min_length=4, max_length=4)
|
2015-08-03 08:52:31 +00:00
|
|
|
|
|
|
|
|
|
|
|
class UsernameCheckSerializer(serializers.Serializer):
|
|
|
|
username = serializers.CharField(max_length=30)
|
|
|
|
|
2015-08-03 10:45:26 +00:00
|
|
|
|
2015-08-05 12:11:25 +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)
|
2015-11-24 12:11:25 +00:00
|
|
|
school = serializers.CharField(max_length=200)
|
2015-08-03 10:45:26 +00:00
|
|
|
password = serializers.CharField(max_length=30, min_length=6)
|
2015-08-05 12:11:25 +00:00
|
|
|
email = serializers.EmailField(max_length=254)
|
2015-09-17 02:25:02 +00:00
|
|
|
captcha = serializers.CharField(max_length=4, min_length=4)
|
2015-12-08 06:33:40 +00:00
|
|
|
student_id = serializers.CharField(max_length=15, required=False, default=None)
|
2015-08-03 10:45:26 +00:00
|
|
|
|
2015-08-03 11:54:55 +00:00
|
|
|
|
|
|
|
class UserChangePasswordSerializer(serializers.Serializer):
|
2015-08-16 04:14:56 +00:00
|
|
|
old_password = serializers.CharField()
|
2015-08-03 11:54:55 +00:00
|
|
|
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)
|
2015-08-03 11:54:55 +00:00
|
|
|
|
2015-08-07 12:25:58 +00:00
|
|
|
|
|
|
|
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"]
|
2015-08-07 12:25:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
class EditUserSerializer(serializers.Serializer):
|
|
|
|
id = serializers.IntegerField()
|
|
|
|
username = serializers.CharField(max_length=30)
|
|
|
|
real_name = serializers.CharField(max_length=30)
|
2015-08-08 06:59:42 +00:00
|
|
|
password = serializers.CharField(max_length=30, min_length=6, required=False, default=None)
|
2015-08-07 12:25:58 +00:00
|
|
|
email = serializers.EmailField(max_length=254)
|
|
|
|
admin_type = serializers.IntegerField(default=0)
|
2015-09-24 07:56:47 +00:00
|
|
|
|
|
|
|
|
|
|
|
class ApplyResetPasswordSerializer(serializers.Serializer):
|
|
|
|
email = serializers.EmailField()
|
2015-10-14 01:57:43 +00:00
|
|
|
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):
|
2015-11-10 10:46:51 +00:00
|
|
|
|
2015-11-09 13:11:39 +00:00
|
|
|
avatar = serializers.CharField(max_length=50, required=False, default=None)
|
2015-11-10 10:46:51 +00:00
|
|
|
blog = serializers.URLField(required=False, allow_blank=True, default='')
|
|
|
|
mood = serializers.CharField(max_length=60, required=False, default='')
|
|
|
|
hduoj_username = serializers.CharField(max_length=30, required=False, allow_blank=True, default='')
|
|
|
|
bestcoder_username = serializers.CharField(max_length=30, required=False, allow_blank=True, default='')
|
|
|
|
codeforces_username = serializers.CharField(max_length=30, required=False, allow_blank=True, default='')
|
|
|
|
school = serializers.CharField(max_length=200, required=False, allow_blank=True, default='')
|
|
|
|
phone_number = serializers.CharField(max_length=15, required=False, allow_blank=True, default='')
|
2015-12-08 06:33:40 +00:00
|
|
|
student_id = serializers.CharField(max_length=15, required=False, default="")
|
2015-11-10 10:46:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
class UserProfileSerializer(serializers.ModelSerializer):
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
model = UserProfile
|
|
|
|
fields = ["avatar", "blog", "mood", "hduoj_username", "bestcoder_username", "codeforces_username",
|
2015-12-08 06:33:40 +00:00
|
|
|
"rank", "accepted_number", "submissions_number", "problems_status", "phone_number", "school", "student_id"]
|