Tasa Cero: regenerate API types + installment-plan client helpers

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Carlos Escalante
2026-07-03 16:13:18 -06:00
parent 3cd2927b5f
commit c563618957
2 changed files with 375 additions and 0 deletions

View File

@@ -240,6 +240,35 @@ export const upsertBalanceOverride = (
export const deleteBalanceOverride = (year: number, month: number) =>
api.delete(`/budget/balance-override/${year}/${month}`);
// --- Installment Plans (Tasa Cero) ---
export type InstallmentPlan = Schema<'InstallmentPlanRead'>;
export type InstallmentPlanDetail = Schema<'InstallmentPlanDetail'>;
export type InstallmentPlanListResponse = Schema<'InstallmentPlanListResponse'>;
export interface InstallmentPlanCreate {
transaction_id: number;
num_installments?: number;
first_installment_date?: string | null;
}
export interface InstallmentPlanUpdate {
num_installments?: number;
first_installment_date?: string | null;
notes?: string | null;
}
export const getInstallmentPlans = () =>
api.get<InstallmentPlanListResponse>("/installment-plans/");
export const getInstallmentPlanDetail = (id: number) =>
api.get<InstallmentPlanDetail>(`/installment-plans/${id}`);
export const createInstallmentPlan = (data: InstallmentPlanCreate) =>
api.post<InstallmentPlan>("/installment-plans/", data);
export const updateInstallmentPlan = (id: number, data: InstallmentPlanUpdate) =>
api.patch<InstallmentPlan>(`/installment-plans/${id}`, data);
export const deleteInstallmentPlan = (id: number) =>
api.delete(`/installment-plans/${id}`);
// --- Salarios ---
export type SalariosSummary = Schema<'SalariosSummary'>;