66 lines
1.4 KiB
TypeScript
66 lines
1.4 KiB
TypeScript
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<Role[]>('/sys/role', { params })
|
|
}
|
|
|
|
export const getRoleById = (id: number) => {
|
|
return request.get<Role>(`/sys/role/${id}`)
|
|
}
|
|
|
|
export const createRole = (data: Role) => {
|
|
return request.post<Role>('/sys/role', data)
|
|
}
|
|
|
|
export const updateRole = (data: Role) => {
|
|
return request.put<Role>('/sys/role', data)
|
|
}
|
|
|
|
export const deleteRole = (id: number) => {
|
|
return request.delete<boolean>(`/sys/role/${id}`)
|
|
}
|
|
|
|
export const getRoleByRoleKey = (roleKey: string) => {
|
|
return request.get<Role>(`/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<Role[]>(`/sys/role/user/${userId}`)
|
|
}
|
|
|
|
export const removeUserRole = (userId: number, roleId: number) => {
|
|
return request.delete(`/sys/role/user/${userId}/role/${roleId}`)
|
|
}
|