2020-03-18 14:36:40 +01:00
|
|
|
from django.contrib.auth import get_user_model
|
|
|
|
|
from rest_framework import serializers
|
2020-04-19 14:54:28 +02:00
|
|
|
from rest_framework_nested.relations import NestedHyperlinkedRelatedField
|
2020-03-18 14:53:26 +01:00
|
|
|
|
|
|
|
|
from uncloud import AMOUNT_DECIMALS, AMOUNT_MAX_DIGITS
|
2020-03-18 14:36:40 +01:00
|
|
|
|
2020-04-19 14:54:28 +02:00
|
|
|
class UserSerializer(serializers.HyperlinkedModelSerializer):
|
2020-03-18 14:53:26 +01:00
|
|
|
|
2020-04-18 15:11:02 +02:00
|
|
|
balance = serializers.DecimalField(max_digits=AMOUNT_MAX_DIGITS,
|
|
|
|
|
decimal_places=AMOUNT_DECIMALS)
|
|
|
|
|
|
2020-04-19 14:54:28 +02:00
|
|
|
bill_endpoint = serializers.HyperlinkedIdentityField(
|
|
|
|
|
view_name='user-bill-list',
|
|
|
|
|
lookup_field='username',
|
|
|
|
|
lookup_url_kwarg='user_pk'
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
order_endpoint = serializers.HyperlinkedIdentityField(
|
|
|
|
|
view_name='user-order-list',
|
|
|
|
|
lookup_field='username',
|
|
|
|
|
lookup_url_kwarg='user_pk'
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
address_endpoint = serializers.HyperlinkedIdentityField(
|
|
|
|
|
view_name='user-address-list',
|
|
|
|
|
lookup_field='username',
|
|
|
|
|
lookup_url_kwarg='user_pk'
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
payment_method_endpoint = serializers.HyperlinkedIdentityField(
|
|
|
|
|
view_name='user-payment-method-list',
|
|
|
|
|
lookup_field='username',
|
|
|
|
|
lookup_url_kwarg='user_pk'
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
payment_endpoint = serializers.HyperlinkedIdentityField(
|
|
|
|
|
view_name='user-payment-list',
|
|
|
|
|
lookup_field='username',
|
|
|
|
|
lookup_url_kwarg='user_pk'
|
|
|
|
|
)
|
|
|
|
|
|
2020-03-18 14:36:40 +01:00
|
|
|
class Meta:
|
|
|
|
|
model = get_user_model()
|
2020-04-19 14:54:28 +02:00
|
|
|
fields = ['username', 'email', 'balance', 'maximum_credit',
|
|
|
|
|
'bill_endpoint', 'order_endpoint', 'address_endpoint',
|
|
|
|
|
'payment_method_endpoint', 'payment_endpoint']
|
2020-03-18 14:36:40 +01:00
|
|
|
|
2020-04-18 15:11:02 +02:00
|
|
|
class ImportUserSerializer(serializers.Serializer):
|
|
|
|
|
username = serializers.CharField()
|