import request from '@/utils/request'; import type { ApiResponse, PageParams, PageResult } from '@/types/api'; export interface SystemRole { id?: number; name: string; code: string; sort: number; status: number; type: number; dataScope: number; dataScopeDeptIds: number[]; createTime?: string; } /** Paginated role list */ export const getRolePage = (params: PageParams) => request.get>>('/system/role/page', { params }); /** Simple (non-paginated) role list – used for dropdowns */ export const getSimpleRoleList = () => request.get>('/system/role/simple-list'); /** Get single role by id */ export const getRole = (id: number) => request.get>(`/system/role/get?id=${id}`); /** Create role */ export const createRole = (data: SystemRole) => request.post>('/system/role/create', data); /** Update role */ export const updateRole = (data: SystemRole) => request.put>('/system/role/update', data); /** Delete single role */ export const deleteRole = (id: number) => request.delete>(`/system/role/delete?id=${id}`); /** Batch delete roles */ export const deleteRoleList = (ids: number[]) => request.delete>('/system/role/delete-list', { data: { ids } });