X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=o2ims%2Fviews%2Focloud_view.py;h=386f8f57dab371fcd5a25773cdca83f069a9c152;hb=refs%2Fchanges%2F28%2F7528%2F1;hp=3735298da208f2d83d5d03b4271e942b42bfecc6;hpb=b86917339a9fc4ea0da6c2deadace89c3b0e1bef;p=pti%2Fo2.git diff --git a/o2ims/views/ocloud_view.py b/o2ims/views/ocloud_view.py index 3735298..386f8f5 100644 --- a/o2ims/views/ocloud_view.py +++ b/o2ims/views/ocloud_view.py @@ -15,8 +15,8 @@ import uuid from o2common.service import unit_of_work -from o2ims.views.ocloud_dto import SubscriptionDTO -from o2ims.domain.subscription_obj import Subscription +from o2ims.views.ocloud_dto import RegistrationDTO, SubscriptionDTO +from o2ims.domain.subscription_obj import Registration, Subscription def oclouds(uow: unit_of_work.AbstractUnitOfWork): @@ -115,3 +115,36 @@ def subscription_delete(subscriptionId: str, uow.subscriptions.delete(subscriptionId) uow.commit() return True + + +def registrations(uow: unit_of_work.AbstractUnitOfWork): + with uow: + li = uow.registrations.list() + return [r.serialize() for r in li] + + +def registration_one(registrationId: str, + uow: unit_of_work.AbstractUnitOfWork): + with uow: + first = uow.registrations.get(registrationId) + return first.serialize() if first is not None else None + + +def registration_create(registrationDto: RegistrationDTO.registration, + uow: unit_of_work.AbstractUnitOfWork): + + reg_uuid = str(uuid.uuid4()) + registration = Registration( + reg_uuid, registrationDto['callback']) + with uow: + uow.registrations.add(registration) + uow.commit() + return {"registrationId": reg_uuid} + + +def registration_delete(registrationId: str, + uow: unit_of_work.AbstractUnitOfWork): + with uow: + uow.registrations.delete(registrationId) + uow.commit() + return True