TF-1606 Convert apiUrl to qualified url

(cherry picked from commit f446fd598dfcdc0dfd041419a8a5f709606a4605)
This commit is contained in:
dab246
2023-03-20 17:08:41 +07:00
committed by Dat Vu
parent 29219eb14e
commit 009ab2b889
3 changed files with 19 additions and 6 deletions
@@ -1,4 +1,5 @@
import 'package:core/data/network/config/dynamic_url_interceptors.dart'; import 'package:core/data/network/config/dynamic_url_interceptors.dart';
import 'package:core/presentation/extensions/uri_extension.dart';
import 'package:core/presentation/state/failure.dart'; import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart'; import 'package:core/presentation/state/success.dart';
import 'package:core/utils/app_logger.dart'; import 'package:core/utils/app_logger.dart';
@@ -109,7 +110,11 @@ abstract class ReloadableController extends BaseController {
} }
void _handleGetSessionSuccess(GetSessionSuccess success) { void _handleGetSessionSuccess(GetSessionSuccess success) {
final apiUrl = success.session.apiUrl.toString(); final jmapUrl = _dynamicUrlInterceptors.jmapUrl;
final apiUrl = jmapUrl != null
? success.session.apiUrl.toQualifiedUrl(baseUrl: Uri.parse(jmapUrl)).toString()
: success.session.apiUrl.toString();
log('ReloadableController::_handleGetSessionSuccess():apiUrl: $apiUrl');
if (apiUrl.isNotEmpty) { if (apiUrl.isNotEmpty) {
_dynamicUrlInterceptors.changeBaseUrl(apiUrl); _dynamicUrlInterceptors.changeBaseUrl(apiUrl);
updateAuthenticationAccount(success.session, success.session.accounts.keys.first); updateAuthenticationAccount(success.session, success.session.accounts.keys.first);
@@ -146,10 +151,13 @@ abstract class ReloadableController extends BaseController {
} }
} }
void updateAuthenticationAccount(Session? session, AccountId? accountId) { void updateAuthenticationAccount(Session session, AccountId accountId) {
final apiUrl = session?.apiUrl.toString() ?? ''; final jmapUrl = _dynamicUrlInterceptors.jmapUrl;
final apiUrl = jmapUrl != null
? session.apiUrl.toQualifiedUrl(baseUrl: Uri.parse(jmapUrl)).toString()
: session.apiUrl.toString();
log('ReloadableController::updateAuthenticationAccount():apiUrl: $apiUrl'); log('ReloadableController::updateAuthenticationAccount():apiUrl: $apiUrl');
if (accountId != null && apiUrl.isNotEmpty) { if (apiUrl.isNotEmpty) {
consumeState(_updateAuthenticationAccountInteractor.execute(accountId, apiUrl)); consumeState(_updateAuthenticationAccountInteractor.execute(accountId, apiUrl));
} }
} }
@@ -425,7 +425,7 @@ class MailboxDashBoardController extends ReloadableController {
sessionCurrent = arguments; sessionCurrent = arguments;
accountId.value = sessionCurrent?.accounts.keys.first; accountId.value = sessionCurrent?.accounts.keys.first;
_getUserProfile(); _getUserProfile();
updateAuthenticationAccount(sessionCurrent, accountId.value); updateAuthenticationAccount(sessionCurrent!, accountId.value!);
injectAutoCompleteBindings(sessionCurrent, accountId.value); injectAutoCompleteBindings(sessionCurrent, accountId.value);
injectRuleFilterBindings(sessionCurrent, accountId.value); injectRuleFilterBindings(sessionCurrent, accountId.value);
injectVacationBindings(sessionCurrent, accountId.value); injectVacationBindings(sessionCurrent, accountId.value);
@@ -1,4 +1,5 @@
import 'package:core/data/network/config/dynamic_url_interceptors.dart'; import 'package:core/data/network/config/dynamic_url_interceptors.dart';
import 'package:core/presentation/extensions/uri_extension.dart';
import 'package:core/presentation/state/failure.dart'; import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/utils/app_toast.dart'; import 'package:core/presentation/utils/app_toast.dart';
import 'package:core/utils/app_logger.dart'; import 'package:core/utils/app_logger.dart';
@@ -106,7 +107,11 @@ class SessionController extends ReloadableController {
} }
void _goToMailboxDashBoard(GetSessionSuccess success) { void _goToMailboxDashBoard(GetSessionSuccess success) {
final apiUrl = success.session.apiUrl.toString(); final jmapUrl = _dynamicUrlInterceptors.jmapUrl;
final apiUrl = jmapUrl != null
? success.session.apiUrl.toQualifiedUrl(baseUrl: Uri.parse(jmapUrl)).toString()
: success.session.apiUrl.toString();
log('SessionController::_goToMailboxDashBoard():apiUrl: $apiUrl');
if (apiUrl.isNotEmpty) { if (apiUrl.isNotEmpty) {
_dynamicUrlInterceptors.changeBaseUrl(apiUrl); _dynamicUrlInterceptors.changeBaseUrl(apiUrl);
pushAndPop( pushAndPop(