Pay: move some model-related methods from helpers to models

Otherwise we end up in circular dependency hell
This commit is contained in:
fnux 2020-03-04 09:39:18 +01:00
commit 9aabc66e57
6 changed files with 108 additions and 107 deletions

View file

@ -1,13 +1,6 @@
from django.contrib.auth import get_user_model
from rest_framework import serializers
from .models import *
from .helpers import get_balance_for
from functools import reduce
from uncloud_vm.serializers import VMProductSerializer
from uncloud_vm.models import VMProduct
import uncloud_pay.stripe as stripe
###
# Users.
@ -19,8 +12,6 @@ class UserSerializer(serializers.ModelSerializer):
# Display current 'balance'
balance = serializers.SerializerMethodField('get_balance')
def __sum_balance(self, entries):
return reduce(lambda acc, entry: acc + entry.amount, entries, 0)
def get_balance(self, user):
return get_balance_for(user)
@ -92,6 +83,3 @@ class OrderSerializer(serializers.ModelSerializer):
model = Order
fields = ['uuid', 'creation_date', 'starting_date', 'ending_date',
'bill', 'recurring_period', 'records', 'recurring_price', 'one_time_price']
class ProductSerializer(serializers.Serializer):
vms = VMProductSerializer(many=True, read_only=True)