1 from django.forms import widgets
2 from rest_framework import serializers
3 from plstackapi.core.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')
54 slivers = serializers.HyperlinkedRelatedField(view_name='sliver-detail')
55 subnets = serializers.HyperlinkedRelatedField(view_name='subnet-detail')
75 class SiteSerializer(serializers.HyperlinkedModelSerializer):
77 #Experimenting with whether to use ids, hyperlinks, or nested includes
78 #slices = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
79 #slices = serializers.RelatedField(many=True, read_only=True)
80 #slices = SliceSerializer(many=True)
81 # HyperlinkedModelSerializer doesn't include the id by default
82 id = serializers.Field()
83 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True,view_name='slice-detail')
84 deployment_networks = serializers.HyperlinkedRelatedField(many=True, read_only=True,view_name='sitedeploymentnetwork-detail')
91 'deployment_networks',
104 class DeploymentNetworkSerializer(serializers.HyperlinkedModelSerializer):
106 # HyperlinkedModelSerializer doesn't include the id by default
107 id = serializers.Field()
108 sites = serializers.HyperlinkedRelatedField(view_name='sitedeploymentnetwork-detail')
110 model = DeploymentNetwork
116 class SiteDeploymentNetworkSerializer(serializers.HyperlinkedModelSerializer):
117 # HyperlinkedModelSerializer doesn't include the id by default
118 id = serializers.Field()
119 site = serializers.HyperlinkedRelatedField(view_name='site-detail')
120 deploymentNetwork = serializers.HyperlinkedRelatedField(view_name='deploymentnetwork-detail')
123 model = SiteDeploymentNetwork
129 class SliverSerializer(serializers.HyperlinkedModelSerializer):
130 # HyperlinkedModelSerializer doesn't include the id by default
131 id = serializers.Field()
132 slice = serializers.RelatedField(read_only=True)
133 #slice = serializers.PrimaryKeyRelatedField(read_only=True)
141 class NodeSerializer(serializers.HyperlinkedModelSerializer):
142 # HyperlinkedModelSerializer doesn't include the id by default
143 id = serializers.Field()
149 class ImageSerializer(serializers.HyperlinkedModelSerializer):
150 # HyperlinkedModelSerializer doesn't include the id by default
151 id = serializers.Field()
160 class FlavorSerializer(serializers.HyperlinkedModelSerializer):
161 # HyperlinkedModelSerializer doesn't include the id by default
162 id = serializers.Field()
173 Role: RoleSerializer,
174 User: UserSerializer,
176 Site: SiteSerializer,
177 Slice: SliceSerializer,
178 Node: NodeSerializer,
179 Sliver: SliverSerializer,
180 DeploymentNetwork: DeploymentNetworkSerializer,
181 SiteDeploymentNetwork: SiteDeploymentNetworkSerializer,
182 Image: ImageSerializer,
183 Flavor: FlavorSerializer,