import 'package:fpdart/fpdart.dart'; import '../../../../core/error/failure.dart'; import '../../../../core/error/failure.dart' as core_error; import '../../../auth/domain/errors/auth_failure.dart'; import '../../data/models/device_add_path_point_model.dart'; import '../../data/models/device_work_area_param_model.dart'; import '../repositories/path_repository.dart'; abstract class GeneratePathUseCase { Future>> execute({ required ReferencePoint reference, required int heading, required OuterBoundary outer, required Map holes, required int workType, }); } class GeneratePathUseCaseImpl implements GeneratePathUseCase { final PathRepository _repository; GeneratePathUseCaseImpl(this._repository); @override Future>> execute({ required ReferencePoint reference, required int heading, required OuterBoundary outer, required Map holes, required int workType, }) async { try { final result = await _repository.generatePath(reference: reference, heading: heading, outer: outer, holes: holes, workType: workType); return Right(result); // 成功时返回 Right } catch (e) { return Left(core_error.ServerFailure(e.toString())); // 失败时返回 Left } } }