import { apiDelete, apiGet, apiPatch, apiPost } from "./axios"; import type { FeeApiResponse } from "../types/api"; export interface SpecialExpensePayload { project_id: string; center_id?: string | null; category: string; amount: number; happen_date?: string | null; description?: string | null; is_paid?: boolean; paid_date?: string | null; is_verified?: boolean; verified_date?: string | null; } export interface SpecialExpenseUpdatePayload { center_id?: string | null; category?: string; amount?: number; happen_date?: string | null; description?: string | null; is_paid?: boolean; paid_date?: string | null; is_verified?: boolean; verified_date?: string | null; } export const listSpecialExpenses = (params: { projectId: string; centerId?: string; category?: string; dateFrom?: string; dateTo?: string; }) => apiGet>("/api/v1/fees/special", { params }); export const getSpecialExpense = (expenseId: string) => apiGet>(`/api/v1/fees/special/${expenseId}`); export const createSpecialExpense = (payload: SpecialExpensePayload) => apiPost>("/api/v1/fees/special", payload); export const updateSpecialExpense = (expenseId: string, payload: SpecialExpenseUpdatePayload) => apiPatch>(`/api/v1/fees/special/${expenseId}`, payload); export const deleteSpecialExpense = (expenseId: string) => apiDelete(`/api/v1/fees/special/${expenseId}`);