from fastapi import APIRouter, Request from modules.system.role.schemas import RoleForm, RoleStatusForm from core.middleware import check_demo from core.middleware import permission_required from modules.system.role import service as role from core import R from utils.request import parse_batch_ids # 创建路由 role_router = APIRouter() # 查询分页数据 @role_router.get('/page', summary='查询分页数据') @permission_required("sys:role:page") def page(request: Request): # 调用查询分页数据服务方法 result = role.get_role_page(request) # 返回结果 return result # 查询角色详情 @role_router.get('/detail/{id}', summary='查询角色详情') @permission_required("sys:role:detail") def detail(request: Request, id): # 调用查询角色详情服务方法 data = role.get_role_detail(id) # 返回结果 return R.ok(data=data) # 添加角色 @role_router.post('/add', summary='添加角色') @permission_required("sys:role:add") @check_demo def add(request: Request, data: RoleForm): # 调用添加角色服务 result = role.add_role(request, data) # 返回结果 return result # 更新角色 @role_router.put('/update', summary='更新角色') @permission_required("sys:role:update") @check_demo def update(request: Request, data: RoleForm): # 调用更新角色服务方法 result = role.update_role(request, data) # 返回结果 return result # 删除角色 @role_router.delete('/delete/{id}', summary='删除角色') @permission_required("sys:role:delete") @check_demo async def delete(request: Request, id): # 调用删除角色服务方法 result = await role.delete_role(id) # 返回结果 return result # 设置角色状态 @role_router.put('/status', summary='设置角色状态') @permission_required("sys:role:status") @check_demo def status(request: Request, data: RoleStatusForm): # 调用设置角色状态服务方法 result = role.update_role_status(request, data) # 返回结果 return result # 获取角色列表 @role_router.get('/getRoleList', summary='获取角色列表') def get_role_list(request: Request): # 调用获取角色列表方法 result = role.get_role_list() # 返回结果 return R.ok(data=result) # 批量删除角色 @role_router.delete('/batchDelete', summary='批量删除角色') @permission_required("sys:role:batch_delete") @check_demo async def batch_delete(request: Request): """ 批量删除角色 Request Body: [1, 2, 3] # 角色ID数组 """ id_str, err = await parse_batch_ids(request) if err: return err return await role.delete_role(id_str) from fastapi import APIRouter, Request from modules.system.role.schemas import RoleMenuForm from core.middleware import check_demo from core.middleware import permission_required from modules.system.role import service as role_menu from core import R # 创建路由 role_menu_router = APIRouter() # 查询角色菜单列表 @role_menu_router.get('/index/{role_id}', summary='查询角色菜单列表') @permission_required("sys:rolemenu:index") def index(request: Request, role_id): menu_list = role_menu.get_role_menu_list(role_id) return R.ok(data=menu_list) # 保存角色菜单数据 @role_menu_router.post('/save', summary='保存角色菜单数据') @permission_required("sys:rolemenu:save") @check_demo async def save(request: Request, data: RoleMenuForm): result = await role_menu.save_role_menu(request, data) return result