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')
132 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
133 id = serializers.Field()
134 slice = serializers.HyperlinkedRelatedField(view_name='slice-detail')
135 user = serializers.HyperlinkedRelatedField(view_name='user-detail')
136 role = serializers.HyperlinkedRelatedField(view_name='role-detail')
138 model = SlicePrivilege
145 class SiteSerializer(serializers.HyperlinkedModelSerializer):
147 #Experimenting with whether to use ids, hyperlinks, or nested includes
148 #slices = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
149 #slices = serializers.RelatedField(many=True, read_only=True)
150 #slices = SliceSerializer(many=True)
151 # HyperlinkedModelSerializer doesn't include the id by default
152 id = serializers.Field()
153 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True,view_name='slice-detail')
172 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
173 id = serializers.Field()
174 site = serializers.HyperlinkedRelatedField(view_name='site-detail')
175 user = serializers.HyperlinkedRelatedField(view_name='user-detail')
176 role = serializers.HyperlinkedRelatedField(view_name='role-detail')
178 model = SitePrivilege
185 class SliverSerializer(serializers.HyperlinkedModelSerializer):
186 # HyperlinkedModelSerializer doesn't include the id by default
187 id = serializers.Field()
188 image = serializers.HyperlinkedRelatedField(view_name='image-detail')
189 slice = serializers.HyperlinkedRelatedField(view_name='slice-detail')
190 deploymentNetwork = serializers.HyperlinkedRelatedField(view_name='deployment-detail')
191 node = serializers.HyperlinkedRelatedField(view_name='node-detail')
193 #slice = serializers.PrimaryKeyRelatedField(read_only=True)
208 class UserSerializer(serializers.HyperlinkedModelSerializer):
209 # HyperlinkedModelSerializer doesn't include the id by default
210 id = serializers.Field()
211 site = serializers.HyperlinkedRelatedField(view_name='site-detail')
212 slice_privileges = serializers.HyperlinkedRelatedField(view_name='sliceprivilege-detail')
213 site_privileges = serializers.HyperlinkedRelatedField(view_name='siteprivilege-detail')
230 class TagSerializer(serializers.HyperlinkedModelSerializer):
231 # HyperlinkedModelSerializer doesn't include the id by default
232 id = serializers.Field()
233 project = serializers.HyperlinkedRelatedField(view_name='project-detail')
234 #content_type = serializers.PrimaryKeyRelatedField(read_only=True)
235 content_type = serializers.RelatedField(source = "content_type")
236 content_object = serializers.RelatedField(source='content_object')
249 Deployment: DeploymentSerializer,
250 Image: ImageSerializer,
251 Node: NodeSerializer,
252 Project: ProjectSerializer,
253 Reservation: ReservationSerializer,
254 Role: RoleSerializer,
255 ServiceClass: ServiceClassSerializer,
256 ServiceResource: ServiceResourceSerializer,
257 Site: SiteSerializer,
258 SitePrivilege: SitePrivilegeSerializer,
259 Slice: SliceSerializer,
260 SlicePrivilege: SlicePrivilegeSerializer,
261 Sliver: SliverSerializer,
263 User: UserSerializer,