Files
umbrix/lib/features/settings/geo_assets/geo_assets_notifier.dart
problematicconsumer 82b8e1b6f0 Add geo assets settings
2023-11-17 21:49:22 +03:30

29 lines
881 B
Dart

import 'package:hiddify/data/data_providers.dart';
import 'package:hiddify/domain/rules/geo_asset.dart';
import 'package:hiddify/utils/custom_loggers.dart';
import 'package:hiddify/utils/riverpod_utils.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'geo_assets_notifier.g.dart';
@riverpod
class GeoAssetsNotifier extends _$GeoAssetsNotifier with AppLogger {
@override
Stream<List<GeoAssetWithFileSize>> build() {
ref.disposeDelay(const Duration(seconds: 5));
return ref
.watch(geoAssetsRepositoryProvider)
.watchAll()
.map((event) => event.getOrElse((l) => throw l));
}
Future<void> updateGeoAsset(GeoAsset geoAsset) async {
await ref.read(geoAssetsRepositoryProvider).update(geoAsset).getOrElse(
(f) {
loggy.warning("error updating profile", f);
throw f;
},
).run();
}
}