65 lines
1.8 KiB
Python
65 lines
1.8 KiB
Python
from .models import *
|
|
from rest_framework import serializers
|
|
|
|
class JoinSerializer(serializers.ModelSerializer):
|
|
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):
|
|
return User.objects.create_user(**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'
|
|
]
|