X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=o2dms%2Fviews%2Fdms_lcm_view.py;h=186c9c343c1d82aee3a0f3f6e0d75bce5a7d8fc9;hb=71f8155b3b60befb21aabaffe0b0cf4d940eda61;hp=32f77cc62d386b6eefcce9aff3ee762224c8525e;hpb=5e02e76308e1677fb106572b885a366eb6c0fbec;p=pti%2Fo2.git diff --git a/o2dms/views/dms_lcm_view.py b/o2dms/views/dms_lcm_view.py index 32f77cc..186c9c3 100644 --- a/o2dms/views/dms_lcm_view.py +++ b/o2dms/views/dms_lcm_view.py @@ -13,10 +13,13 @@ # limitations under the License. from sqlalchemy import select - +import uuid from o2common.service import unit_of_work from o2ims.adapter.orm import deploymentmanager -from o2dms.adapter.orm import nfDeploymentDesc +from o2dms.adapter.orm import nfDeploymentDesc, nfDeployment, nfOCloudVResource +from o2dms.views.dms_dto import DmsLcmNfDeploymentDescriptorDTO +from o2dms.views.dms_dto import DmsLcmNfDeploymentDTO +from o2dms.domain.dms import NfDeploymentDesc, NfDeployment def deployment_managers(uow: unit_of_work.AbstractUnitOfWork): @@ -43,29 +46,123 @@ def lcm_nfdeploymentdesc_list(deploymentManagerID: str, def lcm_nfdeploymentdesc_one(nfdeploymentdescriptorid: str, - deploymentManagerID: str, uow: unit_of_work.AbstractUnitOfWork): with uow: - res = uow.session.execute(select(deploymentmanager).where( - nfDeploymentDesc.c.deploymentManagerId == deploymentManagerID, + res = uow.session.execute(select(nfDeploymentDesc).where( nfDeploymentDesc.c.id == nfdeploymentdescriptorid)) first = res.first() return None if first is None else dict(first) -# def lcm_nfdeploymentdesc_create(nfdeploymentdescriptorid: str, -# uow: unit_of_work.AbstractUnitOfWork): -# with uow: -# res = uow.session.execute(select(deploymentmanager).where( -# deploymentmanager.c.id == nfdeploymentdescriptorid)) -# first = res.first() -# return None if first is None else dict(first) +def lcm_nfdeploymentdesc_create( + deploymentManagerId: str, + input: DmsLcmNfDeploymentDescriptorDTO. + NfDeploymentDescriptor_create, + uow: unit_of_work.AbstractUnitOfWork): + + id = str(uuid.uuid4()) + entity = NfDeploymentDesc( + id, input['name'], deploymentManagerId, input['description'], + input['inputParams'], input['outputParams']) + with uow: + uow.nfdeployment_descs.add(entity) + uow.commit() + return id + + +def lcm_nfdeploymentdesc_update( + nfdeploymentdescriptorid: str, + input: DmsLcmNfDeploymentDescriptorDTO.NfDeploymentDescriptor_update, + uow: unit_of_work.AbstractUnitOfWork): + + with uow: + entity = uow.nfdeployment_descs.get(nfdeploymentdescriptorid) + entity.name = input['name'] + entity.description = input['description'] + entity.inputParams = input['inputParams'] + entity.outputParams = input['outputParams'] + uow.commit() + return True + + +def lcm_nfdeploymentdesc_delete( + nfdeploymentdescriptorid: str, uow: unit_of_work.AbstractUnitOfWork): + with uow: + uow.nfdeployment_descs.delete(nfdeploymentdescriptorid) + uow.commit() + return True + + +def lcm_nfdeployment_list( + deploymentManagerID: str, uow: unit_of_work.AbstractUnitOfWork): + with uow: + res = uow.session.execute(select(nfDeployment).where( + nfDeployment.c.deploymentManagerId == deploymentManagerID)) + return [dict(r) for r in res] + + +def lcm_nfdeployment_one( + nfdeploymentid: str, uow: unit_of_work.AbstractUnitOfWork): + with uow: + res = uow.session.execute(select(nfDeployment).where( + nfDeployment.c.id == nfdeploymentid)) + first = res.first() + return None if first is None else dict(first) -# def lcm_nfdeploymentdesc_delete(nfdeploymentdescriptorid: str, -# uow: unit_of_work.AbstractUnitOfWork): -# with uow: -# res = uow.session.execute(select(deploymentmanager).where( -# deploymentmanager.c.id == nfdeploymentdescriptorid)) -# first = res.first() -# return None if first is None else dict(first) + +def lcm_nfdeployment_create( + deploymentManagerId: str, + input: DmsLcmNfDeploymentDTO. + NfDeployment_create, + uow: unit_of_work.AbstractUnitOfWork): + + id = str(uuid.uuid4()) + entity = NfDeployment( + id, input['name'], deploymentManagerId, input['description'], + input['descriptorId'], input['parentDeploymentId']) + with uow: + uow.nfdeployments.add(entity) + uow.commit() + return id + + +def lcm_nfdeployment_update( + nfdeploymentdescriptorid: str, + input: DmsLcmNfDeploymentDTO.NfDeployment_update, + uow: unit_of_work.AbstractUnitOfWork): + + with uow: + entity = uow.nfdeployments.get(nfdeploymentdescriptorid) + entity.name = input['name'] + entity.description = input['description'] + entity.inputParams = input['descriptorId'] + entity.outputParams = input['parentDeploymentId'] + uow.commit() + return True + + +def lcm_nfdeployment_delete( + nfdeploymentdescriptorid: str, uow: unit_of_work.AbstractUnitOfWork): + + with uow: + uow.nfdeployments.delete(nfdeploymentdescriptorid) + uow.commit() + return True + + +def lcm_nfocloudvresource_list( + nfDeploymentId: str, uow: unit_of_work.AbstractUnitOfWork): + with uow: + res = uow.session.execute(select(nfOCloudVResource).where( + nfOCloudVResource.c.nfDeploymentId == nfDeploymentId)) + return [dict(r) for r in res] + + +def lcm_nfocloudvresource_one( + ocloudvresourceId: str, uow: unit_of_work.AbstractUnitOfWork): + with uow: + res = uow.session.execute(select(nfOCloudVResource).where( + nfOCloudVResource.c.id == ocloudvresourceId)) + first = res.first() + return None if first is None else dict(first)