Skip to content

Commit bed51b1

Browse files
committed
Add selectai enabled endpoint and update client db config with returned value
1 parent c2e6310 commit bed51b1

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

src/client/content/config/databases.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ def patch_database(name: str, user: str, password: str, dsn: str, wallet_passwor
6666
logger.info("Database updated: %s", name)
6767
state.database_config[name]["connected"] = True
6868
get_databases(force=True)
69+
endpoint = "v1/selectai/enabled"
70+
selectai = api_call.get(
71+
endpoint=endpoint,
72+
)
73+
logger.info("SelectAI enabled: %s", selectai["enabled"])
74+
state.database_config[name]["selectai"] = selectai["enabled"]
6975
except api_call.ApiError as ex:
7076
logger.error("Database not updated: %s (%s)", name, ex)
7177
state.database_config[name]["connected"] = False

src/server/endpoints.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ async def databases_get(name: schema.DatabaseNameType) -> schema.Database:
154154
try:
155155
db_conn = databases.connect(db)
156156
db.vector_stores = embedding.get_vs(db_conn)
157+
# SelectAI Enabled?
157158
except databases.DbException as ex:
158159
raise HTTPException(status_code=406, detail=f"Database: {name} {str(ex)}.") from ex
159160
return db
@@ -956,6 +957,24 @@ async def selectai_get_objects(
956957
select_ai_objects = databases.get_selectai_objects(db_conn)
957958
return select_ai_objects
958959

960+
@auth.get(
961+
"/v1/selectai/enabled",
962+
description="SelectAI enabled?",
963+
response_model=dict,
964+
)
965+
async def selectai_enabled(
966+
client: schema.ClientIdType = Header(default="server"),
967+
):
968+
"""Check if SelectAI is enabled for the client."""
969+
client_settings = get_client_settings(client)
970+
db_conn = get_client_db(client).connection
971+
if db_conn is None:
972+
raise HTTPException(status_code=500, detail="Database connection failed")
973+
enabled = databases.selectai_enabled(db_conn)
974+
client_settings.selectai.enabled = enabled
975+
logger.debug(f"SelectAI enabled: {enabled}")
976+
return {"enabled": enabled}
977+
959978
@auth.patch(
960979
"/v1/selectai/objects",
961980
description="Update SelectAI Profile Object List",

0 commit comments

Comments
 (0)