Add auditor for resource pool, pserver and cpu/memory/port/interface for pserver...
[pti/o2.git] / o2ims / views / ocloud_view.py
index 90850e8..9404d9a 100644 (file)
 #  See the License for the specific language governing permissions and\r
 #  limitations under the License.\r
 \r
 #  See the License for the specific language governing permissions and\r
 #  limitations under the License.\r
 \r
+import uuid\r
 from sqlalchemy import select\r
 \r
 from o2ims.adapter.orm import ocloud, resource, resourcetype, \\r
     resourcepool, deploymentmanager, subscription\r
 from sqlalchemy import select\r
 \r
 from o2ims.adapter.orm import ocloud, resource, resourcetype, \\r
     resourcepool, deploymentmanager, subscription\r
-from o2ims.adapter import unit_of_work\r
+from o2common.service import unit_of_work\r
+from o2ims.views.ocloud_dto import SubscriptionDTO\r
 from o2ims.domain.ocloud import Subscription\r
 \r
 \r
 from o2ims.domain.ocloud import Subscription\r
 \r
 \r
-def oclouds(uow: unit_of_work.SqlAlchemyUnitOfWork):\r
+def oclouds(uow: unit_of_work.AbstractUnitOfWork):\r
     with uow:\r
         res = uow.session.execute(select(ocloud))\r
     return [dict(r) for r in res]\r
     with uow:\r
         res = uow.session.execute(select(ocloud))\r
     return [dict(r) for r in res]\r
@@ -34,14 +36,14 @@ def ocloud_one(ocloudid: str, uow: unit_of_work.AbstractUnitOfWork):
     return None if first is None else dict(first)\r
 \r
 \r
     return None if first is None else dict(first)\r
 \r
 \r
-def resource_types(uow: unit_of_work.SqlAlchemyUnitOfWork):\r
+def resource_types(uow: unit_of_work.AbstractUnitOfWork):\r
     with uow:\r
         res = uow.session.execute(select(resourcetype))\r
     return [dict(r) for r in res]\r
 \r
 \r
 def resource_type_one(resourceTypeId: str,\r
     with uow:\r
         res = uow.session.execute(select(resourcetype))\r
     return [dict(r) for r in res]\r
 \r
 \r
 def resource_type_one(resourceTypeId: str,\r
-                      uow: unit_of_work.SqlAlchemyUnitOfWork):\r
+                      uow: unit_of_work.AbstractUnitOfWork):\r
     with uow:\r
         res = uow.session.execute(select(resourcetype).where(\r
             resourcetype.c.resourceTypeId == resourceTypeId))\r
     with uow:\r
         res = uow.session.execute(select(resourcetype).where(\r
             resourcetype.c.resourceTypeId == resourceTypeId))\r
