From 2361dfda254d1c4f9a189a90040e42ce3fbe28a0 Mon Sep 17 00:00:00 2001 From: ykyivskyi-gd Date: Wed, 9 Jun 2021 10:18:08 +0300 Subject: [PATCH 1/2] Checking FES availability on InboxViewController; --- .../Controllers/Inbox/InboxViewController.swift | 14 +++++++++++++- .../Services/EnterpriseServerApi.swift | 10 ++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/FlowCrypt/Controllers/Inbox/InboxViewController.swift b/FlowCrypt/Controllers/Inbox/InboxViewController.swift index 82c35a15f..b430b687e 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] email in + guard let email = email else { return } + self?.showToast("FES at \(email) 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, From aa14dedb0d042de8dfbc9c71664aaf5fc29ecf84 Mon Sep 17 00:00:00 2001 From: ykyivskyi-gd Date: Thu, 10 Jun 2021 00:53:17 +0300 Subject: [PATCH 2/2] Fixed getActiveFesUrlForCurrentUser passing parameter name; --- FlowCrypt/Controllers/Inbox/InboxViewController.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/FlowCrypt/Controllers/Inbox/InboxViewController.swift b/FlowCrypt/Controllers/Inbox/InboxViewController.swift index b430b687e..01936fbf4 100644 --- a/FlowCrypt/Controllers/Inbox/InboxViewController.swift +++ b/FlowCrypt/Controllers/Inbox/InboxViewController.swift @@ -248,9 +248,9 @@ extension InboxViewController { private func checkFES() { enterpriseServerApi.getActiveFesUrlForCurrentUser() - .then(on: .main) { [weak self] email in - guard let email = email else { return } - self?.showToast("FES at \(email) not supported on iOS yet") + .then(on: .main) { [weak self] urlString in + guard let urlString = urlString else { return } + self?.showToast("FES at \(urlString) not supported on iOS yet") } } }