diff --git a/src/context/service/database/Topology.py b/src/context/service/database/Topology.py index 0448bd6dcb740e0464f1157e3a4078642159cff4..d5ef80506a9f0d0ec54a5ea45f646a3d87e96ee0 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()