8000 TF-3484, 3524, 3717 StallWart interoperability by dab246 · Pull Request #3529 · linagora/tmail-flutter · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

TF-3484, 3524, 3717 StallWart interoperability #3529

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/features/base/base_controller.dart
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@ abstract class BaseController extends GetxController
if (PlatformInfo.isMobile) {
showLogoutConfirmDialog(
context: context,
userAddress: session?.getOwnEmailAddress() ?? '',
userAddress: session?.getOwnEmailAddressOrEmpty() ?? '',
onConfirmAction: () => _handleLogoutAction(session, accountId),
);
} else {
Expand Down
8 changes: 4 additions & 4 deletions lib/features/composer/presentation/composer_controller.dart
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ class ComposerController extends BaseController
int? get savedEmailDraftHash => _savedEmailDraftHash;

GetEmailContentInteractor get getEmailContentInteractor => _getEmailContentInteractor;

GetServerSettingInteractor get getServerSettingInteractor => _getServerSettingInteractor;

GetAllIdentitiesInteractor get getAllIdentitiesInteractor => _getAllIdentitiesInteractor;
Expand Down Expand Up @@ -622,7 +622,7 @@ class ComposerController extends BaseController
mailboxDashBoardController.accountId.value,
);
}

Future<void> setupComposer() async {
_isEmailBodyLoaded = false;
final arguments = PlatformInfo.isWeb ? composerArgs : Get.arguments;
Expand Down Expand Up @@ -687,7 +687,7 @@ class ComposerController extends BaseController
required EmailActionType actionType,
String? listPost,
}) {
final senderEmailAddress = mailboxDashBoardController.sessionCurrent?.getOwnEmailAddress();
final senderEmailAddress = mailboxDashBoardController.sessionCurrent?.getOwnEmailAddressOrEmpty();
final isSender = presentationEmail.from
.asList()
.any((element) => element.emailAddress.isNotEmpty && element.emailAddress == senderEmailAddress);
Expand Down Expand Up @@ -1286,7 +1286,7 @@ class ComposerController extends BaseController
log('ComposerController::handleClickSaveAsTemplateButton: SESSION or ACCOUNT_ID or ARGUMENTS is NULL');
return;
}

MailboxId? templateMailboxId = mailboxDashBoardController
.getMailboxIdByRole(PresentationMailbox.roleTemplates);
templateMailboxId ??= mailboxDashBoardController.mapMailboxById
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,20 @@ extension CreateEmailRequestExtension on CreateEmailRequest {
Set<EmailAddress> createSenders() {
if (identity?.email?.isNotEmpty == true) {
return { identity!.toEmailAddress() };
} else if (session.getOwnEmailAddressOrEmpty().isNotEmpty) {
return { EmailAddress(null, session.getOwnEmailAddressOrEmpty()) };
} else {
return { EmailAddress(null, session.getOwnEmailAddress()) };
return {};
}
}

String createMdnEmailAddress() {
if (emailActionType == EmailActionType.editDraft && fromSender?.isNotEmpty == true) {
return fromSender!.first.emailAddress;
} else if (session.getOwnEmailAddressOrEmpty().isNotEmpty) {
return session.getOwnEmailAddressOrEmpty();
} else {
return session.getOwnEmailAddress();
return '';
}
}

Expand All @@ -48,7 +52,9 @@ extension CreateEmailRequestExtension on CreateEmailRequest {

return identity?.replyTo?.isNotEmpty == true
? identity!.replyTo!
: {EmailAddress(null, session.getOwnEmailAddress())};
: session.getOwnEmailAddressOrEmpty().isNotEmpty
? {EmailAddress(null, session.getOwnEmailAddressOrEmpty( 6D47 ))}
: null;
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1623,7 +1623,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
return;
}

final receiverEmailAddress = _getReceiverEmailAddress(currentEmail!) ?? session!.getOwnEmailAddress();
final receiverEmailAddress = _getReceiverEmailAddress(currentEmail!) ?? session!.getOwnEmailAddressOrEmpty();
log('SingleEmailController::_handleSendReceiptToSenderAction():receiverEmailAddress: $receiverEmailAddress');
final mdnToSender = _generateMDN(context, currentEmail!, receiverEmailAddress);
final sendReceiptRequest = SendReceiptToSenderRequest(
Expand Down Expand Up @@ -2568,13 +2568,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
}
}

String getOwnEmailAddress() {
try {
return session?.getOwnEmailAddress() ?? '';
} catch (e) {
return '';
}
}
String getOwnEmailAddress() => session?.getOwnEmailAddressOrEmpty() ?? '';

