omnAPP/lib/features/log/data/log_repository.dart
2025-09-23 16:23:15 +08:00

71 lines
2.4 KiB
Dart
Executable File

// import 'package:fpdart/fpdart.dart';
// import 'package:kaer_with_panels/core/utils/exception_handler.dart';
// import 'package:kaer_with_panels/features/log/data/log_parser.dart';
// import 'package:kaer_with_panels/features/log/data/log_path_resolver.dart';
// import 'package:kaer_with_panels/features/log/model/log_entity.dart';
// import 'package:kaer_with_panels/features/log/model/log_failure.dart';
// import 'package:kaer_with_panels/singbox/service/singbox_service.dart';
// import 'package:kaer_with_panels/utils/custom_loggers.dart';
// abstract interface class LogRepository {
// TaskEither<LogFailure, Unit> init();
// Stream<Either<LogFailure, List<LogEntity>>> watchLogs();
// TaskEither<LogFailure, Unit> clearLogs();
// }
// class LogRepositoryImpl
// with ExceptionHandler, InfraLogger
// implements LogRepository {
// LogRepositoryImpl({
// required this.singbox,
// required this.logPathResolver,
// });
// final SingboxService singbox;
// final LogPathResolver logPathResolver;
// @override
// TaskEither<LogFailure, Unit> init() {
// return exceptionHandler(
// () async {
// if (!await logPathResolver.directory.exists()) {
// await logPathResolver.directory.create(recursive: true);
// }
// if (await logPathResolver.coreFile().exists()) {
// await logPathResolver.coreFile().writeAsString("");
// } else {
// await logPathResolver.coreFile().create(recursive: true);
// }
// if (await logPathResolver.appFile().exists()) {
// await logPathResolver.appFile().writeAsString("");
// } else {
// await logPathResolver.appFile().create(recursive: true);
// }
// return right(unit);
// },
// LogUnexpectedFailure.new,
// );
// }
// @override
// Stream<Either<LogFailure, List<LogEntity>>> watchLogs() {
// return singbox
// .watchLogs(logPathResolver.coreFile().path)
// .map((event) => event.map(LogParser.parseSingbox).toList())
// .handleExceptions(
// (error, stackTrace) {
// loggy.warning("error watching logs", error, stackTrace);
// return LogFailure.unexpected(error, stackTrace);
// },
// );
// }
// @override
// TaskEither<LogFailure, Unit> clearLogs() {
// return exceptionHandler(
// () => singbox.clearLogs().mapLeft(LogFailure.unexpected).run(),
// LogFailure.unexpected,
// );
// }
// }