From 3b56986e0e9246ef159c7fdcd93a9f1d59445ed8 Mon Sep 17 00:00:00 2001 From: gifrerenom <lluis.gifre@cttc.es> Date: Wed, 6 Sep 2023 16:15:26 +0000 Subject: [PATCH] Context component: - Enhanced notifications of Topology sub-module --- src/context/service/database/Topology.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/context/service/database/Topology.py b/src/context/service/database/Topology.py index 0448bd6dc..d5ef80506 100644 --- a/src/context/service/database/Topology.py +++ b/src/context/service/database/Topology.py @@ -29,7 +29,7 @@ from .models.LinkModel import LinkModel from .models.TopologyModel import TopologyDeviceModel, TopologyLinkModel, TopologyModel from .uuids.Context import context_get_uuid from .uuids.Topology import topology_get_uuid -from .Events import notify_event_topology +from .Events import notify_event_context, notify_event_topology LOGGER = logging.getLogger(__name__) @@ -127,9 +127,11 @@ def topology_set(db_engine : Engine, messagebroker : MessageBroker, request : To return updated_at > created_at updated = run_transaction(sessionmaker(bind=db_engine), callback) - topology_id = json_topology_id(topology_uuid, context_id=json_context_id(context_uuid)) + context_id = json_context_id(context_uuid) + topology_id = json_topology_id(topology_uuid, context_id=context_id) event_type = EventTypeEnum.EVENTTYPE_UPDATE if updated else EventTypeEnum.EVENTTYPE_CREATE notify_event_topology(messagebroker, event_type, topology_id) + notify_event_context(messagebroker, EventTypeEnum.EVENTTYPE_UPDATE, context_id) return TopologyId(**topology_id) def topology_delete(db_engine : Engine, messagebroker : MessageBroker, request : TopologyId) -> Empty: @@ -138,7 +140,9 @@ def topology_delete(db_engine : Engine, messagebroker : MessageBroker, request : num_deleted = session.query(TopologyModel).filter_by(topology_uuid=topology_uuid).delete() return num_deleted > 0 deleted = run_transaction(sessionmaker(bind=db_engine), callback) - topology_id = json_topology_id(topology_uuid, context_id=json_context_id(context_uuid)) + context_id = json_context_id(context_uuid) + topology_id = json_topology_id(topology_uuid, context_id=context_id) if deleted: notify_event_topology(messagebroker, EventTypeEnum.EVENTTYPE_REMOVE, topology_id) + notify_event_context(messagebroker, EventTypeEnum.EVENTTYPE_UPDATE, context_id) return Empty() -- GitLab