Update o2dms lcm api
[pti/o2.git] / o2dms / views / dms_lcm_view.py
index ab84fba..186c9c3 100644 (file)
@@ -16,9 +16,10 @@ from sqlalchemy import select
 import uuid\r
 from o2common.service import unit_of_work\r
 from o2ims.adapter.orm import deploymentmanager\r
-from o2dms.adapter.orm import nfDeploymentDesc\r
+from o2dms.adapter.orm import nfDeploymentDesc, nfDeployment, nfOCloudVResource\r
 from o2dms.views.dms_dto import DmsLcmNfDeploymentDescriptorDTO\r
-from o2dms.domain.dms import NfDeploymentDesc\r
+from o2dms.views.dms_dto import DmsLcmNfDeploymentDTO\r
+from o2dms.domain.dms import NfDeploymentDesc, NfDeployment\r
 \r
 \r
 def deployment_managers(uow: unit_of_work.AbstractUnitOfWork):\r
@@ -91,3 +92,77 @@ def lcm_nfdeploymentdesc_delete(
         uow.nfdeployment_descs.delete(nfdeploymentdescriptorid)\r
         uow.commit()\r
     return True\r
+\r
+\r
+def lcm_nfdeployment_list(\r
+        deploymentManagerID: str, uow: unit_of_work.AbstractUnitOfWork):\r
+    with uow:\r
+        res = uow.session.execute(select(nfDeployment).where(\r
+            nfDeployment.c.deploymentManagerId == deploymentManagerID))\r
+    return [dict(r) for r in res]\r
+\r
+\r
+def lcm_nfdeployment_one(\r
+        nfdeploymentid: str, uow: unit_of_work.AbstractUnitOfWork):\r
+    with uow:\r
+        res = uow.session.execute(select(nfDeployment).where(\r
+            nfDeployment.c.id == nfdeploymentid))\r
+        first = res.first()\r
+    return None if first is None else dict(first)\r
+\r
+\r
+def lcm_nfdeployment_create(\r
+        deploymentManagerId: str,\r
+        input: DmsLcmNfDeploymentDTO.\r
+        NfDeployment_create,\r
+        uow: unit_of_work.AbstractUnitOfWork):\r
+\r
+    id = str(uuid.uuid4())\r
+    entity = NfDeployment(\r
+        id, input['name'], deploymentManagerId, input['description'],\r
+        input['descriptorId'], input['parentDeploymentId'])\r
+    with uow:\r
+        uow.nfdeployments.add(entity)\r
+        uow.commit()\r
+    return id\r
+\r
+\r
+def lcm_nfdeployment_update(\r
+        nfdeploymentdescriptorid: str,\r
+        input: DmsLcmNfDeploymentDTO.NfDeployment_update,\r
+        uow: unit_of_work.AbstractUnitOfWork):\r
+\r
+    with uow:\r
+        entity = uow.nfdeployments.get(nfdeploymentdescriptorid)\r
+        entity.name = input['name']\r
+        entity.description = input['description']\r
+        entity.inputParams = input['descriptorId']\r
+        entity.outputParams = input['parentDeploymentId']\r
+        uow.commit()\r
+    return True\r
+\r
+\r
+def lcm_nfdeployment_delete(\r
+        nfdeploymentdescriptorid: str, uow: unit_of_work.AbstractUnitOfWork):\r
+\r
+    with uow:\r
+        uow.nfdeployments.delete(nfdeploymentdescriptorid)\r
+        uow.commit()\r
+    return True\r
+\r
+\r
+def lcm_nfocloudvresource_list(\r
+        nfDeploymentId: str, uow: unit_of_work.AbstractUnitOfWork):\r
+    with uow:\r
+        res = uow.session.execute(select(nfOCloudVResource).where(\r
+            nfOCloudVResource.c.nfDeploymentId == nfDeploymentId))\r
+    return [dict(r) for r in res]\r
+\r
+\r
+def lcm_nfocloudvresource_one(\r
+        ocloudvresourceId: str, uow: unit_of_work.AbstractUnitOfWork):\r
+    with uow:\r
+        res = uow.session.execute(select(nfOCloudVResource).where(\r
+            nfOCloudVResource.c.id == ocloudvresourceId))\r
+        first = res.first()\r
+    return None if first is None else dict(first)\r