TF-3416 Implement preview EML attachment
This commit is contained in:
+24
@@ -0,0 +1,24 @@
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/state/get_preview_email_content_shared_state.dart';
|
||||
|
||||
class GetPreviewEmailEMLContentSharedInteractor {
|
||||
final EmailRepository _emailRepository;
|
||||
|
||||
const GetPreviewEmailEMLContentSharedInteractor(this._emailRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute(String keyStored) async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(GettingPreviewEmailEMLContentShared());
|
||||
|
||||
final previewEMLContent = await _emailRepository
|
||||
.getPreviewEmailEMLContentShared(keyStored);
|
||||
|
||||
yield Right<Failure, Success>(GetPreviewEmailEMLContentSharedSuccess(previewEMLContent));
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(GetPreviewEmailEMLContentSharedFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,10 @@ class ParseEmailByBlobIdInteractor {
|
||||
{blobId},
|
||||
);
|
||||
|
||||
yield Right<Failure, Success>(ParseEmailByBlobIdSuccess(emailParsed.first));
|
||||
yield Right<Failure, Success>(ParseEmailByBlobIdSuccess(
|
||||
emailParsed.first,
|
||||
blobId,
|
||||
));
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(ParseEmailByBlobIdFailure(e));
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/model/preview_email_eml_request.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/state/preview_email_from_eml_file_state.dart';
|
||||
|
||||
class PreviewEmailFromEmlFileInteractor {
|
||||
final EmailRepository _emailRepository;
|
||||
|
||||
const PreviewEmailFromEmlFileInteractor(this._emailRepository);
|
||||
|
||||
Stream<Either<Failure, Success>> execute(
|
||||
PreviewEmailEMLRequest previewEmailEMLRequest,
|
||||
) async* {
|
||||
try {
|
||||
yield Right<Failure, Success>(PreviewingEmailFromEmlFile());
|
||||
|
||||
final previewEMLContent = await _emailRepository
|
||||
.generatePreviewEmailEMLContent(previewEmailEMLRequest);
|
||||
|
||||
final keyStored = previewEmailEMLRequest.keyStored;
|
||||
|
||||
await _emailRepository.sharePreviewEmailEMLContent(keyStored, previewEMLContent);
|
||||
|
||||
yield Right<Failure, Success>(PreviewEmailFromEmlFileSuccess(keyStored));
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(PreviewEmailFromEmlFileFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user