Files
umbrix/lib/features/log/data/log_data_providers.dart
problematicconsumer ed614988a2 Refactor
2023-12-01 12:56:24 +03:30

25 lines
845 B
Dart

import 'package:hiddify/features/log/data/log_path_resolver.dart';
import 'package:hiddify/features/log/data/log_repository.dart';
import 'package:hiddify/services/service_providers.dart';
import 'package:hiddify/singbox/service/singbox_service_provider.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'log_data_providers.g.dart';
@Riverpod(keepAlive: true)
Future<LogRepository> logRepository(LogRepositoryRef ref) async {
final repo = LogRepositoryImpl(
singbox: ref.watch(singboxServiceProvider),
logPathResolver: ref.watch(logPathResolverProvider),
);
await repo.init().getOrElse((l) => throw l).run();
return repo;
}
@Riverpod(keepAlive: true)
LogPathResolver logPathResolver(LogPathResolverRef ref) {
return LogPathResolver(
ref.watch(filesEditorServiceProvider).dirs.workingDir,
);
}