remove Slice.instantiation field
[plstackapi.git] / plstackapi / core / serializers.py
index 9a1d118..ded1859 100644 (file)
@@ -6,7 +6,6 @@ from plstackapi.core.models import *
 class RoleSerializer(serializers.HyperlinkedModelSerializer):
     # HyperlinkedModelSerializer doesn't include the id by default
     id = serializers.Field()
     class Meta:
         model = Role
         fields = ('id', 
@@ -21,12 +20,13 @@ class UserSerializer(serializers.HyperlinkedModelSerializer):
     slice_memberships = serializers.HyperlinkedRelatedField(view_name='slice-membership-detail')
     site_privileges = serializers.HyperlinkedRelatedField(view_name='site-privilege-detail')
     class Meta:
-        model = User
+        model = PLUser
         fields = ('id',
                   'user_id', 
                   'firstname', 
                   'lastname',
                   'email', 
+                  'password', 
                   'phone', 
                   'user_url',
                   'is_admin',
@@ -52,7 +52,7 @@ class SliceSerializer(serializers.HyperlinkedModelSerializer):
     id = serializers.Field()
     site = serializers.HyperlinkedRelatedField(view_name='site-detail')
     slivers = serializers.HyperlinkedRelatedField(view_name='sliver-detail')
-    subnet= serializers.HyperlinkedRelatedField(view_name='subnet-detail')
+    subnet= serializers.HyperlinkedRelatedField(view_name='subnet-detail')
     class Meta:
         model = Slice
         fields = ('id',
@@ -60,7 +60,6 @@ class SliceSerializer(serializers.HyperlinkedModelSerializer):
                   'enabled',
                   'name',
                   'url',
-                  'instantiation',
                   'omf_friendly',
                   'description',
                   'slice_url',
@@ -68,10 +67,34 @@ class SliceSerializer(serializers.HyperlinkedModelSerializer):
                   'router_id',
                   'site',
                   'slivers',
-                  'subnets',
                   'updated',
                   'created')
 
+class SliceMembershipSerializer(serializers.HyperlinkedModelSerializer):
+    id = serializers.Field()
+    slice = serializers.HyperlinkedRelatedField(view_name='slice-detail')
+    user = serializers.HyperlinkedRelatedField(view_name='user-detail')
+    role = serializers.HyperlinkedRelatedField(view_name='role-detail')
+    class Meta:
+        model = SitePrivilege
+        fields = ('id',
+                  'user',
+                  'slice',
+                  'role')
+
+class SubnetSerializer(serializers.HyperlinkedModelSerializer):
+    id = serializers.Field()
+    slice = serializers.HyperlinkedRelatedField(view_name='slice-detail')
+    class Meta:
+        model = Subnet
+        fields = ('id',
+                  'subnet_id',
+                  'cidr',
+                  'ip_version',
+                  'start',
+                  'end',
+                  'slice')  
+
 class SiteSerializer(serializers.HyperlinkedModelSerializer):
 
     #Experimenting with whether to use ids, hyperlinks, or nested includes
@@ -81,14 +104,12 @@ class SiteSerializer(serializers.HyperlinkedModelSerializer):
     # HyperlinkedModelSerializer doesn't include the id by default
     id = serializers.Field()
     slices = serializers.HyperlinkedRelatedField(many=True, read_only=True,view_name='slice-detail')
-    deployment_networks = serializers.HyperlinkedRelatedField(many=True, read_only=True,view_name='sitedeploymentnetwork-detail')
 
     class Meta:
         model = Site
         fields = ('id',
                   'url',
                   'name',
-                  'deployment_networks',
                   'slices',
                   'site_url',
                   'enabled',
@@ -101,11 +122,23 @@ class SiteSerializer(serializers.HyperlinkedModelSerializer):
                   'updated',
                   'created')
 
+class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
+    id = serializers.Field()
+    site = serializers.HyperlinkedRelatedField(view_name='site-detail')
+    user = serializers.HyperlinkedRelatedField(view_name='user-detail')
+    role = serializers.HyperlinkedRelatedField(view_name='role-detail')
+    class Meta:
+        model = SitePrivilege
+        fields = ('id',
+                  'user',
+                  'site',
+                  'role')
+
 class DeploymentNetworkSerializer(serializers.HyperlinkedModelSerializer):
 
     # HyperlinkedModelSerializer doesn't include the id by default
     id = serializers.Field()
-    sites = serializers.HyperlinkedRelatedField(view_name='sitedeploymentnetwork-detail')
+    sites = serializers.HyperlinkedRelatedField(view_name='deploymentnetwork-detail')
     class Meta:
         model = DeploymentNetwork
         fields = ('id',
@@ -113,30 +146,30 @@ class DeploymentNetworkSerializer(serializers.HyperlinkedModelSerializer):
                   'sites'
                  )
 
-class SiteDeploymentNetworkSerializer(serializers.HyperlinkedModelSerializer):
-    # HyperlinkedModelSerializer doesn't include the id by default
-    id = serializers.Field()
-    site = serializers.HyperlinkedRelatedField(view_name='site-detail')
-    deploymentNetwork = serializers.HyperlinkedRelatedField(view_name='deploymentnetwork-detail')
-
-    class Meta:
-        model = SiteDeploymentNetwork
-        fields = ('id',
-                 'url',
-                 'site',
-                 'deploymentNetwork')
-
 class SliverSerializer(serializers.HyperlinkedModelSerializer):
     # HyperlinkedModelSerializer doesn't include the id by default
     id = serializers.Field()
-    slice = serializers.RelatedField(read_only=True)
+    image = serializers.HyperlinkedRelatedField(view_name='image-detail')
+    key = serializers.HyperlinkedRelatedField(view_name='key-detail')
+    slice = serializers.HyperlinkedRelatedField(view_name='slice-detail')
+    deployment_network = serializers.HyperlinkedRelatedField(view_name='deployment_network-detail')
+    node = serializers.HyperlinkedRelatedField(view_name='node-detail')
+    
+    
     #slice = serializers.PrimaryKeyRelatedField(read_only=True)
 
     class Meta:
         model = Sliver
         fields = ('id',
+                  'instance_id',
+                  'name',
+                  'instance_name',
+                  'ip',
+                  'image',
+                  'key',
                   'slice',
-                  'name')
+                  'deploymentNetwork',
+                  'node')
 
 class NodeSerializer(serializers.HyperlinkedModelSerializer):
     # HyperlinkedModelSerializer doesn't include the id by default
@@ -157,30 +190,19 @@ class ImageSerializer(serializers.HyperlinkedModelSerializer):
                   'disk_format',
                   'container_format')
 
-class FlavorSerializer(serializers.HyperlinkedModelSerializer):
-    # HyperlinkedModelSerializer doesn't include the id by default
-    id = serializers.Field()
-    class Meta:
-        model = Flavor
-        fields = ('id',
-                  'flavor_id',
-                  'name',
-                  'memory_mb',
-                  'disk_gb',
-                  'vcpus')
-
 serializerLookUp = { 
                  Role: RoleSerializer,
-                 User: UserSerializer,
+                 PLUser: UserSerializer,
                  Key: KeySerializer,
                  Site: SiteSerializer,
+                 SitePrivilege: SitePrivilegeSerializer,
                  Slice: SliceSerializer,
+                 SliceMembership: SliceMembershipSerializer,
+                 Subnet: SubnetSerializer,
                  Node: NodeSerializer,
                  Sliver: SliverSerializer,
                  DeploymentNetwork: DeploymentNetworkSerializer,
-                 SiteDeploymentNetwork: SiteDeploymentNetworkSerializer,
                  Image: ImageSerializer,
-                 Flavor: FlavorSerializer, 
                  None: None,
                 }