1 from django.forms import widgets
2 from rest_framework import serializers
3 from core.models import *
6 class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
8 # HyperlinkedModelSerializer doesn't include the id by default
9 id = serializers.Field()
10 sites = serializers.HyperlinkedRelatedField(view_name='site-detail')
19 class ImageSerializer(serializers.HyperlinkedModelSerializer):
20 # HyperlinkedModelSerializer doesn't include the id by default
21 id = serializers.Field()
31 class NodeSerializer(serializers.HyperlinkedModelSerializer):
32 # HyperlinkedModelSerializer doesn't include the id by default
33 id = serializers.Field()
40 class ProjectSerializer(serializers.HyperlinkedModelSerializer):
41 # HyperlinkedModelSerializer doesn't include the id by default
42 id = serializers.Field()
49 class ReservationSerializer(serializers.HyperlinkedModelSerializer):
50 # HyperlinkedModelSerializer doesn't include the id by default
51 id = serializers.Field()
62 class RoleSerializer(serializers.HyperlinkedModelSerializer):
63 # HyperlinkedModelSerializer doesn't include the id by default
64 id = serializers.Field()
73 class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
74 # HyperlinkedModelSerializer doesn't include the id by default
75 id = serializers.Field()
84 'membershipFeeMonths',
85 'upgradeRequiresApproval',
89 class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
90 # HyperlinkedModelSerializer doesn't include the id by default
91 id = serializers.Field()
92 serviceClass = serializers.HyperlinkedRelatedField(view_name='serviceclass-detail')
94 model = ServiceResource
105 'calendarReservable',
108 class SliceSerializer(serializers.HyperlinkedModelSerializer):
109 # HyperlinkedModelSerializer doesn't include the id by default
110 id = serializers.Field()
111 site = serializers.HyperlinkedRelatedField(view_name='site-detail')
112 slivers = serializers.HyperlinkedRelatedField(view_name='sliver-detail')
135 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
136 id = serializers.Field()
137 slice = serializers.HyperlinkedRelatedField(view_name='slice-detail')
138 user = serializers.HyperlinkedRelatedField(view_name='user-detail')
139 role = serializers.HyperlinkedRelatedField(view_name='role-detail')
141 model = SlicePrivilege
148 class SiteSerializer(serializers.HyperlinkedModelSerializer):
150 #Experimenting with whether to use ids, hyperlinks, or nested includes
151 #slices = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
152 #slices = serializers.RelatedField(many=True, read_only=True)
153 #slices = SliceSerializer(many=True)
154 # HyperlinkedModelSerializer doesn't include the id by default
155 id = serializers.Field()
156 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True,view_name='slice-detail')
175 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
176 id = serializers.Field()
177 site = serializers.HyperlinkedRelatedField(view_name='site-detail')
178 user = serializers.HyperlinkedRelatedField(view_name='user-detail')
179 role = serializers.HyperlinkedRelatedField(view_name='role-detail')
181 model = SitePrivilege
188 class SliverSerializer(serializers.HyperlinkedModelSerializer):
189 # HyperlinkedModelSerializer doesn't include the id by default
190 id = serializers.Field()
191 image = serializers.HyperlinkedRelatedField(view_name='image-detail')
192 slice = serializers.HyperlinkedRelatedField(view_name='slice-detail')
193 deploymentNetwork = serializers.HyperlinkedRelatedField(view_name='deployment-detail')
194 node = serializers.HyperlinkedRelatedField(view_name='node-detail')
196 #slice = serializers.PrimaryKeyRelatedField(read_only=True)
211 class UserSerializer(serializers.HyperlinkedModelSerializer):
212 # HyperlinkedModelSerializer doesn't include the id by default
213 id = serializers.Field()
214 site = serializers.HyperlinkedRelatedField(view_name='site-detail')
215 slice_privileges = serializers.HyperlinkedRelatedField(view_name='sliceprivilege-detail')
216 site_privileges = serializers.HyperlinkedRelatedField(view_name='siteprivilege-detail')
233 class TagSerializer(serializers.HyperlinkedModelSerializer):
234 # HyperlinkedModelSerializer doesn't include the id by default
235 id = serializers.Field()
236 project = serializers.HyperlinkedRelatedField(view_name='project-detail')
237 #content_type = serializers.PrimaryKeyRelatedField(read_only=True)
238 content_type = serializers.RelatedField(source = "content_type")
239 content_object = serializers.RelatedField(source='content_object')
252 Deployment: DeploymentSerializer,
253 Image: ImageSerializer,
254 Node: NodeSerializer,
255 Project: ProjectSerializer,
256 Reservation: ReservationSerializer,
257 Role: RoleSerializer,
258 ServiceClass: ServiceClassSerializer,
259 ServiceResource: ServiceResourceSerializer,
260 Site: SiteSerializer,
261 SitePrivilege: SitePrivilegeSerializer,
262 Slice: SliceSerializer,
263 SlicePrivilege: SlicePrivilegeSerializer,
264 Sliver: SliverSerializer,
266 User: UserSerializer,