import { UserFormValues } from "../schemas/user"; import { PaginatedResponse } from "../types/api-response"; import { User } from "../types/user"; import { apiHelpers } from "./api"; const userApi = { getUsers: async (params?: { filter?: string | string[]; limit?: number; offset?: number; sort?: string; }): Promise> => { const filteredParams = { ...params }; if (!filteredParams.sort) { delete filteredParams.sort; } return apiHelpers.get("/users", { params: filteredParams, paramsSerializer: { indexes: null, }, }); }, getUserById: async (id: string): Promise => { return apiHelpers.get(`/users/${id}`); }, deleteUser: async (id?: string): Promise => { return apiHelpers.delete(`/users/${id}`); }, createUser: async (user: Omit): Promise => { return apiHelpers.post("/users", user); }, updateUser: async ( id: string, user: Partial ): Promise => { return apiHelpers.patch(`/users/${id}`, user); }, }; export default userApi;