Skip to content

Commit de9f8c2

Browse files
perf: Simple assistant ds filter
1 parent 55dba79 commit de9f8c2

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

backend/apps/system/crud/assistant.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11

22

3+
import json
34
from fastapi import FastAPI
45
from sqlmodel import Session, select
56
from apps.datasource.models.datasource import CoreDatasource
@@ -22,7 +23,14 @@ def get_assistant_user(*, id: int):
2223
def get_assistant_ds(*, session: Session, assistant: AssistantModel):
2324
type = assistant.type
2425
if type == 0:
25-
db_ds_list = session.exec(select(CoreDatasource.id, CoreDatasource.name, CoreDatasource.description)).all()
26+
stmt = select(CoreDatasource.id, CoreDatasource.name, CoreDatasource.description)
27+
configuration = assistant.configuration
28+
if configuration:
29+
config = json.loads(configuration)
30+
private_list:list[int] = config['private_list']
31+
if not private_list:
32+
stmt.where(~CoreDatasource.id.in_(private_list))
33+
db_ds_list = session.exec(stmt).all()
2634
# filter private ds if offline
2735
return db_ds_list
2836
pass

0 commit comments

Comments
 (0)