feat(wallets): implement wallet movements feature with filtering and pagination

This commit is contained in:
Jose Selesan
2026-06-17 11:10:20 -03:00
parent 33120deed6
commit 04b3f87aca
10 changed files with 651 additions and 12 deletions

View File

@@ -424,6 +424,29 @@ export function getWalletMovements(
return fetcher<WalletMovement[]>(`/api/wallets/${id}/movements`);
}
export type WalletMovementsFilter = {
walletId?: number;
startDate?: string;
endDate?: string;
page?: number;
pageSize?: number;
};
export function getWalletMovementsFiltered(
filter: WalletMovementsFilter,
): Promise<PaginatedResponse<WalletMovement>> {
const params = new URLSearchParams();
if (filter.walletId) params.set("walletId", String(filter.walletId));
if (filter.startDate) params.set("startDate", filter.startDate);
if (filter.endDate) params.set("endDate", filter.endDate);
if (filter.page) params.set("page", String(filter.page));
if (filter.pageSize) params.set("pageSize", String(filter.pageSize));
const qs = params.toString();
return fetcher<PaginatedResponse<WalletMovement>>(
`/api/wallets/movements${qs ? `?${qs}` : ""}`,
);
}
// Telegram
export type TelegramStatus = {