void onHtmlContentClippedAction(bool isClipped) {
log('SingleEmailController::onHtmlContentClippedAction:isClipped = $isClipped');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ extension SessionExtensions on Session {

String get internalDomain {
try {
return getOwnEmailAddress().split('@').last;
return getOwnEmailAddressOrEmpty().split('@').last;
} catch (e) {
logError('SessionExtensions::internalDomain: Exception: $e');
return '';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -358,9 +358,12 @@ class IdentityCreatorController extends BaseController with DragDropFileMixin im
.toSet()
.toList();

if(session?.getOwnEmailAddress() != null
&& !listEmailAddressDefault.any((emailAddress) => emailAddress.email == session?.getOwnEmailAddress())) {
listEmailAddressDefault.add(EmailAddress(null, session?.getOwnEmailAddress()));
if(session?.getOwnEmailAddressOrEmpty().isNotEmpty == true
&& !listEmailAddressDefault.any((emailAddress) => emailAddress.email == session?.getOwnEmailAddressOrEmpty())) {
listEmailAddressDefault.add(EmailAddress(
null,
session?.getOwnEmailAddressOrEmpty(),
));
}
listEmailAddressOfReplyTo.add(noneEmailAddress);
listEmailAddressOfReplyTo.addAll(listEmailAddressDefault);
Expand All @@ -381,8 +384,11 @@ class IdentityCreatorController extends BaseController with DragDropFileMixin im
void _setDefaultEmailAddressList() {
listEmailAddressOfReplyTo.add(noneEmailAddress);

if (session?.getOwnEmailAddress() != null) {
final userEmailAddress = EmailAddress(null, session?.getOwnEmailAddress());
if (session?.getOwnEmailAddressOrEmpty().isNotEmpty == true) {
final userEmailAddress = EmailAddress(
null,
session?.getOwnEmailAddressOrEmpty(),
);
listEmailAddressDefault.add(userEmailAddress);
listEmailAddressOfReplyTo.addAll(listEmailAddressDefault);
}
Expand Down
14 changes: 14 additions & 0 deletions lib/features/login/domain/model/base_url_oidc_response.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

import 'package:model/oidc/response/oidc_link_dto.dart';
import 'package:model/oidc/response/oidc_response.dart';

class BaseUrlOidcResponse extends OIDCResponse {

BaseUrlOidcResponse(Uri baseUri) : super(
'',
[
OIDCLinkDto(baseUri, baseUri)
],
);
}

Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,9 @@ class GetOIDCConfigurationSuccess extends UIState {
class GetOIDCConfigurationFailure extends FeatureFailure {

GetOIDCConfigurationFailure(dynamic exception) : super(exception: exception);
}

class GetOIDCConfigurationFromBaseUrlFailure extends FeatureFailure {

GetOIDCConfigurationFromBaseUrlFailure(dynamic exception) : super(exception: exception);
}
19 changes: 0 additions & 19 deletions lib/features/login/domain/state/get_oidc_is_available_state.dart

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import 'package:core/presentation/state/success.dart';
import 'package:core/utils/app_logger.dart';
import 'package:dartz/dartz.dart';
import 'package:model/oidc/response/oidc_response.dart';
import 'package:tmail_ui_user/features/login/domain/model/base_url_oidc_response.dart';
import 'package:tmail_ui_user/features/login/domain/repository/authentication_oidc_repository.dart';
import 'package:tmail_ui_user/features/login/domain/state/get_oidc_configuration_state.dart';

Expand All @@ -18,8 +19,12 @@ class GetOIDCConfigurationInteractor {
await _oidcRepository.persistOidcConfiguration(oidcConfiguration);
yield Right<Failure, Success>(GetOIDCConfigurationSuccess(oidcConfiguration));
} catch (e) {
log('GetOIDCConfigurationInteractor::execute(): ERROR: $e');
yield Left<Failure, Success>(GetOIDCConfigurationFailure(e));
logError('$runtimeType::execute():oidcResponse = ${oidcResponse.runtimeType} | Exception = $e');
if (oidcResponse is BaseUrlOidcResponse) {
yield Left<Failure, Success>(GetOIDCConfigurationFromBaseUrlFailure(e));
} else {
yield Left<Failure, Success>(GetOIDCConfigurationFailure(e));
}
}
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

import 'package:tmail_ui_user/features/login/domain/model/base_url_oidc_response.dart';
import 'package:tmail_ui_user/features/login/presentation/login_controller.dart';

extension HandleOpenidConfiguration on LoginController {

void tryGetOIDCConfigurationFromBaseUrl(Uri baseUri) {
getOIDCConfiguration(BaseUrlOidcResponse(baseUri));
}

void handleGetOIDCConfigurationFromBaseUrlFailure() {
handleOIDCIsNotAvailable(featureFailure);
}
}
5 changes: 0 additions & 5 deletions lib/features/login/presentation/login_bindings.dart
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import 'package:tmail_ui_user/features/login/domain/usecases/get_all_recent_logi
import 'package:tmail_ui_user/features/login/domain/usecases/get_all_recent_login_username_on_mobile_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_authentication_info_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_oidc_configuration_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_oidc_is_available_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_stored_oidc_configuration_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_token_oidc_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/save_login_url_on_mobile_interactor.dart';
Expand All @@ -42,7 +41,6 @@ class LoginBindings extends BaseBindings {
Get.create(() => LoginController(
Get.find<AuthenticationInteractor>(),
Get.find<CheckOIDCIsAvailableInteractor>(),
Get.find<GetOIDCIsAvailableInteractor>(),
Get.find<GetOIDCConfigurationInteractor>(),
Get.find<GetTokenOIDCInteractor>(),
Get.find<AuthenticateOidcOnBrowserInteractor>(),
Expand Down Expand Up @@ -86,9 +84,6 @@ class LoginBindings extends BaseBindings {
Get.lazyPut(() => CheckOIDCIsAvailableInteractor(
Get.find<AuthenticationOIDCRepository>(),
));
Get.lazyPut(() => GetOIDCIsAvailableInteractor(
Get.find<AuthenticationOIDCRepository>(),
));
Get.lazyPut(() => GetOIDCConfigurationInteractor(
Get.find<AuthenticationOIDCRepository>(),
));
Expand Down
Loading
Loading
0