ec447e0dc4
Closes #35 Fixes #35
25 lines
864 B
Python
25 lines
864 B
Python
from django.contrib.auth import get_user_model
|
|
from rest_framework import serializers
|
|
|
|
from uncloud_pay import AMOUNT_DECIMALS, AMOUNT_MAX_DIGITS
|
|
from uncloud_pay.models import BillingAddress
|
|
|
|
class UserSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = get_user_model()
|
|
read_only_fields = [ 'username', 'balance', 'maximum_credit' ]
|
|
fields = read_only_fields + [ 'email', 'primary_billing_address' ]
|
|
|
|
def validate(self, data):
|
|
"""
|
|
Ensure that the primary billing address belongs to the user
|
|
"""
|
|
|
|
if 'primary_billing_address' in data:
|
|
if not data['primary_billing_address'].owner == self.instance:
|
|
raise serializers.ValidationError("Invalid data")
|
|
|
|
return data
|
|
|
|
class ImportUserSerializer(serializers.Serializer):
|
|
username = serializers.CharField()
|