import type { Transaction, GetTransactionsParams, PaginatedResponse, UpdateTransactionRequest, } from '@family-budget/shared'; import { api } from './client'; export async function getTransactions( params: GetTransactionsParams, ): Promise> { const sp = new URLSearchParams(); for (const [key, value] of Object.entries(params)) { if (value != null && value !== '') { sp.set(key, String(value)); } } const qs = sp.toString(); return api.get(`/api/transactions${qs ? `?${qs}` : ''}`); } export async function updateTransaction( id: number, data: UpdateTransactionRequest, ): Promise { return api.put(`/api/transactions/${id}`, data); } export async function clearAllTransactions(): Promise<{ deleted: number }> { return api.delete<{ deleted: number }>('/api/transactions'); }