update transaction scopes
This commit is contained in:
parent
c7a83258a1
commit
ee5f8fca47
1 changed files with 13 additions and 9 deletions
|
|
@ -4,6 +4,7 @@ from oauth2_provider.contrib.rest_framework import TokenHasScope, IsAuthenticate
|
|||
from rest_framework import generics, permissions
|
||||
from rest_framework.response import Response
|
||||
|
||||
from apps.gooyal_oauth2.rest_framework import IsAuthenticatedOrTokenMatchesOASRequirements
|
||||
from apps.transactions.models import Transaction
|
||||
from apps.transactions.serializers import TransactionSerializer, DepositSerializer, WithdrawSerializer
|
||||
from apps.users.constans import STATE_CHOICES
|
||||
|
|
@ -22,9 +23,12 @@ def get_application_client_id(request):
|
|||
|
||||
|
||||
class TransactionList(generics.ListCreateAPIView):
|
||||
permission_classes = [permissions.IsAuthenticated, IsAuthenticatedOrTokenHasScope]
|
||||
permission_classes = [IsAuthenticatedOrTokenMatchesOASRequirements]
|
||||
serializer_class = TransactionSerializer
|
||||
required_scopes = []
|
||||
required_alternate_scopes = {
|
||||
"GET": [['wallet.transaction:list']],
|
||||
"POST": [['wallet.invoice:create']],
|
||||
}
|
||||
|
||||
def get_queryset(self):
|
||||
user = self.request.user
|
||||
|
|
@ -39,7 +43,7 @@ class TransactionDetail(generics.RetrieveAPIView):
|
|||
permission_classes = [permissions.IsAuthenticated, IsAuthenticatedOrTokenHasScope]
|
||||
serializer_class = TransactionSerializer
|
||||
lookup_field = 'uuid'
|
||||
required_scopes = []
|
||||
required_scopes = ['wallet.transaction:retrieve']
|
||||
|
||||
def get_queryset(self):
|
||||
user = self.request.user
|
||||
|
|
@ -50,7 +54,7 @@ class TransactionPay(generics.RetrieveAPIView):
|
|||
permission_classes = [permissions.IsAuthenticated, IsAuthenticatedOrTokenHasScope]
|
||||
serializer_class = TransactionSerializer
|
||||
lookup_field = 'uuid'
|
||||
required_scopes = []
|
||||
required_scopes = ['wallet.invoice:pay']
|
||||
|
||||
def get_queryset(self):
|
||||
user = self.request.user
|
||||
|
|
@ -67,7 +71,7 @@ class TransactionReceipt(generics.RetrieveAPIView):
|
|||
permission_classes = [permissions.IsAuthenticated, IsAuthenticatedOrTokenHasScope]
|
||||
serializer_class = TransactionSerializer
|
||||
lookup_field = 'uuid'
|
||||
required_scopes = []
|
||||
required_scopes = ['wallet.invoice:receipt']
|
||||
|
||||
def get_queryset(self):
|
||||
user = self.request.user
|
||||
|
|
@ -83,7 +87,7 @@ class TransactionReceipt(generics.RetrieveAPIView):
|
|||
class DepositSubmit(generics.CreateAPIView):
|
||||
permission_classes = [TokenHasScope]
|
||||
serializer_class = DepositSerializer
|
||||
required_scopes = ['transactions.deposit:submit']
|
||||
required_scopes = ['wallet.deposit:submit']
|
||||
|
||||
def get_queryset(self):
|
||||
application_client_id = get_application_client_id(self.request)
|
||||
|
|
@ -98,7 +102,7 @@ class DepositVerify(generics.RetrieveAPIView):
|
|||
permission_classes = [TokenHasScope]
|
||||
serializer_class = DepositSerializer
|
||||
lookup_field = 'uuid'
|
||||
required_scopes = ['transactions.deposit:verify']
|
||||
required_scopes = ['wallet.deposit:verify']
|
||||
|
||||
def get_queryset(self):
|
||||
application_client_id = get_application_client_id(self.request)
|
||||
|
|
@ -116,7 +120,7 @@ class DepositVerify(generics.RetrieveAPIView):
|
|||
class WithdrawSubmit(generics.CreateAPIView):
|
||||
permission_classes = [TokenHasScope]
|
||||
serializer_class = WithdrawSerializer
|
||||
required_scopes = ['transactions.withdraw:submit']
|
||||
required_scopes = ['wallet.withdraw:submit']
|
||||
|
||||
def get_queryset(self):
|
||||
application_client_id = get_application_client_id(self.request)
|
||||
|
|
@ -131,7 +135,7 @@ class WithdrawVerify(generics.RetrieveAPIView):
|
|||
permission_classes = [TokenHasScope]
|
||||
serializer_class = WithdrawSerializer
|
||||
lookup_field = 'uuid'
|
||||
required_scopes = ['transactions.withdraw:verify']
|
||||
required_scopes = ['wallet.withdraw:verify']
|
||||
|
||||
def get_queryset(self):
|
||||
application_client_id = get_application_client_id(self.request)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue