enable wallet api

This commit is contained in:
Sayyid Hamid Mahdavi 2025-03-04 13:44:51 +03:30
parent 817f215b5a
commit 531ef4cfc7

View file

@ -14,7 +14,7 @@ from apps.gooyal_oauth2.rest_framework import IsAuthenticatedOrTokenMatchesOASRe
from apps.wallet.models import Transaction
from apps.wallet.serializers import TransactionSerializer, DepositSerializer, WithdrawSerializer, \
MyWalletSerializer
from ..constans import StateChoices
from ..constans import StateChoices, TypeChoices
from ..forms import TransactionActionForm
from django.utils.translation import gettext_lazy as _
@ -41,7 +41,7 @@ class MyWalletBalanceView(generics.RetrieveAPIView):
# this is application create invoice view
class TransactionList(generics.ListCreateAPIView):
class TransactionList(generics.ListAPIView):
'''
GET: API for getting list of transactions for authenticated user
POST: API for creating transaction for transferring funds from authenticated user to application owner. (deprecated)
@ -58,12 +58,14 @@ class TransactionList(generics.ListCreateAPIView):
def get_queryset(self):
user = self.request.user
return Transaction.objects.filter(Q(payee=user) | Q(payer=user)).all()
return Transaction.objects.filter(Q(payee_id=user.pk, payee_type=TypeChoices.USER.value) | Q(payer_id=user.pk, payer_type=TypeChoices.USER.value)).all()
def perform_create(self, serializer):
payer = self.request.user
payee = self.request.auth.application_owner
serializer.save(payer=payer, payee=payee, application=get_application(self.request))
# TODO:
# def perform_create(self, serializer):
# payer = self.request.user
# payee = self.request.auth.application_owner
# serializer.save(payer_id=payer.pk, payee=payee, application=get_application(self.request))
class TransactionDetail(generics.RetrieveAPIView):