Files
flutterApp/lib/features/remote_control/domain/usecase/remote_control_usecase.dart

34 lines
1.0 KiB
Dart
Raw Normal View History

import 'package:fpdart/fpdart.dart';
import'package:maibu_satabot_v2/core/domain/usecases/base_usecase.dart';
import 'package:maibu_satabot_v2/core/error/failure.dart';
import 'package:maibu_satabot_v2/features/remote_control/domain/repositories/remote_control_repository.dart';
class RequestControlPermissionUseCase implements BaseUseCase<bool, RequestControlPermissionParams> {
final RemoteControlRepository remoteControlRepository;
RequestControlPermissionUseCase(this.remoteControlRepository);
@override
Future<Either<Failure, bool>> call(RequestControlPermissionParams params) async {
try {
final result = await remoteControlRepository.requestControlPermission(
params.deviceName,
params.deviceId,
);
return Right(result);
} catch (e) {
return Left(Failure('请求控制权限失败:$e'));
}
}
}
class RequestControlPermissionParams {
final String deviceName;
final String deviceId;
const RequestControlPermissionParams({
required this.deviceName,
required this.deviceId,
});
}