Browse Source

数据安全接口改造

master
siyaqi 1 month ago
parent
commit
f0ec88f8b9
  1. 8
      vue-fastapi-backend/module_admin/dao/metaSecurity_dao.py
  2. 10
      vue-fastapi-backend/module_admin/service/metasecurity_service.py

8
vue-fastapi-backend/module_admin/dao/metaSecurity_dao.py

@ -84,13 +84,13 @@ class MetaSecurityDao:
return row_list
@classmethod
async def get_api_col_list(cls, db: AsyncSession, dbRId: int,dbTname:str,objType:str,objValue:str):
async def get_api_col_list(cls, db: AsyncSession, dbRCode: str,dbTname:str,objType:str,objValue:str):
colList = (
await db.execute(
select(MetaSecurityCol)
.where(
(MetaSecurityCol.isStop == 0) &
(MetaSecurityCol.dbRID == dbRId) &
(MetaSecurityCol.dbRName == dbRCode) &
(MetaSecurityCol.obj_type == objType) &
(MetaSecurityCol.dbTName == dbTname) &
(MetaSecurityCol.obj_value == objValue)
@ -99,13 +99,13 @@ class MetaSecurityDao:
).scalars().all()
return colList
@classmethod
async def get_api_row_list(cls, db: AsyncSession, dbRId: int,dbTname:str,objType:str,objValue:str):
async def get_api_row_list(cls, db: AsyncSession, dbRCode: str,dbTname:str,objType:str,objValue:str):
colList = (
await db.execute(
select(MetaSecurityRow)
.where(
(MetaSecurityRow.isStop == 0) &
(MetaSecurityRow.dbRID == dbRId) &
(MetaSecurityRow.dbRName == dbRCode) &
(MetaSecurityRow.obj_type == objType) &
(MetaSecurityRow.dbTName == dbTname) &
(MetaSecurityRow.obj_value == objValue)

10
vue-fastapi-backend/module_admin/service/metasecurity_service.py

@ -443,27 +443,27 @@ def convert_decimal(obj):
async def get_table_configs(query_db, page_object, user, role_id_list, table_name):
# 获取用户的列配置
user_col_list = await MetaSecurityDao.get_api_col_list(
query_db, page_object.dbRId, table_name, '0', user[0].user_id
query_db, page_object.dbRCode, table_name, '0', user[0].user_id
)
# 获取角色的列配置
role_col_list = []
for role_id in role_id_list:
role_cols = await MetaSecurityDao.get_api_col_list(
query_db, page_object.dbRId, table_name, '1', role_id
query_db, page_object.dbRCode, table_name, '1', role_id
)
role_col_list.extend(role_cols) # 将每个角色的列配置合并到列表中
# 获取用户的行配置
user_row_list = await MetaSecurityDao.get_api_row_list(
query_db, page_object.dbRId, table_name, '0', user[0].user_id
query_db, page_object.dbRCode, table_name, '0', user[0].user_id
)
# 获取角色的行配置
role_row_list = []
for role_id in role_id_list:
role_rows = await MetaSecurityDao.get_api_row_list(
query_db, page_object.dbRId, table_name, '1', role_id
query_db, page_object.dbRCode, table_name, '1', role_id
)
role_row_list.extend(role_rows) # 将每个角色的行配置合并到列表中
isHave = any([
@ -637,7 +637,7 @@ async def get_data_source_tree(request: Request, current_user: MetaSecurityApiMo
total_list = data["data"]["totalList"]
# 解析 connectionParams 字符串为字典
for item in total_list:
if item["name"]==current_user.dbRId:
if item["name"]==current_user.dbRCode:
item["connectionParams"] = json.loads(item["connectionParams"])
return item
raise Exception(f'根据数据源ID:{current_user.dbRCode}获取数据源信息失败,状态: {response.reason}')

Loading…
Cancel
Save