refactor: assistant support all sqlbot datasource

This commit is contained in:
junjun
2025-11-27 11:22:08 +08:00
committed by Junjun
parent 46f0ca3f36
commit d1f5fd9e44
3 changed files with 118 additions and 91 deletions
+17
View File
@@ -10,6 +10,7 @@ from starlette.middleware.cors import CORSMiddleware
# from apps.datasource.embedding.table_embedding import get_table_embedding
from apps.datasource.models.datasource import CoreDatasource, DatasourceConf
from apps.datasource.utils.utils import aes_encrypt
from apps.system.models.system_model import AssistantModel
from apps.system.schemas.auth import CacheName, CacheNamespace
from apps.system.schemas.system_schema import AssistantHeader, AssistantOutDsSchema, UserInfoDTO
@@ -266,3 +267,19 @@ def get_ds_engine(ds: AssistantOutDsSchema) -> Engine:
else:
engine = create_engine(uri, connect_args={"connect_timeout": timeout}, pool_timeout=timeout)
return engine
def get_out_ds_conf(ds: AssistantOutDsSchema, timeout:int=30) -> str:
conf = {
"host":ds.host,
"port":ds.port,
"username":ds.user,
"password":ds.password,
"database":ds.dataBase,
"driver":'',
"extraJdbc":ds.extraParams or '',
"dbSchema":ds.db_schema or '',
"timeout":timeout
}
conf.extraJdbc = ''
return aes_encrypt(json.dumps(conf))
@@ -178,6 +178,7 @@ class AssistantOutDsBase(BaseModel):
type_name: Optional[str] = None
comment: Optional[str] = None
description: Optional[str] = None
configuration: Optional[str] = None
class AssistantOutDsSchema(AssistantOutDsBase):