import request from '@/utils/request' import type { Permission } from '@/types' import type { ApiResponse } from '@/types' /** * 获取权限列表 * @description 获取系统中所有权限的列表 * @returns 返回包含所有权限的数组 */ export const getPermissions = () => { return request.get>('/api/auth/permissions') } /** * 获取单个权限详情 * @description 根据权限ID获取指定权限的详细信息 * @param id - 权限唯一标识符 * @returns 返回指定权限的详细信息 */ export const getPermission = (id: string) => { return request.get>(`/api/auth/permissions/${id}`) } /** * 创建新权限 * @description 在系统中创建一个新的权限 * @param data - 权限信息(部分字段),包含权限名称、权限码、所属模块等 * @returns 返回创建成功后的权限信息 */ export const createPermission = (data: Partial) => { return request.post>('/api/auth/permissions', data) } /** * 更新权限信息 * @description 根据权限ID更新指定权限的详细信息 * @param id - 权限唯一标识符 * @param data - 需要更新的权限信息(部分字段) * @returns 返回更新后的权限信息 */ export const updatePermission = (id: string, data: Partial) => { return request.put>(`/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>(`/api/auth/permissions/module/${module}`) }