import request from '@/utils/request' export interface Role { id?: number roleName: string roleCode: string description?: string createTime?: string updateTime?: string } export interface RoleQuery { roleName?: string roleCode?: string page?: number size?: number } export interface RoleResponse { code: string message: string data: Role[] } export interface RoleDetailResponse { code: string message: string data: Role } export const getRoles = (params?: RoleQuery) => { return request.get('/sys/role', { params }) } export const getRoleById = (id: number) => { return request.get(`/sys/role/${id}`) } export const createRole = (data: Role) => { return request.post('/sys/role', data) } export const updateRole = (data: Role) => { return request.put('/sys/role', data) } export const deleteRole = (id: number) => { return request.delete(`/sys/role/${id}`) } export const getRoleByRoleKey = (roleKey: string) => { return request.get(`/sys/role/roleKey/${roleKey}`) } export const assignRoleToUser = (userId: number, roleIds: number[]) => { return request.post('/sys/role/assign', { userId, roleIds }) } export const getUserRoles = (userId: number) => { return request.get(`/sys/role/user/${userId}`) } export const removeUserRole = (userId: number, roleId: number) => { return request.delete(`/sys/role/user/${userId}/role/${roleId}`) }