From 547ceec49e2ab33c380c5eea254856091366c557 Mon Sep 17 00:00:00 2001
From: gifrerenom <lluis.gifre@cttc.es>
Date: Tue, 31 Jan 2023 12:11:37 +0000
Subject: [PATCH] Context component:

- add device to default context/topology by default
---
 src/context/service/database/Device.py | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/context/service/database/Device.py b/src/context/service/database/Device.py
index cde8751b4..9138da7c4 100644
--- a/src/context/service/database/Device.py
+++ b/src/context/service/database/Device.py
@@ -19,9 +19,10 @@ from sqlalchemy.orm import Session, sessionmaker
 from sqlalchemy_cockroachdb import run_transaction
 from typing import Dict, List, Optional, Set, Tuple
 from common.method_wrappers.ServiceExceptions import InvalidArgumentException, NotFoundException
-from common.proto.context_pb2 import Device, DeviceId
+from common.proto.context_pb2 import Device, DeviceId, TopologyId
 from common.tools.grpc.Tools import grpc_message_to_json_string
 from common.tools.object_factory.Device import json_device_id
+from context.service.database.uuids.Topology import topology_get_uuid
 from .models.DeviceModel import DeviceModel
 from .models.EndPointModel import EndPointModel
 from .models.TopologyModel import TopologyDeviceModel
@@ -73,6 +74,15 @@ def device_set(db_engine : Engine, request : Device) -> Tuple[Dict, bool]:
 
     topology_uuids : Set[str] = set()
     related_topologies : List[Dict] = list()
+
+    # By default, always add device to default Context/Topology
+    _,topology_uuid = topology_get_uuid(TopologyId(), allow_random=False, allow_default=True)
+    related_topologies.append({
+        'topology_uuid': topology_uuid,
+        'device_uuid'  : device_uuid,
+    })
+    topology_uuids.add(topology_uuid)
+
     endpoints_data : List[Dict] = list()
     for i, endpoint in enumerate(request.device_endpoints):
         endpoint_device_uuid = endpoint.endpoint_id.device_id.device_uuid.uuid
-- 
GitLab