rounded/server/api/serializers.py

63 lines
1.7 KiB
Python

from operator import mod
from django.contrib.auth.models import User
from rest_framework import serializers
from . import models
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('username', 'email', 'first_name', 'last_name')
class ConsumerCreateSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True)
def create(self, validated_data):
user = User.objects.create_user(**validated_data)
user.set_password(validated_data['password'])
user.save()
consumer = models.Consumer.objects.create(user=user)
consumer.save()
return user
class Meta:
model = models.User
fields = ('username', 'password', 'email', 'first_name', 'last_name')
class FoundationSerializer(serializers.ModelSerializer):
user = UserSerializer()
class Meta:
model = models.Foundation
fields = ('user', 'name', 'description')
class ConsumerOrderSerializer(serializers.ModelSerializer):
foundation = FoundationSerializer()
class Meta:
model = models.FoundationOrder
fields = ('price', 'uuid', 'foundation')
class ConsumerSerializer(serializers.ModelSerializer):
user = UserSerializer()
class Meta:
model = models.Consumer
fields = ('user', 'access_token', 'foundation_orders')
class FoundationOrderSerializer(serializers.ModelSerializer):
consumer = ConsumerSerializer()
class Meta:
model = models.FoundationOrder
fields = ('price', 'uuid', 'consumer')
class FoundationOrderCreateSerializer(serializers.ModelSerializer):
class Meta:
model = models.FoundationOrder
fields = ('price', 'uuid', 'foundation')