61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
from django.contrib.auth.models import User
|
|
from rest_framework import serializers
|
|
|
|
from buyable.models import BuyableType, Buyable, Order, Purchase
|
|
from transaction.models import TransactionType, Transaction, VirtualTransaction
|
|
|
|
|
|
class UserSerializer(serializers.HyperlinkedModelSerializer):
|
|
class Meta:
|
|
model = User
|
|
fields = ('id', 'username',)
|
|
|
|
|
|
class BuyableTypeSerializer(serializers.HyperlinkedModelSerializer):
|
|
class Meta:
|
|
model = BuyableType
|
|
fields = ['url', 'id', 'name']
|
|
|
|
|
|
class BuyableSerializer(serializers.HyperlinkedModelSerializer):
|
|
class Meta:
|
|
model = Buyable
|
|
fields = ['url', 'id', 'name', 'description', 'price', 'barcode', 'deposit', 'image', 'buyableType']
|
|
|
|
|
|
class PurchaseSerializer(serializers.HyperlinkedModelSerializer):
|
|
class Meta:
|
|
model = Purchase
|
|
fields = ['id', 'price', 'isDeposit', 'buyable']
|
|
|
|
|
|
class OrderSerializer(serializers.HyperlinkedModelSerializer):
|
|
purchases = PurchaseSerializer(source='purchase_set', many=True)
|
|
|
|
class Meta:
|
|
model = Order
|
|
fields = ['url', 'id', 'price', 'dateTime', 'purchases']
|
|
|
|
|
|
class TransactionTypeSerializer(serializers.HyperlinkedModelSerializer):
|
|
class Meta:
|
|
model = TransactionType
|
|
fields = ('url', 'id', 'name')
|
|
|
|
|
|
class TransactionSerializer(serializers.HyperlinkedModelSerializer):
|
|
transactionType = TransactionTypeSerializer()
|
|
|
|
class Meta:
|
|
model = Transaction
|
|
fields = ('url', 'id', 'amount', 'dateTime', 'checked', 'transactionType')
|
|
|
|
|
|
class VirtualTransactionSerializer(serializers.HyperlinkedModelSerializer):
|
|
user = UserSerializer()
|
|
recipient = UserSerializer()
|
|
|
|
class Meta:
|
|
model = VirtualTransaction
|
|
fields = ('url', 'id', 'amount', 'dateTime', 'comment', 'user', 'recipient')
|