X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fadapter%2Focloud_repository.py;h=ff1cd27b54f4f44a074e34281aa12c2d95da0930;hb=576ad21504bb3e50546b349c63ebec7bd0c805ab;hp=4880fa164b7352e9110d015071572e8ee0b436cc;hpb=9625c5b766377f641d9641471f10dd491a61447f;p=pti%2Fo2.git diff --git a/o2ims/adapter/ocloud_repository.py b/o2ims/adapter/ocloud_repository.py index 4880fa1..ff1cd27 100644 --- a/o2ims/adapter/ocloud_repository.py +++ b/o2ims/adapter/ocloud_repository.py @@ -14,10 +14,11 @@ from typing import List -from o2ims.domain import ocloud, subscription_obj +from o2ims.domain import ocloud, subscription_obj, configuration_obj from o2ims.domain.ocloud_repo import OcloudRepository, ResourceTypeRepository,\ ResourcePoolRepository, ResourceRepository, DeploymentManagerRepository from o2ims.domain.subscription_repo import SubscriptionRepository +from o2ims.domain.configuration_repo import ConfigurationRepository from o2common.helper import o2logging logger = o2logging.get_logger(__name__) @@ -54,6 +55,10 @@ class ResouceTypeSqlAlchemyRepository(ResourceTypeRepository): return self.session.query(ocloud.ResourceType).filter_by( resourceTypeId=resource_type_id).first() + def _get_by_name(self, resource_type_name) -> ocloud.ResourceType: + return self.session.query(ocloud.ResourceType).filter_by( + name=resource_type_name).first() + def _list(self) -> List[ocloud.ResourceType]: return self.session.query(ocloud.ResourceType) @@ -111,9 +116,9 @@ class ResourceSqlAlchemyRepository(ResourceRepository): return res return recursive(resource_id) - def _list(self, resourcepool_id) -> List[ocloud.Resource]: + def _list(self, resourcepool_id, **kwargs) -> List[ocloud.Resource]: return self.session.query(ocloud.Resource).filter_by( - resourcePoolId=resourcepool_id) + resourcePoolId=resourcepool_id, **kwargs) def _update(self, resource: ocloud.Resource): self.session.add(resource) @@ -159,3 +164,26 @@ class SubscriptionSqlAlchemyRepository(SubscriptionRepository): def _delete(self, subscription_id): self.session.query(subscription_obj.Subscription).filter_by( subscriptionId=subscription_id).delete() + + +class ConfigurationSqlAlchemyRepository(ConfigurationRepository): + def __init__(self, session): + super().__init__() + self.session = session + + def _add(self, configuration: configuration_obj.Configuration): + self.session.add(configuration) + + def _get(self, configuration_id) -> configuration_obj.Configuration: + return self.session.query(configuration_obj.Configuration).filter_by( + configurationId=configuration_id).first() + + def _list(self) -> List[configuration_obj.Configuration]: + return self.session.query(configuration_obj.Configuration) + + def _update(self, configuration: configuration_obj.Configuration): + self.session.add(configuration) + + def _delete(self, configuration_id): + self.session.query(configuration_obj.Configuration).filter_by( + configurationId=configuration_id).delete()