80 lines
2.4 KiB
Python
80 lines
2.4 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']
|
|
|
|
def validate(self, attrs):
|
|
custom_url = attrs.get("custom_url")
|
|
|
|
if custom_url and (" " in custom_url or "." in custom_url):
|
|
raise serializers.ValidationError({
|
|
"message": "하지말라면 하지 좀 마"
|
|
})
|
|
|
|
return super().validate(attrs)
|
|
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'
|
|
]
|
|
|
|
|
|
class GithubCodeSerializer(serializers.Serializer):
|
|
code = serializers.CharField() |