Refactor o2dms api swagger
[pti/o2.git] / o2dms / views / dms_lcm_view.py
index 32f77cc..ab84fba 100644 (file)
 #  limitations under the License.\r
 \r
 from sqlalchemy import select\r
-\r
+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.views.dms_dto import DmsLcmNfDeploymentDescriptorDTO\r
+from o2dms.domain.dms import NfDeploymentDesc\r
 \r
 \r
 def deployment_managers(uow: unit_of_work.AbstractUnitOfWork):\r
@@ -43,29 +45,49 @@ def lcm_nfdeploymentdesc_list(deploymentManagerID: str,
 \r
 \r
 def lcm_nfdeploymentdesc_one(nfdeploymentdescriptorid: str,\r
-                             deploymentManagerID: str,\r
                              uow: unit_of_work.AbstractUnitOfWork):\r
     with uow:\r
-        res = uow.session.execute(select(deploymentmanager).where(\r
-            nfDeploymentDesc.c.deploymentManagerId == deploymentManagerID,\r
+        res = uow.session.execute(select(nfDeploymentDesc).where(\r
             nfDeploymentDesc.c.id == nfdeploymentdescriptorid))\r
         first = res.first()\r
     return None if first is None else dict(first)\r
 \r
 \r
-# def lcm_nfdeploymentdesc_create(nfdeploymentdescriptorid: str,\r
-#                            uow: unit_of_work.AbstractUnitOfWork):\r
-#     with uow:\r
-#         res = uow.session.execute(select(deploymentmanager).where(\r
-#             deploymentmanager.c.id == nfdeploymentdescriptorid))\r
-#         first = res.first()\r
-#     return None if first is None else dict(first)\r
+def lcm_nfdeploymentdesc_create(\r
+        deploymentManagerId: str,\r
+        input: DmsLcmNfDeploymentDescriptorDTO.\r
+        NfDeploymentDescriptor_create,\r
+        uow: unit_of_work.AbstractUnitOfWork):\r
+\r
+    id = str(uuid.uuid4())\r
+    entity = NfDeploymentDesc(\r
+        id, input['name'], deploymentManagerId, input['description'],\r
+        input['inputParams'], input['outputParams'])\r
+    with uow:\r
+        uow.nfdeployment_descs.add(entity)\r
+        uow.commit()\r
+    return id\r
+\r
 \r
+def lcm_nfdeploymentdesc_update(\r
+        nfdeploymentdescriptorid: str,\r
+        input: DmsLcmNfDeploymentDescriptorDTO.NfDeploymentDescriptor_update,\r
+        uow: unit_of_work.AbstractUnitOfWork):\r
 \r
-# def lcm_nfdeploymentdesc_delete(nfdeploymentdescriptorid: str,\r
-#                            uow: unit_of_work.AbstractUnitOfWork):\r
-#     with uow:\r
-#         res = uow.session.execute(select(deploymentmanager).where(\r
-#             deploymentmanager.c.id == nfdeploymentdescriptorid))\r
-#         first = res.first()\r
-#     return None if first is None else dict(first)\r
+    with uow:\r
+        entity = uow.nfdeployment_descs.get(nfdeploymentdescriptorid)\r
+        entity.name = input['name']\r
+        entity.description = input['description']\r
+        entity.inputParams = input['inputParams']\r
+        entity.outputParams = input['outputParams']\r
+        uow.commit()\r
+    return True\r
+\r
+\r
+def lcm_nfdeploymentdesc_delete(\r
+        nfdeploymentdescriptorid: str, uow: unit_of_work.AbstractUnitOfWork):\r
+\r
+    with uow:\r
+        uow.nfdeployment_descs.delete(nfdeploymentdescriptorid)\r
+        uow.commit()\r
+    return True\r