X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=o2ims%2Fadapter%2Form.py;h=6b290a5b967d9e4fbd813aea2e55b9dbddd3b68c;hb=02b85e27680e1139bc8e1930af5449a26527b4de;hp=7aafde5468768ee7e8bac65ded422b6b3bde96da;hpb=5e02e76308e1677fb106572b885a366eb6c0fbec;p=pti%2Fo2.git diff --git a/o2ims/adapter/orm.py b/o2ims/adapter/orm.py index 7aafde5..6b290a5 100644 --- a/o2ims/adapter/orm.py +++ b/o2ims/adapter/orm.py @@ -12,15 +12,19 @@ # See the License for the specific language governing permissions and # limitations under the License. +# from typing_extensions import Required from sqlalchemy import ( Table, MetaData, Column, Integer, String, + Text, + Enum, # Date, DateTime, ForeignKey, + Boolean, # engine, # event, ) @@ -29,6 +33,8 @@ from sqlalchemy.orm import mapper, relationship # from sqlalchemy.sql.sqltypes import Integer from o2ims.domain import ocloud as ocloudModel +from o2ims.domain import subscription_obj as subModel +from o2ims.domain.resource_type import ResourceTypeEnum from o2common.helper import o2logging logger = o2logging.get_logger(__name__) @@ -59,6 +65,7 @@ resourcetype = Table( Column("hash", String(255)), Column("resourceTypeId", String(255), primary_key=True), + Column("resourceTypeEnum", Enum(ResourceTypeEnum), nullable=False), Column("oCloudId", ForeignKey("ocloud.oCloudId")), Column("name", String(255)), Column("vendor", String(255)), @@ -97,11 +104,11 @@ resource = Table( Column("resourceId", String(255), primary_key=True), Column("resourceTypeId", ForeignKey("resourcetype.resourceTypeId")), Column("resourcePoolId", ForeignKey("resourcepool.resourcePoolId")), + Column("name", String(255)), # Column("globalAssetId", String(255)), - # Column("oCloudId", ForeignKey("ocloud.oCloudId")), Column("parentId", String(255)), Column("description", String(255)), - # Column("elements", String(255)) + Column("elements", Text()) # Column("extensions", String(1024)) ) @@ -138,6 +145,17 @@ subscription = Table( Column("filter", String(255)), ) +registration = Table( + "registration", + metadata, + Column("updatetime", DateTime), + Column("createtime", DateTime), + + Column("registrationId", String(255), primary_key=True), + Column("callback", String(255)), + Column("notified", Boolean), +) + def start_o2ims_mappers(engine=None): logger.info("Starting O2 IMS mappers") @@ -161,7 +179,8 @@ def start_o2ims_mappers(engine=None): "resourcePools": relationship(resourcepool_mapper) } ) - mapper(ocloudModel.Subscription, subscription) + mapper(subModel.Subscription, subscription) + mapper(subModel.Registration, registration) if engine is not None: metadata.create_all(engine)