feat:按钮权限,fix更新角色菜单没过滤关联表状态9的数据问题
This commit is contained in:
@@ -13,7 +13,7 @@ async def get_role_menus(rid: int):
|
||||
"""
|
||||
select m.id, m.name, m.meta, m.path, m.type, m.component, m.pid, m.identifier
|
||||
FROM sys_menu as m, sys_role_menu WHERE m.id = sys_role_menu.mid
|
||||
AND sys_role_menu.rid = (?) AND m.`status` = 1""",
|
||||
AND sys_role_menu.rid = (?) AND sys_role_menu.`status` = 1""",
|
||||
[rid],
|
||||
)
|
||||
|
||||
|
@@ -32,7 +32,20 @@ async def get_user_info(user: UserModel):
|
||||
[user.id],
|
||||
)
|
||||
|
||||
return {**jsonable_encoder(user), "roles": sql_result}
|
||||
# 当前激活角色的按钮权限列表
|
||||
perm_result = await db.execute_query_dict(
|
||||
"""
|
||||
select m.identifier from sys_role_menu as rm, sys_menu as m where rm.mid = m.id and rm.rid = (?) and
|
||||
m.identifier not null and m.identifier != "" and rm.status != 9
|
||||
""",
|
||||
[sql_result[0]["id"]],
|
||||
)
|
||||
|
||||
return {
|
||||
**jsonable_encoder(user),
|
||||
"roles": sql_result,
|
||||
"permissions": [i["identifier"] for i in perm_result],
|
||||
}
|
||||
|
||||
|
||||
async def get_users(skip: int, limit: int, kwargs: dict = None):
|
||||
|
Binary file not shown.
Binary file not shown.
@@ -41,6 +41,7 @@ class UserInfo(UserRead):
|
||||
"""用户信息模型"""
|
||||
|
||||
roles: list[UserHasRole] = Field(..., description="用户拥有角色")
|
||||
permissions: list[str] = Field(..., description="角色拥有的按钮权限标识")
|
||||
|
||||
|
||||
class RoleActive(BaseModel):
|
||||
|
Reference in New Issue
Block a user