Files
workavia-mail-front/lib/features/email_previewer/email_previewer_controller.dart
T
2025-02-05 03:00:08 -08:00

41 lines
1.4 KiB
Dart

import 'package:dartz/dartz.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/base_controller.dart';
import 'package:tmail_ui_user/features/email/domain/exceptions/email_exceptions.dart';
import 'package:tmail_ui_user/features/email/domain/state/get_preview_email_content_shared_state.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/get_preview_email_eml_content_shared_interactor.dart';
import 'package:tmail_ui_user/main/routes/route_utils.dart';
class EmailPreviewerController extends BaseController {
final GetPreviewEmailEMLContentSharedInteractor _getPreviewEmailEMLContentSharedInteractor;
EmailPreviewerController(
this._getPreviewEmailEMLContentSharedInteractor,
);
@override
void onReady() {
super.onReady();
_getPreviewEmailEMLContentShared();
}
void _getPreviewEmailEMLContentShared() {
final parameters = Get.parameters;
if (parameters.isEmpty) {
consumeState(Stream.value(Left(GetPreviewEmailEMLContentSharedFailure(
NotFoundBlobIdException([])))));
return;
}
final keyStored = parameters[RouteUtils.paramID];
if (keyStored?.trim().isNotEmpty == true) {
consumeState(_getPreviewEmailEMLContentSharedInteractor.execute(keyStored!));
} else {
consumeState(Stream.value(Left(GetPreviewEmailEMLContentSharedFailure(
NotFoundBlobIdException([])))));
}
}
}