88 lines
2.4 KiB
TypeScript
88 lines
2.4 KiB
TypeScript
// Author: fruit.com.cn
|
|
|
|
import request from '@/axios'
|
|
import type {
|
|
MenuNode,
|
|
MenuSaveData,
|
|
PageResult,
|
|
PermissionGroup,
|
|
RoleCategoryItem,
|
|
RoleItem,
|
|
RoleSaveData
|
|
} from './types'
|
|
|
|
export interface RolePageParams {
|
|
keyword?: string
|
|
pageIndex?: number
|
|
pageSize?: number
|
|
}
|
|
|
|
export const pageRolesApi = (params: RolePageParams) => {
|
|
return request.get<PageResult<RoleItem>>({ url: '/admin/roles/page', params })
|
|
}
|
|
|
|
export const listRolesApi = () => {
|
|
return request.get<RoleItem[]>({ url: '/admin/roles/list' })
|
|
}
|
|
|
|
export const createRoleApi = (data: RoleSaveData) => {
|
|
return request.post<number>({ url: '/admin/roles', data })
|
|
}
|
|
|
|
export const updateRoleApi = (id: number, data: RoleSaveData) => {
|
|
return request.put<void>({ url: `/admin/roles/${id}`, data })
|
|
}
|
|
|
|
export const deleteRoleApi = (id: number) => {
|
|
return request.delete<void>({ url: `/admin/roles/${id}` })
|
|
}
|
|
|
|
export const getRolePermissionsApi = (id: number) => {
|
|
return request.get<string[]>({ url: `/admin/roles/${id}/permissions` })
|
|
}
|
|
|
|
export const updateRolePermissionsApi = (id: number, permissions: string[]) => {
|
|
return request.put<void>({ url: `/admin/roles/${id}/permissions`, data: { permissions } })
|
|
}
|
|
|
|
export const listPermissionGroupsApi = () => {
|
|
return request.get<PermissionGroup[]>({ url: '/admin/permissions' })
|
|
}
|
|
|
|
export interface RoleCategorySaveData {
|
|
name: string
|
|
description?: string
|
|
}
|
|
|
|
export const listRoleCategoriesApi = () => {
|
|
return request.get<RoleCategoryItem[]>({ url: '/admin/role-categories' })
|
|
}
|
|
|
|
export const createRoleCategoryApi = (data: RoleCategorySaveData) => {
|
|
return request.post<number>({ url: '/admin/role-categories', data })
|
|
}
|
|
|
|
export const updateRoleCategoryApi = (id: number, data: RoleCategorySaveData) => {
|
|
return request.put<void>({ url: `/admin/role-categories/${id}`, data })
|
|
}
|
|
|
|
export const deleteRoleCategoryApi = (id: number) => {
|
|
return request.delete<void>({ url: `/admin/role-categories/${id}` })
|
|
}
|
|
|
|
export const getMenuTreeApi = () => {
|
|
return request.get<MenuNode[]>({ url: '/admin/menus/tree' })
|
|
}
|
|
|
|
export const createMenuApi = (data: MenuSaveData) => {
|
|
return request.post<number>({ url: '/admin/menus', data })
|
|
}
|
|
|
|
export const updateMenuApi = (id: number, data: MenuSaveData) => {
|
|
return request.put<void>({ url: `/admin/menus/${id}`, data })
|
|
}
|
|
|
|
export const deleteMenuApi = (id: number) => {
|
|
return request.delete<void>({ url: `/admin/menus/${id}` })
|
|
}
|