2025-12-25 16:12:01 +08:00
|
|
|
import type { QueryRoleRequest } from "@/types/web/request"
|
2026-01-05 10:10:51 +08:00
|
|
|
import webClient from "@/client/web-client"
|
2025-12-25 16:12:01 +08:00
|
|
|
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}`)
|
|
|
|
|
}
|