Add initial generate-bills and charge-negative-balance uncloud-pay

commands
This commit is contained in:
fnux 2020-02-28 08:59:32 +01:00
commit 059791e2f2
10 changed files with 275 additions and 12 deletions

View file

@ -1,6 +1,7 @@
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
@ -10,7 +11,7 @@ class BillSerializer(serializers.ModelSerializer):
class Meta:
model = Bill
fields = ['owner', 'amount', 'due_date', 'creation_date',
'starting_date', 'ending_date', 'paid']
'starting_date', 'ending_date']
class PaymentSerializer(serializers.ModelSerializer):
class Meta:
@ -41,8 +42,4 @@ class UserSerializer(serializers.ModelSerializer):
return reduce(lambda acc, entry: acc + entry.amount, entries, 0)
def get_balance(self, user):
bills = self.__sum_balance(Bill.objects.filter(owner=user))
payments = self.__sum_balance(Payment.objects.filter(owner=user))
balance = payments - bills
return balance
return get_balance_for(user)