@@ -9,12 +9,12 @@ import 'package:flutter/cupertino.dart';
99import 'package:flutter_smart_dialog/flutter_smart_dialog.dart' ;
1010import 'package:jmap_dart_client/jmap/core/session/session.dart' ;
1111import 'package:model/oidc/oidc_configuration.dart' ;
12- import 'package:model/oidc/token_oidc.dart' ;
1312import 'package:tmail_ui_user/features/base/reloadable/reloadable_controller.dart' ;
1413import 'package:tmail_ui_user/features/home/domain/state/auto_sign_in_via_deep_link_state.dart' ;
1514import 'package:tmail_ui_user/features/home/domain/state/get_session_state.dart' ;
1615import 'package:tmail_ui_user/features/login/data/network/config/oidc_constant.dart' ;
1716import 'package:tmail_ui_user/features/login/domain/exceptions/authentication_exception.dart' ;
17+ import 'package:tmail_ui_user/features/login/domain/usecases/remove_company_server_login_info_interactor.dart' ;
1818import 'package:tmail_ui_user/features/login/presentation/login_form_type.dart' ;
1919import 'package:tmail_ui_user/features/login/presentation/model/login_arguments.dart' ;
2020import 'package:tmail_ui_user/features/starting_page/domain/state/sign_in_twake_workplace_state.dart' ;
@@ -36,6 +36,8 @@ class TwakeWelcomeController extends ReloadableController {
3636 final SignInTwakeWorkplaceInteractor _signInTwakeWorkplaceInteractor;
3737 final SignUpTwakeWorkplaceInteractor _signUpTwakeWorkplaceInteractor;
3838
39+ RemoveCompanyServerLoginInfoInteractor ? _removeCompanyServerLoginInfoInteractor;
40+
3941 DeepLinksManager ? _deepLinksManager;
4042 StreamSubscription <DeepLinkData ?>? _deepLinkDataStreamSubscription;
4143
@@ -81,7 +83,10 @@ class TwakeWelcomeController extends ReloadableController {
8183 }
8284
8385 void _handleAutoSignInViaDeepLinkSuccess (AutoSignInViaDeepLinkSuccess success) {
84- _synchronizeTokenAndGetSession (
86+ if (PlatformInfo .isMobile) {
87+ removeCompanyServerLoginInfo ();
88+ }
89+ synchronizeTokenAndGetSession (
8590 baseUri: success.baseUri,
8691 tokenOIDC: success.tokenOIDC,
8792 oidcConfiguration: success.oidcConfiguration,
@@ -140,16 +145,30 @@ class TwakeWelcomeController extends ReloadableController {
140145 ));
141146 }
142147
148+ void removeCompanyServerLoginInfo () {
149+ _removeCompanyServerLoginInfoInteractor =
150+ getBinding <RemoveCompanyServerLoginInfoInteractor >();
151+ if (_removeCompanyServerLoginInfoInteractor != null ) {
152+ consumeState (_removeCompanyServerLoginInfoInteractor! .execute ());
153+ }
154+ }
155+
143156 @override
144157 void handleSuccessViewState (Success success) {
145158 if (success is SignInTwakeWorkplaceSuccess ) {
146- _synchronizeTokenAndGetSession (
159+ if (PlatformInfo .isMobile) {
160+ removeCompanyServerLoginInfo ();
161+ }
162+ synchronizeTokenAndGetSession (
147163 baseUri: success.baseUri,
148164 tokenOIDC: success.tokenOIDC,
149165 oidcConfiguration: success.oidcConfiguration,
150166 );
151167 } else if (success is SignUpTwakeWorkplaceSuccess ) {
152- _synchronizeTokenAndGetSession (
168+ if (PlatformInfo .isMobile) {
169+ removeCompanyServerLoginInfo ();
170+ }
171+ synchronizeTokenAndGetSession (
153172 baseUri: success.baseUri,
154173 tokenOIDC: success.tokenOIDC,
155174 oidcConfiguration: success.oidcConfiguration,
@@ -192,20 +211,6 @@ class TwakeWelcomeController extends ReloadableController {
192211 super .handleUrgentExceptionOnMobile (failure: failure, exception: exception);
193212 }
194213
195- void _synchronizeTokenAndGetSession ({
196- required Uri baseUri,
197- required TokenOIDC tokenOIDC,
198- required OIDCConfiguration oidcConfiguration,
199- }) {
200- setDataToInterceptors (
201- baseUrl: baseUri.toString (),
202- tokenOIDC: tokenOIDC,
203- oidcConfiguration: oidcConfiguration,
204- );
205-
206- getSessionAction ();
207- }
208-
209214 void _handleSignInTwakeWorkplaceFailure (SignInTwakeWorkplaceFailure failure) {
210215 SmartDialog .dismiss ();
211216
@@ -222,6 +227,7 @@ class TwakeWelcomeController extends ReloadableController {
222227 void onClose () {
223228 if (PlatformInfo .isMobile) {
224229 _deepLinkDataStreamSubscription? .cancel ();
230+ _removeCompanyServerLoginInfoInteractor = null ;
225231 }
226232 super .onClose ();
227233 }
0 commit comments