From de33538700c9ca3ef239a05619bca1d58c82e401 Mon Sep 17 00:00:00 2001 From: Christopher Krapu Date: Sun, 2 Mar 2025 19:14:56 -0800 Subject: [PATCH] Include props in element query --- backend/chainlit/data/sql_alchemy.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/backend/chainlit/data/sql_alchemy.py b/backend/chainlit/data/sql_alchemy.py index d5dd72f3a0..9509daf051 100644 --- a/backend/chainlit/data/sql_alchemy.py +++ b/backend/chainlit/data/sql_alchemy.py @@ -519,7 +519,12 @@ async def create_element(self, element: "Element"): columns = ", ".join(f'"{column}"' for column in element_dict_cleaned.keys()) placeholders = ", ".join(f":{column}" for column in element_dict_cleaned.keys()) - query = f"INSERT INTO elements ({columns}) VALUES ({placeholders})" + updates = ", ".join( + f'"{column}" = :{column}' + for column in element_dict_cleaned.keys() + if column != "id" + ) + query = f"INSERT INTO elements ({columns}) VALUES ({placeholders}) ON CONFLICT (id) DO UPDATE SET {updates};" await self.execute_sql(query=query, parameters=element_dict_cleaned) @queue_until_user_message() @@ -627,7 +632,8 @@ async def get_all_user_threads( e."language" AS element_language, e."page" AS element_page, e."forId" AS element_forid, - e."mime" AS element_mime + e."mime" AS element_mime, + e."props" AS props FROM elements e WHERE e."threadId" IN {thread_ids} """ @@ -712,7 +718,7 @@ async def get_all_user_threads( autoPlay=element.get("element_autoPlay"), playerConfig=element.get("element_playerconfig"), page=element.get("element_page"), - props=json.loads(element.get("props", "{}")), + props=element.get("props", "{}"), forId=element.get("element_forid"), mime=element.get("element_mime"), )