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')
39 class SliceSerializer(serializers.HyperlinkedModelSerializer):
40 # HyperlinkedModelSerializer doesn't include the id by default
41 id = serializers.Field()
42 site = serializers.HyperlinkedRelatedField(view_name='site-detail')
57 class SiteSerializer(serializers.HyperlinkedModelSerializer):
59 #Experimenting with whether to use ids, hyperlinks, or nested includes
60 #slices = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
61 #slices = serializers.RelatedField(many=True, read_only=True)
62 #slices = SliceSerializer(many=True)
63 # HyperlinkedModelSerializer doesn't include the id by default
64 id = serializers.Field()
65 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True,view_name='slice-detail')
66 deployment_networks = serializers.HyperlinkedRelatedField(many=True, read_only=True,view_name='sitedeploymentnetwork-detail')
73 'deployment_networks',
86 class DeploymentNetworkSerializer(serializers.HyperlinkedModelSerializer):
88 # HyperlinkedModelSerializer doesn't include the id by default
89 id = serializers.Field()
90 sites = serializers.HyperlinkedRelatedField(view_name='sitedeploymentnetwork-detail')
92 model = DeploymentNetwork
98 class SiteDeploymentNetworkSerializer(serializers.HyperlinkedModelSerializer):
99 # HyperlinkedModelSerializer doesn't include the id by default
100 id = serializers.Field()
101 site = serializers.HyperlinkedRelatedField(view_name='site-detail')
102 deploymentNetwork = serializers.HyperlinkedRelatedField(view_name='deploymentnetwork-detail')
105 model = SiteDeploymentNetwork
111 class SliverSerializer(serializers.HyperlinkedModelSerializer):
112 # HyperlinkedModelSerializer doesn't include the id by default
113 id = serializers.Field()
114 slice = serializers.RelatedField(read_only=True)
115 #slice = serializers.PrimaryKeyRelatedField(read_only=True)
123 class NodeSerializer(serializers.HyperlinkedModelSerializer):
124 # HyperlinkedModelSerializer doesn't include the id by default
125 id = serializers.Field()
131 class ImageSerializer(serializers.HyperlinkedModelSerializer):
132 # HyperlinkedModelSerializer doesn't include the id by default
133 id = serializers.Field()
142 class FlavorSerializer(serializers.HyperlinkedModelSerializer):
143 # HyperlinkedModelSerializer doesn't include the id by default
144 id = serializers.Field()
155 Role: RoleSerializer,
156 User: UserSerializer,
157 Site: SiteSerializer,
158 Slice: SliceSerializer,
159 Node: NodeSerializer,
160 Sliver: SliverSerializer,
161 DeploymentNetwork: DeploymentNetworkSerializer,
162 SiteDeploymentNetwork: SiteDeploymentNetworkSerializer,
163 Image: ImageSerializer,
164 Flavor: FlavorSerializer,