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",
|
"first_name",
|
||||||
"last_name",
|
"last_name",
|
||||||
'name',
|
'name',
|
||||||
'balance',
|
|
||||||
'avatar',
|
'avatar',
|
||||||
'iban',
|
'iban',
|
||||||
'iban_verified',
|
'iban_verified',
|
||||||
|
|
@ -39,7 +38,7 @@ class AccountSerializer(serializers.ModelSerializer):
|
||||||
'postal_code',
|
'postal_code',
|
||||||
'address',
|
'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):
|
class RequestOTPSerializer(serializers.ModelSerializer):
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ from rest_framework.exceptions import APIException
|
||||||
|
|
||||||
from apps.users.serializers import PublicUserSerializer
|
from apps.users.serializers import PublicUserSerializer
|
||||||
from .models import Transaction
|
from .models import Transaction
|
||||||
|
from ..users.models import User
|
||||||
|
|
||||||
|
|
||||||
class TransactionSerializer(serializers.ModelSerializer):
|
class TransactionSerializer(serializers.ModelSerializer):
|
||||||
|
|
@ -99,3 +100,9 @@ class WithdrawSerializer(serializers.ModelSerializer):
|
||||||
raise APIException('duplicate uuid')
|
raise APIException('duplicate uuid')
|
||||||
|
|
||||||
return transaction
|
return transaction
|
||||||
|
|
||||||
|
|
||||||
|
class WalletSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model=User
|
||||||
|
fields = ['balance']
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
from django.urls import path
|
from django.urls import path
|
||||||
from .views import TransactionList, TransactionDetail, TransactionPay, TransactionReceipt, \
|
from .views import TransactionList, TransactionDetail, TransactionPay, TransactionReceipt, \
|
||||||
WithdrawVerify, WithdrawSubmit, DepositSubmit, DepositVerify, TransactionListView, TransactionDetailView
|
WithdrawVerify, WithdrawSubmit, DepositSubmit, DepositVerify, TransactionListView, TransactionDetailView, \
|
||||||
|
DefaultWalletBalanceView
|
||||||
|
|
||||||
app_name = "wallet"
|
app_name = "wallet"
|
||||||
|
|
||||||
|
|
@ -8,6 +9,8 @@ urlpatterns = [
|
||||||
path('transactions/', TransactionListView.as_view(), name='transaction_list'),
|
path('transactions/', TransactionListView.as_view(), name='transaction_list'),
|
||||||
path('transactions/<pk>', TransactionDetailView.as_view(), name='transaction_detail'),
|
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/', TransactionList.as_view(), name='transaction_list_api'),
|
||||||
path('api/transactions/<uuid>', TransactionDetail.as_view(), name='transaction_detail_api'),
|
path('api/transactions/<uuid>', TransactionDetail.as_view(), name='transaction_detail_api'),
|
||||||
path('api/transactions/<uuid>/pay', TransactionPay.as_view(), name='transaction_pay_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.gooyal_oauth2.rest_framework import IsAuthenticatedOrTokenMatchesOASRequirements
|
||||||
from apps.wallet.models import Transaction
|
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 .constans import STATE_CHOICES
|
||||||
from .forms import TransactionActionForm
|
from .forms import TransactionActionForm
|
||||||
|
|
||||||
|
|
@ -25,6 +25,16 @@ def get_application(request):
|
||||||
application = None
|
application = None
|
||||||
return application
|
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
|
# TODO: this is user invoice create view
|
||||||
# class TransactionList(generics.ListCreateAPIView):
|
# class TransactionList(generics.ListCreateAPIView):
|
||||||
# permission_classes = [IsAuthenticatedOrTokenMatchesOASRequirements]
|
# permission_classes = [IsAuthenticatedOrTokenMatchesOASRequirements]
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue