dev
dart 46 lines 1.12 KB
Raw
1 import 'package:cake_wallet/entities/bridge_transfer.dart';
2 import 'package:mobx/mobx.dart';
3
4 part 'bridge_transfers_store.g.dart';
5
6 class BridgeTransfersStore = BridgeTransfersStoreBase with _$BridgeTransfersStore;
7
8 abstract class BridgeTransfersStoreBase with Store {
9 BridgeTransfersStoreBase() : bridgeTransfers = [] {
10 updateList();
11 }
12
13 @observable
14 List<BridgeTransfer> bridgeTransfers;
15
16 @action
17 Future<void> updateList() async {
18 bridgeTransfers = await BridgeTransfer.selectAll();
19 }
20
21 @action
22 Future<void> addTransfer(BridgeTransfer transfer) async {
23 try {
24 await BridgeTransfer.insert(transfer);
25 await updateList();
26 } catch (_) {}
27 }
28
29 @action
30 Future<void> updateTransfer(BridgeTransfer transfer) async {
31 try {
32 await BridgeTransfer.update(transfer);
33 await updateList();
34 } catch (_) {}
35 }
36
37 @computed
38 List<BridgeTransfer> get activeTransfers =>
39 bridgeTransfers.where((b) => b.isActive).toList(growable: false);
40
41 @computed
42 List<BridgeTransfer> get pastTransfers =>
43 bridgeTransfers.where((b) => !b.isActive).toList(growable: false);
44
45 void dispose() {}
46 }