1 from django.forms import widgets
2 from rest_framework import serializers
3 from plstackapi.planetstack.models import *
6 class RoleSerializer(serializers.HyperlinkedModelSerializer):
7 # HyperlinkedModelSerializer doesn't include the id by default
8 id = serializers.Field()
17 class UserSerializer(serializers.HyperlinkedModelSerializer):
18 # HyperlinkedModelSerializer doesn't include the id by default
19 id = serializers.Field()
20 site = serializers.HyperlinkedRelatedField(view_name='site-detail')
21 slice_memberships = serializers.HyperlinkedRelatedField(view_name='slice-membership-detail')
22 site_privileges = serializers.HyperlinkedRelatedField(view_name='site-privilege-detail')
37 class KeySerializer(serializers.HyperlinkedModelSerializer):
38 id = serializers.Field()
39 user = serializers.HyperlinkedRelatedField(view_name='user-detail')
50 class SliceSerializer(serializers.HyperlinkedModelSerializer):
51 # HyperlinkedModelSerializer doesn't include the id by default
52 id = serializers.Field()
53 site = serializers.HyperlinkedRelatedField(view_name='site-detail')
68 class SiteSerializer(serializers.HyperlinkedModelSerializer):
70 #Experimenting with whether to use ids, hyperlinks, or nested includes
71 #slices = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
72 #slices = serializers.RelatedField(many=True, read_only=True)
73 #slices = SliceSerializer(many=True)
74 # HyperlinkedModelSerializer doesn't include the id by default
75 id = serializers.Field()
76 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True,view_name='slice-detail')
77 deployment_networks = serializers.HyperlinkedRelatedField(many=True, read_only=True,view_name='sitedeploymentnetwork-detail')
84 'deployment_networks',
97 class DeploymentNetworkSerializer(serializers.HyperlinkedModelSerializer):
99 # HyperlinkedModelSerializer doesn't include the id by default
100 id = serializers.Field()
101 sites = serializers.HyperlinkedRelatedField(view_name='sitedeploymentnetwork-detail')
103 model = DeploymentNetwork
109 class SiteDeploymentNetworkSerializer(serializers.HyperlinkedModelSerializer):
110 # HyperlinkedModelSerializer doesn't include the id by default
111 id = serializers.Field()
112 site = serializers.HyperlinkedRelatedField(view_name='site-detail')
113 deploymentNetwork = serializers.HyperlinkedRelatedField(view_name='deploymentnetwork-detail')
116 model = SiteDeploymentNetwork
122 class SliverSerializer(serializers.HyperlinkedModelSerializer):
123 # HyperlinkedModelSerializer doesn't include the id by default
124 id = serializers.Field()
125 slice = serializers.RelatedField(read_only=True)
126 #slice = serializers.PrimaryKeyRelatedField(read_only=True)
134 class NodeSerializer(serializers.HyperlinkedModelSerializer):
135 # HyperlinkedModelSerializer doesn't include the id by default
136 id = serializers.Field()
142 class ImageSerializer(serializers.HyperlinkedModelSerializer):
143 # HyperlinkedModelSerializer doesn't include the id by default
144 id = serializers.Field()
153 class FlavorSerializer(serializers.HyperlinkedModelSerializer):
154 # HyperlinkedModelSerializer doesn't include the id by default
155 id = serializers.Field()
166 Role: RoleSerializer,
167 User: UserSerializer,
169 Site: SiteSerializer,
170 Slice: SliceSerializer,
171 Node: NodeSerializer,
172 Sliver: SliverSerializer,
173 DeploymentNetwork: DeploymentNetworkSerializer,
174 SiteDeploymentNetwork: SiteDeploymentNetworkSerializer,
175 Image: ImageSerializer,
176 Flavor: FlavorSerializer,