Refactor o2dms api swagger
[pti/o2.git] / o2dms / views / dms_lcm_view.py
1 # Copyright (C) 2021 Wind River Systems, Inc.\r
2 #\r
3 #  Licensed under the Apache License, Version 2.0 (the "License");\r
4 #  you may not use this file except in compliance with the License.\r
5 #  You may obtain a copy of the License at\r
6 #\r
7 #      http://www.apache.org/licenses/LICENSE-2.0\r
8 #\r
9 #  Unless required by applicable law or agreed to in writing, software\r
10 #  distributed under the License is distributed on an "AS IS" BASIS,\r
11 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
12 #  See the License for the specific language governing permissions and\r
13 #  limitations under the License.\r
14 \r
15 from sqlalchemy import select\r
16 import uuid\r
17 from o2common.service import unit_of_work\r
18 from o2ims.adapter.orm import deploymentmanager\r
19 from o2dms.adapter.orm import nfDeploymentDesc\r
20 from o2dms.views.dms_dto import DmsLcmNfDeploymentDescriptorDTO\r
21 from o2dms.domain.dms import NfDeploymentDesc\r
22 \r
23 \r
24 def deployment_managers(uow: unit_of_work.AbstractUnitOfWork):\r
25     with uow:\r
26         res = uow.session.execute(select(deploymentmanager))\r
27     return [dict(r) for r in res]\r
28 \r
29 \r
30 def deployment_manager_one(deploymentManagerId: str,\r
31                            uow: unit_of_work.AbstractUnitOfWork):\r
32     with uow:\r
33         res = uow.session.execute(select(deploymentmanager).where(\r
34             deploymentmanager.c.deploymentManagerId == deploymentManagerId))\r
35         first = res.first()\r
36     return None if first is None else dict(first)\r
37 \r
38 \r
39 def lcm_nfdeploymentdesc_list(deploymentManagerID: str,\r
40                               uow: unit_of_work.AbstractUnitOfWork):\r
41     with uow:\r
42         res = uow.session.execute(select(nfDeploymentDesc).where(\r
43             nfDeploymentDesc.c.deploymentManagerId == deploymentManagerID))\r
44     return [dict(r) for r in res]\r
45 \r
46 \r
47 def lcm_nfdeploymentdesc_one(nfdeploymentdescriptorid: str,\r
48                              uow: unit_of_work.AbstractUnitOfWork):\r
49     with uow:\r
50         res = uow.session.execute(select(nfDeploymentDesc).where(\r
51             nfDeploymentDesc.c.id == nfdeploymentdescriptorid))\r
52         first = res.first()\r
53     return None if first is None else dict(first)\r
54 \r
55 \r
56 def lcm_nfdeploymentdesc_create(\r
57         deploymentManagerId: str,\r
58         input: DmsLcmNfDeploymentDescriptorDTO.\r
59         NfDeploymentDescriptor_create,\r
60         uow: unit_of_work.AbstractUnitOfWork):\r
61 \r
62     id = str(uuid.uuid4())\r
63     entity = NfDeploymentDesc(\r
64         id, input['name'], deploymentManagerId, input['description'],\r
65         input['inputParams'], input['outputParams'])\r
66     with uow:\r
67         uow.nfdeployment_descs.add(entity)\r
68         uow.commit()\r
69     return id\r
70 \r
71 \r
72 def lcm_nfdeploymentdesc_update(\r
73         nfdeploymentdescriptorid: str,\r
74         input: DmsLcmNfDeploymentDescriptorDTO.NfDeploymentDescriptor_update,\r
75         uow: unit_of_work.AbstractUnitOfWork):\r
76 \r
77     with uow:\r
78         entity = uow.nfdeployment_descs.get(nfdeploymentdescriptorid)\r
79         entity.name = input['name']\r
80         entity.description = input['description']\r
81         entity.inputParams = input['inputParams']\r
82         entity.outputParams = input['outputParams']\r
83         uow.commit()\r
84     return True\r
85 \r
86 \r
87 def lcm_nfdeploymentdesc_delete(\r
88         nfdeploymentdescriptorid: str, uow: unit_of_work.AbstractUnitOfWork):\r
89 \r
90     with uow:\r
91         uow.nfdeployment_descs.delete(nfdeploymentdescriptorid)\r
92         uow.commit()\r
93     return True\r