From ca34d21db62f91062628b81ad3aef3a21ec99ba6 Mon Sep 17 00:00:00 2001
From: James Briggs <james.briggs@hotmail.com>
Date: Sun, 10 Nov 2024 21:22:25 +0100
Subject: [PATCH] fix: fix update for metadata

---
 semantic_router/index/base.py | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/semantic_router/index/base.py b/semantic_router/index/base.py
index 5e65894b..31ff24d8 100644
--- a/semantic_router/index/base.py
+++ b/semantic_router/index/base.py
@@ -48,17 +48,7 @@ class BaseIndex(BaseModel):
         :rtype: List[Tuple]
         """
         _, metadata = self._get_all(include_metadata=True)
-        route_tuples: List[
-            Tuple[str, str, Optional[Dict[str, Any]], Dict[str, Any]]
-        ] = [
-            (
-                x["sr_route"],
-                x["sr_utterance"],
-                None if (fc := x.get("sr_function_schema", None)) == "null" else fc,
-                x.get("sr_metadata", {}),
-            )
-            for x in metadata
-        ]
+        route_tuples = parse_route_info(metadata=metadata)
         return route_tuples
 
     def get_routes(self) -> List[Route]:
@@ -264,7 +254,7 @@ def parse_route_info(metadata: List[Dict[str, Any]]) -> List[Tuple]:
         sr_route = record.get("sr_route", "")
         sr_utterance = record.get("sr_utterance", "")
         sr_function_schema = json.loads(record.get("sr_function_schema", "{}"))
-        if sr_function_schema == {}:
+        if sr_function_schema == {} or sr_function_schema == "null":
             sr_function_schema = None
 
         additional_metadata = {
-- 
GitLab