@@ -49,14 +51,14 @@ def resource_type_one(resourceTypeId: str,
     return None if first is None else dict(first)\r
 \r
 \r
     return None if first is None else dict(first)\r
 \r
 \r
-def resource_pools(uow: unit_of_work.SqlAlchemyUnitOfWork):\r
+def resource_pools(uow: unit_of_work.AbstractUnitOfWork):\r
     with uow:\r
         res = uow.session.execute(select(resourcepool))\r
     return [dict(r) for r in res]\r
 \r
 \r
 def resource_pool_one(resourcePoolId: str,\r
     with uow:\r
         res = uow.session.execute(select(resourcepool))\r
     return [dict(r) for r in res]\r
 \r
 \r
 def resource_pool_one(resourcePoolId: str,\r
-                      uow: unit_of_work.SqlAlchemyUnitOfWork):\r
+                      uow: unit_of_work.AbstractUnitOfWork):\r
     with uow:\r
         res = uow.session.execute(select(resourcepool).where(\r
             resourcepool.c.resourcePoolId == resourcePoolId))\r
     with uow:\r
         res = uow.session.execute(select(resourcepool).where(\r
             resourcepool.c.resourcePoolId == resourcePoolId))\r
@@ -64,14 +66,14 @@ def resource_pool_one(resourcePoolId: str,
     return None if first is None else dict(first)\r
 \r
 \r
     return None if first is None else dict(first)\r
 \r
 \r
-def resources(resourcePoolId: str, uow: unit_of_work.SqlAlchemyUnitOfWork):\r
+def resources(resourcePoolId: str, uow: unit_of_work.AbstractUnitOfWork):\r
     with uow:\r
         res = uow.session.execute(select(resource).where(\r
             resource.c.resourcePoolId == resourcePoolId))\r
     return [dict(r) for r in res]\r
 \r
 \r
     with uow:\r
         res = uow.session.execute(select(resource).where(\r
             resource.c.resourcePoolId == resourcePoolId))\r
     return [dict(r) for r in res]\r
 \r
 \r
-def resource_one(resourceId: str, uow: unit_of_work.SqlAlchemyUnitOfWork):\r
+def resource_one(resourceId: str, uow: unit_of_work.AbstractUnitOfWork):\r
     with uow:\r
         # topq = uow.session.query(resource).filter(\r
         #     resource.c.resourceId == resourceId).cte('cte', recursive=True)\r
     with uow:\r
         # topq = uow.session.query(resource).filter(\r
         #     resource.c.resourceId == resourceId).cte('cte', recursive=True)\r
@@ -85,14 +87,14 @@ def resource_one(resourceId: str, uow: unit_of_work.SqlAlchemyUnitOfWork):
     return None if first is None else dict(first)\r
 \r
 \r
     return None if first is None else dict(first)\r
 \r
 \r
-def deployment_managers(uow: unit_of_work.SqlAlchemyUnitOfWork):\r
+def deployment_managers(uow: unit_of_work.AbstractUnitOfWork):\r
     with uow:\r
         res = uow.session.execute(select(deploymentmanager))\r
     return [dict(r) for r in res]\r
 \r
 \r
 def deployment_manager_one(deploymentManagerId: str,\r
     with uow:\r
         res = uow.session.execute(select(deploymentmanager))\r
     return [dict(r) for r in res]\r
 \r
 \r
 def deployment_manager_one(deploymentManagerId: str,\r
-                           uow: unit_of_work.SqlAlchemyUnitOfWork):\r
+                           uow: unit_of_work.AbstractUnitOfWork):\r
     with uow:\r
         res = uow.session.execute(select(deploymentmanager).where(\r
             deploymentmanager.c.deploymentManagerId == deploymentManagerId))\r
     with uow:\r
         res = uow.session.execute(select(deploymentmanager).where(\r
             deploymentmanager.c.deploymentManagerId == deploymentManagerId))\r
@@ -100,14 +102,14 @@ def deployment_manager_one(deploymentManagerId: str,
     return None if first is None else dict(first)\r
 \r
 \r
     return None if first is None else dict(first)\r
 \r
 \r
-def subscriptions(uow: unit_of_work.SqlAlchemyUnitOfWork):\r
+def subscriptions(uow: unit_of_work.AbstractUnitOfWork):\r
     with uow:\r
         res = uow.session.execute(select(subscription))\r
     return [dict(r) for r in res]\r
 \r
 \r
 def subscription_one(subscriptionId: str,\r
     with uow:\r
         res = uow.session.execute(select(subscription))\r
     return [dict(r) for r in res]\r
 \r
 \r
 def subscription_one(subscriptionId: str,\r
-                     uow: unit_of_work.SqlAlchemyUnitOfWork):\r
+                     uow: unit_of_work.AbstractUnitOfWork):\r
     with uow:\r
         res = uow.session.execute(select(subscription).where(\r
             subscription.c.subscriptionId == subscriptionId))\r
     with uow:\r
         res = uow.session.execute(select(subscription).where(\r
             subscription.c.subscriptionId == subscriptionId))\r
@@ -115,15 +117,22 @@ def subscription_one(subscriptionId: str,
     return None if first is None else dict(first)\r
 \r
 \r
     return None if first is None else dict(first)\r
 \r
 \r
-def subscription_create(subscription: Subscription,\r
-                        uow: unit_of_work.SqlAlchemyUnitOfWork):\r
+def subscription_create(subscriptionDto: SubscriptionDTO.subscription,\r
+                        uow: unit_of_work.AbstractUnitOfWork):\r
+\r
+    sub_uuid = str(uuid.uuid4())\r
+    subscription = Subscription(\r
+        sub_uuid, subscriptionDto['callback'],\r
+        subscriptionDto['consumerSubscriptionId'],\r
+        subscriptionDto['filter'])\r
     with uow:\r
         uow.subscriptions.add(subscription)\r
         uow.commit()\r
     with uow:\r
         uow.subscriptions.add(subscription)\r
         uow.commit()\r
+    return {"subscriptionId": sub_uuid}\r
 \r
 \r
 def subscription_delete(subscriptionId: str,\r
 \r
 \r
 def subscription_delete(subscriptionId: str,\r
-                        uow: unit_of_work.SqlAlchemyUnitOfWork):\r
+                        uow: unit_of_work.AbstractUnitOfWork):\r
     with uow:\r
         uow.subscriptions.delete(subscriptionId)\r
         uow.commit()\r
     with uow:\r
         uow.subscriptions.delete(subscriptionId)\r
         uow.commit()\r