Files
family_budget/frontend/src/api/transactions.ts
vakabunga a895bb4b2f fix: 404 при обновлении, стрелки периода, фильтры в URL, авто-категории и очистка истории
- Nginx: проксирование /api на backend (единая точка входа)
- История: стрелки ← → для переключения недель/месяцев/годов
- История: сохранение фильтров и пагинации в URL при F5
- Импорт: миграция 003 — дефолтные правила категорий (PYATEROCHK, AUCHAN и др.)
- Настройки: вкладка «Данные» с кнопкой «Очистить историю»
- Backend: DELETE /api/transactions для удаления всех транзакций
- ClearHistoryModal: подтверждение чекбоксами и вводом «УДАЛИТЬ»
2026-03-10 06:53:56 +03:00

32 lines
876 B
TypeScript

import type {
Transaction,
GetTransactionsParams,
PaginatedResponse,
UpdateTransactionRequest,
} from '@family-budget/shared';
import { api } from './client';
export async function getTransactions(
params: GetTransactionsParams,
): Promise<PaginatedResponse<Transaction>> {
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<Transaction> {
return api.put<Transaction>(`/api/transactions/${id}`, data);
}
export async function clearAllTransactions(): Promise<{ deleted: number }> {
return api.delete<{ deleted: number }>('/api/transactions');
}