2023-12-22 14:16:24 +03:30
|
|
|
import 'package:hiddify/core/directories/directories_provider.dart';
|
2023-11-28 18:24:31 +03:30
|
|
|
import 'package:hiddify/features/log/data/log_path_resolver.dart';
|
|
|
|
|
import 'package:hiddify/features/log/data/log_repository.dart';
|
2023-12-01 12:56:24 +03:30
|
|
|
import 'package:hiddify/singbox/service/singbox_service_provider.dart';
|
2023-11-28 18:24:31 +03:30
|
|
|
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(
|
2023-12-22 14:16:24 +03:30
|
|
|
ref.watch(appDirectoriesProvider).requireValue.workingDir,
|
2023-11-28 18:24:31 +03:30
|
|
|
);
|
|
|
|
|
}
|