Files
colio/users/serializers.py

68 lines
2.0 KiB
Python

from .models import *
from rest_framework import serializers
class JoinSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True, required=False)
class Meta:
model = User
fields = [
'email',
'password',
'is_plers_terms_of_service',
'is_terms_of_service_colio',
'is_consent_personal_info',
'is_consent_third_party_sharing',
'is_consent_marketing',
'realname',
'phone',
'nickname',
'gender',
'birth_date'
]
def create(self, validated_data):
email = validated_data.pop('email', None)
password = validated_data.pop('password', None)
return User.objects.create_user(email=email, password=password, **validated_data)
class SetPortofolioRequiredInfoSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ['custom_url', 'job_and_interests']
class TagUserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ['nickname', 'profile_image']
class UserProfileSerializer(serializers.ModelSerializer):
represent_portfolio_id = serializers.CharField(read_only=True)
new_notification_count = serializers.IntegerField(read_only=True)
class Meta:
model = User
fields = [
'banner_image',
'profile_image',
'nickname',
'external_links',
'job_and_interests',
'skills',
'short_bio',
'represent_portfolio_id',
'new_notification_count'
]
class UserMemberInfoSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = [
'realname',
'email',
'phone',
'nickname',
'gender',
'birth_date',
'custom_url',
'job_and_interests'
]