diff --git a/FlowCrypt/Controllers/Inbox/InboxViewController.swift b/FlowCrypt/Controllers/Inbox/InboxViewController.swift index 82c35a15f..01936fbf4 100644 --- a/FlowCrypt/Controllers/Inbox/InboxViewController.swift +++ b/FlowCrypt/Controllers/Inbox/InboxViewController.swift @@ -51,6 +51,7 @@ final class InboxViewController: ASDKViewController { private let messageProvider: MessagesListProvider private let decorator: InboxViewDecoratorType + private let enterpriseServerApi: EnterpriseServerApiType private let refreshControl = UIRefreshControl() private let tableNode: ASTableNode private lazy var composeButton = ComposeButtonNode { [weak self] in @@ -63,11 +64,13 @@ final class InboxViewController: ASDKViewController { init( _ viewModel: InboxViewModel, messageProvider: MessagesListProvider = MailProvider.shared.messageListProvider, - decorator: InboxViewDecoratorType = InboxViewDecorator() + decorator: InboxViewDecoratorType = InboxViewDecorator(), + enterpriseServerApi: EnterpriseServerApiType = EnterpriseServerApi() ) { self.viewModel = viewModel self.messageProvider = messageProvider self.decorator = decorator + self.enterpriseServerApi = enterpriseServerApi tableNode = TableNode() super.init(node: ASDisplayNode()) @@ -88,6 +91,7 @@ final class InboxViewController: ASDKViewController { setupUI() setupNavigationBar() fetchAndRenderEmails(nil) + checkFES() } override func viewWillAppear(_ animated: Bool) { @@ -241,6 +245,14 @@ extension InboxViewController { showAlert(error: error, message: "message_failed_load".localized) } } + + private func checkFES() { + enterpriseServerApi.getActiveFesUrlForCurrentUser() + .then(on: .main) { [weak self] urlString in + guard let urlString = urlString else { return } + self?.showToast("FES at \(urlString) not supported on iOS yet") + } + } } // MARK: - Action handlers diff --git a/FlowCrypt/Functionality/Services/EnterpriseServerApi.swift b/FlowCrypt/Functionality/Services/EnterpriseServerApi.swift index 3b33f2377..861660669 100644 --- a/FlowCrypt/Functionality/Services/EnterpriseServerApi.swift +++ b/FlowCrypt/Functionality/Services/EnterpriseServerApi.swift @@ -10,6 +10,7 @@ import Promises protocol EnterpriseServerApiType { func getActiveFesUrl(for email: String) -> Promise + func getActiveFesUrlForCurrentUser() -> Promise } class EnterpriseServerApi: EnterpriseServerApiType { @@ -21,6 +22,15 @@ class EnterpriseServerApi: EnterpriseServerApiType { static let serviceNeededValue = "enterprise-server" } + func getActiveFesUrlForCurrentUser() -> Promise { + guard let email = DataService.shared.currentUser?.email else { + return Promise { resolve, _ in + resolve(nil) + } + } + return getActiveFesUrl(for: email) + } + func getActiveFesUrl(for email: String) -> Promise { Promise { resolve, _ in guard let userDomain = email.recipientDomain,