From 19db4fe688e58cdf7118efc8ee22a66da2e74dc2 Mon Sep 17 00:00:00 2001 From: kolo Date: Mon, 29 Jun 2026 19:43:04 +0300 Subject: [PATCH] step --- lib/data/repositories/account_repository.dart | 9 +++++---- lib/features/dashboard/provider.dart | 3 +-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/data/repositories/account_repository.dart b/lib/data/repositories/account_repository.dart index 1bc5992..4dafd11 100644 --- a/lib/data/repositories/account_repository.dart +++ b/lib/data/repositories/account_repository.dart @@ -13,9 +13,9 @@ class FeatureLimitException implements Exception { class AccountRepository { final AppDatabase _db; - final FeatureFlags _featureFlags; + final FeatureFlags Function() _getFeatureFlags; - AccountRepository(this._db, this._featureFlags); + AccountRepository(this._db, this._getFeatureFlags); Stream> watchAll() { return (_db.select(_db.accounts) @@ -167,8 +167,9 @@ class AccountRepository { Future add(model.Account account) async { final existing = await getAll(); final nonMainCount = existing.where((a) => !a.isMain).length; - if (nonMainCount >= _featureFlags.maxAccounts) { - throw FeatureLimitException('Account limit reached (${_featureFlags.maxAccounts})'); + final flags = _getFeatureFlags(); + if (flags.maxAccounts != -1 && nonMainCount >= flags.maxAccounts) { + throw FeatureLimitException('Account limit reached (${flags.maxAccounts})'); } return await _db.into(_db.accounts).insert( AccountsCompanion.insert( diff --git a/lib/features/dashboard/provider.dart b/lib/features/dashboard/provider.dart index 56bda67..6fb7d62 100644 --- a/lib/features/dashboard/provider.dart +++ b/lib/features/dashboard/provider.dart @@ -28,8 +28,7 @@ final transactionRepositoryProvider = Provider((ref) { final accountRepositoryProvider = Provider((ref) { final db = ref.watch(appDatabaseProvider); - final flags = ref.watch(featureFlagsProvider); - return AccountRepository(db, flags); + return AccountRepository(db, () => ref.read(featureFlagsProvider)); }); final storageServiceProvider = Provider((ref) {