create get_default_wallet_balance api
This commit is contained in:
parent
583effafe7
commit
366767cd69
4 changed files with 23 additions and 4 deletions
|
|
@ -27,7 +27,6 @@ class AccountSerializer(serializers.ModelSerializer):
|
|||
"first_name",
|
||||
"last_name",
|
||||
'name',
|
||||
'balance',
|
||||
'avatar',
|
||||
'iban',
|
||||
'iban_verified',
|
||||
|
|
@ -39,7 +38,7 @@ class AccountSerializer(serializers.ModelSerializer):
|
|||
'postal_code',
|
||||
'address',
|
||||
)
|
||||
read_only_fields = ['uuid', 'balance', 'email', 'phone_number', 'iban_verified', 'province_name', 'city_name',]
|
||||
read_only_fields = ['uuid', 'email', 'phone_number', 'iban_verified', 'province_name', 'city_name',]
|
||||
|
||||
|
||||
class RequestOTPSerializer(serializers.ModelSerializer):
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ from rest_framework.exceptions import APIException
|
|||
|
||||
from apps.users.serializers import PublicUserSerializer
|
||||
from .models import Transaction
|
||||
from ..users.models import User
|
||||
|
||||
|
||||
class TransactionSerializer(serializers.ModelSerializer):
|
||||
|
|
@ -99,3 +100,9 @@ class WithdrawSerializer(serializers.ModelSerializer):
|
|||
raise APIException('duplicate uuid')
|
||||
|
||||
return transaction
|
||||
|
||||
|
||||
class WalletSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model=User
|
||||
fields = ['balance']
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
from django.urls import path
|
||||
from .views import TransactionList, TransactionDetail, TransactionPay, TransactionReceipt, \
|
||||
WithdrawVerify, WithdrawSubmit, DepositSubmit, DepositVerify, TransactionListView, TransactionDetailView
|
||||
WithdrawVerify, WithdrawSubmit, DepositSubmit, DepositVerify, TransactionListView, TransactionDetailView, \
|
||||
DefaultWalletBalanceView
|
||||
|
||||
app_name = "wallet"
|
||||
|
||||
|
|
@ -8,6 +9,8 @@ urlpatterns = [
|
|||
path('transactions/', TransactionListView.as_view(), name='transaction_list'),
|
||||
path('transactions/<pk>', TransactionDetailView.as_view(), name='transaction_detail'),
|
||||
|
||||
path('api/wallet/default/balance', DefaultWalletBalanceView.as_view(), name='default_wallet_balance_api'),
|
||||
|
||||
path('api/transactions/', TransactionList.as_view(), name='transaction_list_api'),
|
||||
path('api/transactions/<uuid>', TransactionDetail.as_view(), name='transaction_detail_api'),
|
||||
path('api/transactions/<uuid>/pay', TransactionPay.as_view(), name='transaction_pay_api'),
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ from rest_framework.response import Response
|
|||
|
||||
from apps.gooyal_oauth2.rest_framework import IsAuthenticatedOrTokenMatchesOASRequirements
|
||||
from apps.wallet.models import Transaction
|
||||
from apps.wallet.serializers import TransactionSerializer, DepositSerializer, WithdrawSerializer
|
||||
from apps.wallet.serializers import TransactionSerializer, DepositSerializer, WithdrawSerializer, WalletSerializer
|
||||
from .constans import STATE_CHOICES
|
||||
from .forms import TransactionActionForm
|
||||
|
||||
|
|
@ -25,6 +25,16 @@ def get_application(request):
|
|||
application = None
|
||||
return application
|
||||
|
||||
|
||||
class DefaultWalletBalanceView(generics.RetrieveAPIView):
|
||||
permission_classes = [permissions.IsAuthenticated, IsAuthenticatedOrTokenHasScope]
|
||||
serializer_class = WalletSerializer
|
||||
required_scopes = ['wallet.wallet:get_balance']
|
||||
|
||||
def get_object(self):
|
||||
return self.request.user
|
||||
|
||||
|
||||
# TODO: this is user invoice create view
|
||||
# class TransactionList(generics.ListCreateAPIView):
|
||||
# permission_classes = [IsAuthenticatedOrTokenMatchesOASRequirements]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue