Files
OnBudget/lib/src/features/settings/application/settings_providers.dart
T
2026-05-27 09:19:19 +03:00

20 lines
831 B
Dart

import 'package:riverpod_annotation/riverpod_annotation.dart';
import '../../../core/providers/database_provider.dart';
import '../data/repositories/settings_repository_impl.dart';
import '../domain/entities/settings.dart';
import '../domain/repositories/settings_repository.dart';
part 'settings_providers.g.dart';
/// DI-провайдер репозитория настроек.
@Riverpod(keepAlive: true)
SettingsRepository settingsRepository(SettingsRepositoryRef ref) {
final db = ref.watch(appDatabaseProvider);
return SettingsRepositoryImpl(db.settingsDao);
}
/// Реактивный поток настроек для конкретного пользователя.
@riverpod
Stream<Settings?> settingsStream(SettingsStreamRef ref, int userId) =>
ref.watch(settingsRepositoryProvider).watchSettings(userId);