X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fviews%2Focloud_view.py;h=9404d9a59001c92bb28360f61949c369d912df77;hb=f73c8e3b01b8f5b7438ba544870e06d8f30cdea0;hp=90850e84cfcecc1ad42fd9314eea6f2635244d36;hpb=de778bc19d9329d3c1c3c536bfd702423102277b;p=pti%2Fo2.git diff --git a/o2ims/views/ocloud_view.py b/o2ims/views/ocloud_view.py index 90850e8..9404d9a 100644 --- a/o2ims/views/ocloud_view.py +++ b/o2ims/views/ocloud_view.py @@ -12,15 +12,17 @@ # See the License for the specific language governing permissions and # limitations under the License. +import uuid from sqlalchemy import select from o2ims.adapter.orm import ocloud, resource, resourcetype, \ resourcepool, deploymentmanager, subscription -from o2ims.adapter import unit_of_work +from o2common.service import unit_of_work +from o2ims.views.ocloud_dto import SubscriptionDTO from o2ims.domain.ocloud import Subscription -def oclouds(uow: unit_of_work.SqlAlchemyUnitOfWork): +def oclouds(uow: unit_of_work.AbstractUnitOfWork): with uow: res = uow.session.execute(select(ocloud)) return [dict(r) for r in res] @@ -34,14 +36,14 @@ def ocloud_one(ocloudid: str, uow: unit_of_work.AbstractUnitOfWork): return None if first is None else dict(first) -def resource_types(uow: unit_of_work.SqlAlchemyUnitOfWork): +def resource_types(uow: unit_of_work.AbstractUnitOfWork): with uow: res = uow.session.execute(select(resourcetype)) return [dict(r) for r in res] def resource_type_one(resourceTypeId: str, - uow: unit_of_work.SqlAlchemyUnitOfWork): + uow: unit_of_work.AbstractUnitOfWork): with uow: res = uow.session.execute(select(resourcetype).where( resourcetype.c.resourceTypeId == resourceTypeId)) @@ -49,14 +51,14 @@ def resource_type_one(resourceTypeId: str, return None if first is None else dict(first) -def resource_pools(uow: unit_of_work.SqlAlchemyUnitOfWork): +def resource_pools(uow: unit_of_work.AbstractUnitOfWork): with uow: res = uow.session.execute(select(resourcepool)) return [dict(r) for r in res] def resource_pool_one(resourcePoolId: str, - uow: unit_of_work.SqlAlchemyUnitOfWork): + uow: unit_of_work.AbstractUnitOfWork): with uow: res = uow.session.execute(select(resourcepool).where( resourcepool.c.resourcePoolId == resourcePoolId)) @@ -64,14 +66,14 @@ def resource_pool_one(resourcePoolId: str, return None if first is None else dict(first) -def resources(resourcePoolId: str, uow: unit_of_work.SqlAlchemyUnitOfWork): +def resources(resourcePoolId: str, uow: unit_of_work.AbstractUnitOfWork): with uow: res = uow.session.execute(select(resource).where( resource.c.resourcePoolId == resourcePoolId)) return [dict(r) for r in res] -def resource_one(resourceId: str, uow: unit_of_work.SqlAlchemyUnitOfWork): +def resource_one(resourceId: str, uow: unit_of_work.AbstractUnitOfWork): with uow: # topq = uow.session.query(resource).filter( # resource.c.resourceId == resourceId).cte('cte', recursive=True) @@ -85,14 +87,14 @@ def resource_one(resourceId: str, uow: unit_of_work.SqlAlchemyUnitOfWork): return None if first is None else dict(first) -def deployment_managers(uow: unit_of_work.SqlAlchemyUnitOfWork): +def deployment_managers(uow: unit_of_work.AbstractUnitOfWork): with uow: res = uow.session.execute(select(deploymentmanager)) return [dict(r) for r in res] def deployment_manager_one(deploymentManagerId: str, - uow: unit_of_work.SqlAlchemyUnitOfWork): + uow: unit_of_work.AbstractUnitOfWork): with uow: res = uow.session.execute(select(deploymentmanager).where( deploymentmanager.c.deploymentManagerId == deploymentManagerId)) @@ -100,14 +102,14 @@ def deployment_manager_one(deploymentManagerId: str, return None if first is None else dict(first) -def subscriptions(uow: unit_of_work.SqlAlchemyUnitOfWork): +def subscriptions(uow: unit_of_work.AbstractUnitOfWork): with uow: res = uow.session.execute(select(subscription)) return [dict(r) for r in res] def subscription_one(subscriptionId: str, - uow: unit_of_work.SqlAlchemyUnitOfWork): + uow: unit_of_work.AbstractUnitOfWork): with uow: res = uow.session.execute(select(subscription).where( subscription.c.subscriptionId == subscriptionId)) @@ -115,15 +117,22 @@ def subscription_one(subscriptionId: str, return None if first is None else dict(first) -def subscription_create(subscription: Subscription, - uow: unit_of_work.SqlAlchemyUnitOfWork): +def subscription_create(subscriptionDto: SubscriptionDTO.subscription, + uow: unit_of_work.AbstractUnitOfWork): + + sub_uuid = str(uuid.uuid4()) + subscription = Subscription( + sub_uuid, subscriptionDto['callback'], + subscriptionDto['consumerSubscriptionId'], + subscriptionDto['filter']) with uow: uow.subscriptions.add(subscription) uow.commit() + return {"subscriptionId": sub_uuid} def subscription_delete(subscriptionId: str, - uow: unit_of_work.SqlAlchemyUnitOfWork): + uow: unit_of_work.AbstractUnitOfWork): with uow: uow.subscriptions.delete(subscriptionId) uow.commit()