creating both payer and payee wallets on deposit request

This commit is contained in:
hgh 2025-09-03 09:58:47 +03:30
parent 1092884e1b
commit b775e05039

View file

@ -278,11 +278,15 @@ class CategoryDepositSubmitAPIView(generics.CreateAPIView):
category = get_object_or_404(Category.objects.all(), uuid=category_uuid)
else:
category = None
wallet, _ = Wallet.objects.get_or_create(owner_uuid=application.uuid, owner_type=TypeChoices.APPLICATION,
payee_id = serializer.validated_data.pop('payee_id')
payee_type = serializer.validated_data.pop('payee_type')
payer_wallet, _ = Wallet.objects.get_or_create(owner_uuid=application.uuid, owner_type=TypeChoices.APPLICATION,
category=category)
instance = serializer.save(payer_wallet=wallet, application=application)
payee_wallet, _ = Wallet.objects.get_or_create(owner_uuid=payee_id, owner_type=payee_type, category=category)
instance = serializer.save(payer_wallet=payer_wallet, application=application, payee_wallet=payee_wallet)
try:
instance.submit()
instance.category_submit()
except Exception as e:
print(e)
APIException('Failed to submit deposit')
@ -308,7 +312,7 @@ class CategoryDepositVerifyAPIView(generics.RetrieveAPIView):
def retrieve(self, request, *args, **kwargs):
instance = self.get_object()
if instance.state == StateChoices.PENDING:
instance.verify()
instance.category_verify()
serializer = self.get_serializer(instance)
return Response(serializer.data)