Files
helix-web-react/src/api/role/index.ts
T

40 lines
1.1 KiB
TypeScript
Raw Normal View History

2025-12-25 16:12:01 +08:00
import type { QueryRoleRequest } from "@/types/web/request"
import webClient from "@/service/web-client"
import type { PageResponse, RoleResponse } from "@/types/web/response"
2025-12-26 16:00:40 +08:00
import type { RoleFormValues } from "@/components/role-display-form"
2025-12-25 16:12:01 +08:00
export async function fetchRoles(
request: QueryRoleRequest | null
): Promise<RoleResponse> {
const params = new URLSearchParams()
params.append("pageNum", `${request?.pageNum ?? 1}`)
params.append("pageSize", `${request?.pageSize ?? 1}`)
if (request?.name) {
params.append("name", request.name)
}
if (request?.code) {
params.append("code", request.code)
}
if (request?.status) {
params.append("status", request.status)
}
const { data } = await webClient.get<RoleResponse>(`/roles?${params.toString()}`)
return data
}
2025-12-26 16:00:40 +08:00
export async function addRole(request: RoleFormValues) {
return await webClient.post("/roles", request)
}
2025-12-26 17:53:09 +08:00
export async function editRole(request: RoleFormValues) {
return await webClient.put("/roles", request)
}
2025-12-29 14:20:38 +08:00
export async function deleteRole(id: number | string) {
return await webClient.delete(`/roles/${id}`)
}