64 lines
2.0 KiB
TypeScript
64 lines
2.0 KiB
TypeScript
import request from '@/utils/request'
|
|
import type { Permission } from '@/types'
|
|
import type { ApiResponse } from '@/types'
|
|
|
|
/**
|
|
* 获取权限列表
|
|
* @description 获取系统中所有权限的列表
|
|
* @returns 返回包含所有权限的数组
|
|
*/
|
|
export const getPermissions = () => {
|
|
return request.get<ApiResponse<Permission[]>>('/api/auth/permissions')
|
|
}
|
|
|
|
/**
|
|
* 获取单个权限详情
|
|
* @description 根据权限ID获取指定权限的详细信息
|
|
* @param id - 权限唯一标识符
|
|
* @returns 返回指定权限的详细信息
|
|
*/
|
|
export const getPermission = (id: string) => {
|
|
return request.get<ApiResponse<Permission>>(`/api/auth/permissions/${id}`)
|
|
}
|
|
|
|
/**
|
|
* 创建新权限
|
|
* @description 在系统中创建一个新的权限
|
|
* @param data - 权限信息(部分字段),包含权限名称、权限码、所属模块等
|
|
* @returns 返回创建成功后的权限信息
|
|
*/
|
|
export const createPermission = (data: Partial<Permission>) => {
|
|
return request.post<ApiResponse<Permission>>('/api/auth/permissions', data)
|
|
}
|
|
|
|
/**
|
|
* 更新权限信息
|
|
* @description 根据权限ID更新指定权限的详细信息
|
|
* @param id - 权限唯一标识符
|
|
* @param data - 需要更新的权限信息(部分字段)
|
|
* @returns 返回更新后的权限信息
|
|
*/
|
|
export const updatePermission = (id: string, data: Partial<Permission>) => {
|
|
return request.put<ApiResponse<Permission>>(`/api/auth/permissions/${id}`, data)
|
|
}
|
|
|
|
/**
|
|
* 删除权限
|
|
* @description 根据权限ID删除指定权限
|
|
* @param id - 权限唯一标识符
|
|
* @returns 返回删除操作的结果
|
|
*/
|
|
export const deletePermission = (id: string) => {
|
|
return request.delete(`/api/auth/permissions/${id}`)
|
|
}
|
|
|
|
/**
|
|
* 获取指定模块的权限列表
|
|
* @description 根据模块名称获取该模块下所有可用的权限
|
|
* @param module - 模块名称,用于筛选特定模块下的权限
|
|
* @returns 返回该模块下的权限数组
|
|
*/
|
|
export const getPermissionsByModule = (module: string) => {
|
|
return request.get<ApiResponse<Permission[]>>(`/api/auth/permissions/module/${module}`)
|
|
}
|