Skip to content

Commit ee89890

Browse files
authored
Merge pull request #1784 from SatoshiPortal/refactor-labels
BREAKING CHANGE: refactor labels with the new architecture
2 parents 6c1470a + 24f9c12 commit ee89890

97 files changed

Lines changed: 11082 additions & 1119 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

lib/core/core_locator.dart

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import 'package:bb_mobile/core/blockchain/blockchain_locator.dart';
44
import 'package:bb_mobile/core/electrum/frameworks/di/electrum_locator.dart';
55
import 'package:bb_mobile/core/exchange/exchange_locator.dart';
66
import 'package:bb_mobile/core/fees/fees_locator.dart';
7-
import 'package:bb_mobile/core/labels/labels_locator.dart';
7+
import 'package:bb_mobile/features/labels/labels_facade.dart';
88
import 'package:bb_mobile/core/ledger/ledger_locator.dart';
99
import 'package:bb_mobile/core/mempool/mempool_locator.dart';
1010
import 'package:bb_mobile/core/payjoin/payjoin_locator.dart';
@@ -24,7 +24,6 @@ class CoreLocator {
2424
}
2525

2626
static Future<void> registerDatasources(GetIt locator) async {
27-
LabelsLocator.registerDatasources(locator);
2827
await TorLocator.registerDatasources(locator);
2928
BlockchainLocator.registerDatasources(locator);
3029
await ElectrumLocator.registerDatasources(locator);
@@ -49,10 +48,10 @@ class CoreLocator {
4948
MempoolLocator.registerPorts(locator);
5049
SwapsLocator.registerPorts(locator);
5150
WalletLocator.registerPorts(locator);
51+
LabelsLocator.registerPorts(locator);
5252
}
5353

5454
static Future<void> registerRepositories(GetIt locator) async {
55-
LabelsLocator.registerRepositories(locator);
5655
await TorLocator.registerRepositories(locator);
5756
BlockchainLocator.registerRepositories(locator);
5857
ElectrumLocator.registerRepositories(locator);
@@ -96,4 +95,12 @@ class CoreLocator {
9695
LedgerLocator.registerUsecases(locator);
9796
BitBoxCoreLocator.registerUsecases(locator);
9897
}
98+
99+
static void registerFacades(GetIt locator) {
100+
LabelsLocator.registerFacade(locator);
101+
}
102+
103+
static void registerFrameworks(GetIt locator) {
104+
LabelsLocator.registerFrameworks(locator);
105+
}
99106
}

lib/core/exchange/domain/usecases/label_exchange_orders_usecase.dart

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,16 @@
11
import 'package:bb_mobile/core/exchange/domain/entity/order.dart';
22
import 'package:bb_mobile/core/exchange/domain/usecases/list_all_orders_usecase.dart';
3-
import 'package:bb_mobile/core/labels/data/label_datasource.dart';
4-
import 'package:bb_mobile/core/labels/domain/batch_labels_usecase.dart';
5-
import 'package:bb_mobile/core/labels/domain/label.dart';
6-
import 'package:bb_mobile/core/labels/label_system.dart';
73
import 'package:bb_mobile/core/utils/logger.dart';
4+
import 'package:bb_mobile/features/labels/labels_facade.dart';
85

96
class LabelExchangeOrdersUsecase {
10-
final LabelDatasource _labelDatasource;
11-
final BatchLabelsUsecase _batchLabelsUsecase;
7+
final LabelsFacade _labelsFacade;
128
final ListAllOrdersUsecase _listAllOrdersUsecase;
139

1410
LabelExchangeOrdersUsecase({
15-
required LabelDatasource labelDatasource,
16-
required BatchLabelsUsecase batchLabelsUsecase,
11+
required LabelsFacade labelsFacade,
1712
required ListAllOrdersUsecase listAllOrdersUsecase,
18-
}) : _labelDatasource = labelDatasource,
19-
_batchLabelsUsecase = batchLabelsUsecase,
13+
}) : _labelsFacade = labelsFacade,
2014
_listAllOrdersUsecase = listAllOrdersUsecase;
2115

2216
Future<void> execute() async {
@@ -59,7 +53,7 @@ class LabelExchangeOrdersUsecase {
5953
}
6054
}
6155

62-
await _batchLabelsUsecase.execute(labels);
56+
await _labelsFacade.store(labels);
6357

6458
log.fine(
6559
'$LabelExchangeOrdersUsecase labeled ${orders.length} exchange orders',
@@ -71,11 +65,11 @@ class LabelExchangeOrdersUsecase {
7165

7266
Future<bool> _hasExistingExchangeSystemLabels() async {
7367
try {
74-
final allLabels = await _labelDatasource.fetchAll();
68+
final allLabels = await _labelsFacade.fetch();
7569
return allLabels.any(
7670
(label) =>
77-
label.label == LabelSystem.exchangeBuy.label ||
78-
label.label == LabelSystem.exchangeSell.label,
71+
LabelSystem.isSystemLabel(label) &&
72+
LabelSystem.fromLabel(label).isExchangeRelated(),
7973
);
8074
} catch (e) {
8175
log.warning('$LabelExchangeOrdersUsecase: $e');

lib/core/exchange/exchange_locator.dart

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,7 @@ import 'package:bb_mobile/core/exchange/domain/usecases/refresh_price_history_us
3535
import 'package:bb_mobile/core/exchange/domain/usecases/save_exchange_api_key_usecase.dart';
3636
import 'package:bb_mobile/core/exchange/domain/usecases/send_support_chat_message_usecase.dart';
3737
import 'package:bb_mobile/core/exchange/domain/usecases/save_user_preferences_usecase.dart';
38-
import 'package:bb_mobile/core/labels/data/label_datasource.dart';
39-
import 'package:bb_mobile/core/labels/data/label_repository.dart';
40-
import 'package:bb_mobile/core/labels/domain/batch_labels_usecase.dart';
38+
import 'package:bb_mobile/features/labels/labels_facade.dart';
4139
import 'package:bb_mobile/core/settings/data/settings_repository.dart';
4240
import 'package:bb_mobile/core/storage/data/datasources/key_value_storage/key_value_storage_datasource.dart';
4341
import 'package:bb_mobile/core/storage/sqlite_database.dart';
@@ -340,7 +338,7 @@ class ExchangeLocator {
340338
instanceName: 'testnetExchangeOrderRepository',
341339
),
342340
settingsRepository: locator<SettingsRepository>(),
343-
labelsRepository: locator<LabelRepository>(),
341+
labelsFacade: locator<LabelsFacade>(),
344342
),
345343
);
346344

@@ -482,8 +480,7 @@ class ExchangeLocator {
482480

483481
locator.registerFactory<LabelExchangeOrdersUsecase>(
484482
() => LabelExchangeOrdersUsecase(
485-
labelDatasource: locator<LabelDatasource>(),
486-
batchLabelsUsecase: locator<BatchLabelsUsecase>(),
483+
labelsFacade: locator<LabelsFacade>(),
487484
listAllOrdersUsecase: locator<ListAllOrdersUsecase>(),
488485
),
489486
);

lib/core/labels/data/label_datasource.dart

Lines changed: 0 additions & 98 deletions
This file was deleted.

lib/core/labels/data/label_model.dart

Lines changed: 0 additions & 80 deletions
This file was deleted.

lib/core/labels/data/label_repository.dart

Lines changed: 0 additions & 48 deletions
This file was deleted.

lib/core/labels/domain/batch_labels_usecase.dart

Lines changed: 0 additions & 20 deletions
This file was deleted.

lib/core/labels/domain/delete_label_usecase.dart

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)