하재연

Update serializers.py

1 -from django.contrib.auth.models import User, Group
2 from rest_framework import serializers 1 from rest_framework import serializers
3 -from api.models import Item, SharedItem 2 +from api.models import User
4 3
5 4
6 -class UserSerializer(serializers.HyperlinkedModelSerializer): 5 +class UserSerializer(serializers.ModelSerializer):
7 class Meta: 6 class Meta:
8 model = User 7 model = User
9 - fields = ['url', 'username', 'email', 'groups'] 8 + fields = '__all__'
9 +
10 +
11 +class SignUpSerializer(serializers.ModelSerializer):
12 + password2 = serializers.CharField(style={"input_type": "password"})
10 13
11 -class GroupSerializer(serializers.HyperlinkedModelSerializer):
12 class Meta: 14 class Meta:
13 - model = Group 15 + model = User
14 - fields = ['url', 'name'] 16 + fields = ['user_id', 'name', 'password', 'password2']
17 +
18 + def create(self, data):
19 + user_id = data['user_id']
20 + name = data['name']
21 + password = self.data['password']
22 + password2 = self.data['password2']
23 +
24 + if user_id and User.objects.filter(user_id=user_id).exclude(name=name).exists():
25 + raise serializers.ValidationError({"user_id": "User_id must be unique."})
15 26
16 -class ItemSerializer(serializers.ModelSerializer): 27 + elif password != password2:
28 + raise serializers.ValidationError({'password': "Passwords must match."})
29 +
30 + user = User.objects.create(
31 + user_id=data['user_id'],
32 + name=data['name'],
33 + password=data['password'],
34 + )
35 + user.save()
36 +
37 + return user
38 +
39 +
40 +class UserInfoSerializer(serializers.ModelSerializer):
17 class Meta: 41 class Meta:
18 - model = Item 42 + model = User
19 - fields = '__all__' 43 + fields = ['user_id', 'name', 'total_size', 'current_size']
20 44
......