Commit c7e033c6 authored by Rafal's avatar Rafal

add full serializer

parent 9e87b275
......@@ -10,17 +10,19 @@ class SiteSerializer(serializers.HyperlinkedModelSerializer):
fields = ('id', 'url', 'link_url', 'description', 'category', 'author')
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Site
fields = ('id', 'url')
model = User
fields = ('id', 'url' ,'username')
class FullSiteSerializer(serializers.HyperlinkedModelSerializer):
author = UserSerializer()
class UserProjectSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = UserProject
fields = ('id', 'url', 'author', 'beacon_managers', 'name', 'description')
model = Site
fields = ('id', 'url', 'link_url', 'description', 'category', 'author')
class BeaconSerializer(serializers.HyperlinkedModelSerializer):
......@@ -39,4 +41,30 @@ class CategorySerializer(serializers.HyperlinkedModelSerializer):
model = Category
fields = ('id', 'url', 'name', 'private')
class FullSiteSerializer(serializers.HyperlinkedModelSerializer):
author = UserSerializer()
category = CategorySerializer(many=True)
class Meta:
model = Site
fields = ('id', 'url', 'link_url', 'description', 'category', 'author')
class FullBeaconManagerSerializer(serializers.HyperlinkedModelSerializer):
sites = FullSiteSerializer(many=True)
beacon = BeaconSerializer()
class Meta:
model = BeaconManager
fields = ('id', 'url', 'sites', 'beacon')
class FullUserProjectSerializer(serializers.HyperlinkedModelSerializer):
author = UserSerializer()
beacon_managers = FullBeaconManagerSerializer(many=True)
class Meta:
model = UserProject
fields = ('id', 'url', 'author', 'beacon_managers', 'name', 'description')
class UserProjectSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = UserProject
fields = ('id', 'url', 'author', 'beacon_managers', 'name', 'description')
\ No newline at end of file
......@@ -14,7 +14,7 @@ from rest_framework.response import Response
from rest_framework.views import APIView
from Hub.models import Beacon, BeaconManager, Site, Category, UserProject
from Hub.serializers import BeaconSerializer, BeaconManagerSerializer, SiteSerializer, CategorySerializer, \
UserSerializer, UserProjectSerializer
UserSerializer, UserProjectSerializer, FullUserProjectSerializer
class BeaconViewSet(viewsets.ModelViewSet):
......@@ -60,7 +60,11 @@ class UserProjectViewSet(viewsets.ModelViewSet):
return Response(data=beacons)
@detail_route()
def all(self, request, pk=None):
user_project = UserProject.objects.get(pk=pk)
user_project_serializer = FullUserProjectSerializer(user_project, context={'request': request})
return Response(data=user_project_serializer.data)
class SiteViewSet(viewsets.ModelViewSet):
"""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment