sync transactions with pocketbase 2

This commit is contained in:
davmar
2026-09-09 22:31:04 +02:00
parent 96627a830e
commit e35a4d6893
12 changed files with 1442 additions and 12 deletions
+29
View File
@@ -155,6 +155,35 @@ class BankController extends ChangeNotifier {
notifyListeners();
}
/// Union cloud txs into the local bank cache without dropping either side.
///
/// Rows land in the API cache; CSV imports that match are deduped away.
Future<void> applySyncedTransactions(List<BankTransaction> fromCloud) async {
if (fromCloud.isEmpty) return;
_remoteTransactions = mergeTransactions(_remoteTransactions, fromCloud);
_importedTransactions = filterNewTransactions(
_remoteTransactions,
_importedTransactions,
);
_invalidateMerged();
if (!_status.linked && _remoteTransactions.isNotEmpty) {
_status = ConnectStatus(
status: _status.status == 'disconnected' ? 'synced' : _status.status,
linked: true,
accountId: _status.accountId,
sessionId: _status.sessionId,
state: _status.state,
validUntil: _status.validUntil,
);
}
await _persistCache();
await _persistImported();
notifyListeners();
}
/// Load status; if linked, also load balance + transactions.
Future<void> refresh() async {
_isLoading = true;