34 lines
1.0 KiB
Dart
34 lines
1.0 KiB
Dart
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,
|
|
});
|
|
}
|