fix: 添加角色增加菜单id”
This commit is contained in:
@@ -25,7 +25,11 @@ async def get_menus(skip: int, limit: int, kwargs: dict = None):
|
||||
else:
|
||||
kwargs = {}
|
||||
result = MenuModel.filter(status__not=9, **kwargs).all().order_by("-created")
|
||||
return await result.offset(skip).limit(limit), await result.count()
|
||||
return await result.offset(skip).limit(limit)
|
||||
|
||||
|
||||
async def get_tree_menu():
|
||||
return await MenuModel.filter(status__not=9).all().values()
|
||||
|
||||
|
||||
async def get_menu(kwargs):
|
||||
|
@@ -1,6 +1,6 @@
|
||||
from tortoise import connections
|
||||
|
||||
from models import RoleModel
|
||||
from models import MenuModel, RoleMenuModel, RoleModel
|
||||
from schemas.role import RoleIn
|
||||
|
||||
|
||||
@@ -20,7 +20,16 @@ async def get_role_menus(rid: int):
|
||||
|
||||
async def new_role(role: RoleIn):
|
||||
"""新增角色"""
|
||||
return await RoleModel.create(**role.dict())
|
||||
# 校验菜单是否存在
|
||||
if not all([await MenuModel.filter(id=mid).first() for mid in role.menus]):
|
||||
return False
|
||||
|
||||
obj = await RoleModel.create(name=role.name, remark=role.remark)
|
||||
# 写入菜单
|
||||
await RoleMenuModel.bulk_create(
|
||||
[RoleMenuModel(rid=obj.id, mid=mid) for mid in role.menus]
|
||||
)
|
||||
return obj
|
||||
|
||||
|
||||
async def get_roles(skip: int, limit: int, kwargs: dict = None):
|
||||
|
@@ -32,19 +32,9 @@ async def get_user_info(user: UserModel):
|
||||
[user.id],
|
||||
)
|
||||
|
||||
# 当前激活角色的按钮权限列表
|
||||
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],
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +54,6 @@ async def get_users(skip: int, limit: int, kwargs: dict = None):
|
||||
else:
|
||||
kwargs = {}
|
||||
result = UserModel.filter(**kwargs).all().order_by("-created")
|
||||
print(await result.offset(skip).limit(limit))
|
||||
return await result.offset(skip).limit(limit), await result.count()
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user