import { api } from '../../../services/api'; import type { ApiResponse, AtualizarClienteRequest, Cliente, ClientesListResponse, CriarClienteRequest, } from '../types/clienteTypes'; export type OrderDirection = 'ASC' | 'DESC'; export type ListarClientesParams = { limite?: number; offset?: number; page?: number; busca?: string; pessoafisica?: string; habilitado?: number | ''; cidade?: string; estado?: string; orderBy?: string; orderDirection?: OrderDirection; }; export async function listarClientes( params?: ListarClientesParams ): Promise { const response = await api.get('/clientes', { params, }); return response.data; } export async function buscarClientePorId(id: number): Promise { const response = await api.get>(`/clientes/${id}`); return response.data.data; } export async function criarCliente( data: CriarClienteRequest ): Promise { const response = await api.post>('/clientes', data); return response.data.data; } export async function atualizarCliente( id: number, data: AtualizarClienteRequest ): Promise { const response = await api.put>(`/clientes/${id}`, data); return response.data.data; } export async function alterarHabilitadoCliente( id: number, habilitado: number ): Promise { const response = await api.patch>(`/clientes/${id}/habilitado`, { habilitado, }); return response.data.data; } export async function deletarCliente(id: number): Promise { await api.delete(`/clientes/${id}`); }