Add: flask api include resource type, resource pool, resource and deployment manager
[pti/o2.git] / o2ims / adapter / ocloud_repository.py
index 32dced9..5fa9b7e 100644 (file)
@@ -15,7 +15,8 @@
 from typing import List
 # from o2ims.adapter import orm
 from o2ims.domain import ocloud
-from o2ims.domain.ocloud_repo import OcloudRepository
+from o2ims.domain.ocloud_repo import OcloudRepository, ResourceTypeRepository,\
+    ResourcePoolRepository, ResourceRepository
 
 
 class OcloudSqlAlchemyRepository(OcloudRepository):
@@ -27,9 +28,9 @@ class OcloudSqlAlchemyRepository(OcloudRepository):
         self.session.add(ocloud)
         # self.session.add_all(ocloud.deploymentManagers)
 
-    def _get(self, ocloudid) -> ocloud.Ocloud:
+    def _get(self, ocloud_id) -> ocloud.Ocloud:
         return self.session.query(ocloud.Ocloud).filter_by(
-            oCloudId=ocloudid).first()
+            oCloudId=ocloud_id).first()
 
     def _list(self) -> List[ocloud.Ocloud]:
         return self.session.query(ocloud.Ocloud).order_by(
@@ -37,3 +38,60 @@ class OcloudSqlAlchemyRepository(OcloudRepository):
 
     def _update(self, ocloud: ocloud.Ocloud):
         self.session.add(ocloud)
+
+
+class ResouceTypeSqlAlchemyRepository(ResourceTypeRepository):
+    def __init__(self, session):
+        super().__init__()
+        self.session = session
+
+    def _add(self, resourceType: ocloud.ResourceType):
+        self.session.add(resourceType)
+
+    def _get(self, resource_type_id) -> ocloud.ResourceType:
+        return self.session.query(ocloud.ResourceType).filter_by(
+            resourceTypeId=resource_type_id).first()
+
+    def _list(self) -> List[ocloud.ResourceType]:
+        return self.session.query()
+
+    def _update(self, resourceType: ocloud.ResourceType):
+        self.session.add(resourceType)
+
+
+class ResourcePoolSqlAlchemyRepository(ResourcePoolRepository):
+    def __init__(self, session):
+        super().__init__()
+        self.session = session
+
+    def _add(self, resourcePool: ocloud.ResourcePool):
+        self.session.add(resourcePool)
+
+    def _get(self, resource_pool_id) -> ocloud.ResourcePool:
+        return self.session.query(ocloud.ResourcePool).filter_by(
+            resourcePoolId=resource_pool_id).first()
+
+    def _list(self) -> List[ocloud.ResourcePool]:
+        return self.session.query()
+
+    def _update(self, resourcePool: ocloud.ResourcePool):
+        self.session.add(resourcePool)
+
+
+class ResourceSqlAlchemyRepository(ResourceRepository):
+    def __init__(self, session):
+        super().__init__()
+        self.session = session
+
+    def _add(self, resource: ocloud.Resource):
+        self.session.add(resource)
+
+    def _get(self, resource_id) -> ocloud.Resource:
+        return self.session.query(ocloud.Resource).filter_by(
+            resourceId=resource_id).first()
+
+    def _list(self) -> List[ocloud.Resource]:
+        return self.session.query()
+
+    def _update(self, resource: ocloud.Resource):
+        self.session.add(resource)