Files
ctms/frontend/src/api/users.ts
T
2026-03-31 10:08:26 +08:00

25 lines
803 B
TypeScript

import { apiGet, apiPatch, apiPost } from "./axios";
import type { ApiListResponse, UserInfo } from "../types/api";
import { apiDelete } from "./axios";
export const fetchUsers = (params?: Record<string, any>) =>
apiGet<ApiListResponse<UserInfo>>("/api/v1/users/", { params });
export const createUser = (payload: {
email: string;
password: string;
full_name: string;
role: string;
department: string;
}) =>
apiPost<UserInfo>("/api/v1/users/", payload);
export const updateUser = (
userId: string,
payload: Partial<{ role: string; status: string; password: string; full_name: string; department: string; is_active: boolean }>
) =>
apiPatch<UserInfo>(`/api/v1/users/${userId}`, payload);
export const deleteUser = (userId: string) =>
apiDelete<void>(`/api/v1/users/${userId}`);