## Summary - Subsequent syncs (every 6h) now only process recent data instead of re-syncing full history, reducing unnecessary API calls and database writes - Full sync still runs automatically on first connection and can be forced anytime with `banking:sync --full` - Centralizes `isFirstSync` logic in `SyncBankingConnectionJob` and propagates the `fullSync` flag through the entire chain: Command → `SyncAllBankingConnectionsJob` → `SyncBankingConnectionJob` → provider services ## Changes by provider - **Indexa Capital**: Skips portfolio entries older than the last recorded balance date on incremental syncs (the API doesn't support date filtering, so filtering is done client-side) - **Binance**: Reuses stored `invested_amount` from the database on subsequent syncs instead of fetching up to 2 years of deposit/withdrawal history in 90-day windows - **EnableBanking / Bitpanda**: Already minimal — no changes needed ## Testing - Fixed 6 existing Binance tests to pass `isFirstSync: true` for invested amount calculation - Added 7 new tests covering incremental sync behavior, full sync override, and `--full` flag propagation |
||
|---|---|---|
| .. | ||
| Commands | ||