import 'package:immich_mobile/domain/interfaces/store.interface.dart'; import 'package:immich_mobile/domain/models/app_setting.model.dart'; class AppSettingService { final IStoreRepository _store; const AppSettingService(this._store); Future getSetting(AppSetting setting) async { final value = await _store.tryGet(setting.storeKey); return value ?? setting.defaultValue; } Future setSetting(AppSetting setting, T value) async { return await _store.set(setting.storeKey, value); } Stream watchSetting(AppSetting setting) { return _store .watch(setting.storeKey) .map((value) => value ?? setting.defaultValue); } }