You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.9 KiB
56 lines
1.9 KiB
from django.db.models import Q
|
|
from rest_framework import viewsets
|
|
from rest_framework.permissions import IsAuthenticated
|
|
|
|
from .serializers import BuyableTypeSerializer, BuyableSerializer, OrderSerializer
|
|
from .serializers import TransactionTypeSerializer, TransactionSerializer, VirtualTransactionSerializer
|
|
from buyable.models import BuyableType, Buyable, Order
|
|
from transaction.models import TransactionType, Transaction, VirtualTransaction
|
|
|
|
|
|
class BuyableTypeViewSet(viewsets.ReadOnlyModelViewSet):
|
|
queryset = BuyableType.objects.all()
|
|
serializer_class = BuyableTypeSerializer
|
|
|
|
|
|
class BuyableViewSet(viewsets.ReadOnlyModelViewSet):
|
|
queryset = Buyable.objects.all()
|
|
serializer_class = BuyableSerializer
|
|
|
|
|
|
class OrderViewSet(viewsets.ReadOnlyModelViewSet):
|
|
permission_classes = [IsAuthenticated]
|
|
serializer_class = OrderSerializer
|
|
|
|
def get_queryset(self):
|
|
return Order.objects.filter(user=self.request.user)
|
|
|
|
|
|
class TransactionTypeViewSet(viewsets.ReadOnlyModelViewSet):
|
|
queryset = TransactionType.objects.all()
|
|
serializer_class = TransactionTypeSerializer
|
|
|
|
|
|
class TransactionViewSet(viewsets.ReadOnlyModelViewSet):
|
|
permission_classes = [IsAuthenticated]
|
|
serializer_class = TransactionSerializer
|
|
|
|
def get_queryset(self):
|
|
return Transaction.objects.filter(user=self.request.user).order_by("-dateTime")
|
|
|
|
|
|
class VirtualTransactionViewSet(viewsets.ReadOnlyModelViewSet):
|
|
permission_classes = [IsAuthenticated]
|
|
serializer_class = VirtualTransactionSerializer
|
|
|
|
def get_queryset(self):
|
|
return (VirtualTransaction.objects.filter(Q(user=self.request.user) | Q(recipient=self.request.user))
|
|
.order_by("-dateTime"))
|
|
|
|
|
|
# class BalanceView(APIView):
|
|
# def get(self, request):
|
|
# return Response({'balance': request.user.userprofile.balance}
|
|
class BalanceViewSet(viewsets.ReadOnlyModelViewSet):
|
|
pass
|