import { apiClient } from '@/lib/api/client'; import { buildQuery, type PaginatedResult } from '@/lib/api/types'; import type { FormaPagamento, ParcelaStatus, SalePayment } from '@/lib/api/sales'; export type { FormaPagamento } from '@/lib/api/sales'; /** `GET /tenant/recebimentos` inclui um resumo da venda/cliente em cada parcela. */ export interface Recebimento extends SalePayment { sale: { id: string; numero_venda: number; customer_id: string; customer: { razao_social: string } }; } export interface ListRecebimentosParams { status?: ParcelaStatus; customer_id?: string; vencimento_inicio?: string; vencimento_fim?: string; page?: number; limit?: number; } export function listRecebimentos(params: ListRecebimentosParams) { return apiClient.get>(`/tenant/recebimentos${buildQuery(params)}`); } export function marcarRecebimentoPago(id: string, forma_pagamento: FormaPagamento) { return apiClient.patch(`/tenant/recebimentos/${id}/marcar-pago`, { forma_pagamento }); } export interface AtualizarAtrasadasResult { atualizadas: number; } export function atualizarRecebimentosAtrasados() { return apiClient.post('/tenant/recebimentos/atualizar-atrasadas'); }