team-3/src/c3nav/api/serializers.py

30 lines
745 B
Python
Raw Normal View History

2016-09-11 21:39:01 +02:00
from rest_framework.serializers import ModelSerializer
from ..mapdata.models import Level, Package, Source
class BoundsMixin:
def to_representation(self, obj):
result = super().to_representation(obj)
if obj.bottom is not None:
result['bounds'] = ((obj.bottom, obj.left), (obj.top, obj.right))
return result
class LevelSerializer(ModelSerializer):
class Meta:
model = Level
fields = ('name', 'altitude', 'package')
class PackageSerializer(BoundsMixin, ModelSerializer):
class Meta:
model = Package
fields = ('name', 'depends')
class SourceSerializer(BoundsMixin, ModelSerializer):
class Meta:
model = Source
fields = ('name', 'package')