feat:客服agent接入nl2sql
This commit is contained in:
@@ -88,13 +88,18 @@ async def query(
|
||||
sort_by=request.sort_by,
|
||||
sort_order=request.sort_order,
|
||||
)
|
||||
final_columns = {
|
||||
table: set(columns)
|
||||
for table, columns in (permission.get("columns") or {}).items()
|
||||
}
|
||||
for table, scope in (permission.get("row_scopes") or {}).items():
|
||||
if scope.get("column"):
|
||||
final_columns.setdefault(table, set()).add(scope["column"])
|
||||
# columns 为 None 表示不做列级限制;仅当配置了列权限时才需要
|
||||
# 保证行级范围列可访问。保持 dict(含空 dict)行为不变。
|
||||
if permission.get("columns") is None:
|
||||
final_columns = None
|
||||
else:
|
||||
final_columns = {
|
||||
table: set(columns)
|
||||
for table, columns in permission["columns"].items()
|
||||
}
|
||||
for table, scope in (permission.get("row_scopes") or {}).items():
|
||||
if scope.get("column"):
|
||||
final_columns.setdefault(table, set()).add(scope["column"])
|
||||
return validate_select_sql(
|
||||
option_sql,
|
||||
authorized_tables=permission.get("tables", set()),
|
||||
|
||||
Reference in New Issue
Block a user