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.
k4ever/k4ever/api3/serializers.py

61 lines
1.8 KiB

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')