import api from "src/api"; export const getUser = async () => { const { data } = await api.get("/user/current/auth"); return data.payload; }; export const getUsers = async () => { const { data } = await api.get("/user"); return data.payload; }; export const createUser = async (user) => { const { data } = await api.post("/user", user); return data.payload; }; export const updateUser = async (user, id) => { const { data } = await api.put(`/user/${id}`, user); return data.payload; }; export const deleteUser = async (id) => { const { data } = await api.delete(`/user/${id}`); return data.payload; }; export const userTypes = async () => { const { data } = await api.get("/user/all/types"); return data.payload; }; export const getAssociados = async () => { const users = await getUsers(); return users.filter((u) => u.type === "associado"); }; export const getParceiros = async () => { const users = await getUsers(); return users.filter((u) => u.type === "parceiro"); }; export const getUsersPaginated = async ({ page = 1, perPage = 10, filter, type, status } = {}) => { const params = { page, per_page: perPage }; if (type) params.type = type; if (status) params.status = status; if (filter) params.search = filter; const { data } = await api.get("/user/paginated", { params }); return { data: { result: data.payload } }; }; export const getAssociadosPaginated = async (params = {}) => getUsersPaginated({ ...params, type: "associado" });