// // PurchaseVerifyModuleBuilder.swift // OpenVPN // // Created by Zhandos Bolatbekov on 23.08.2021. // Copyright © 2021 Privado LLC. All rights reserved. // import UIKit protocol PurchaseVerifyModuleInput: AnyObject { func checkForUpdate(completion: @escaping PurchaseUpdateCheckCompletion) } protocol PurchaseVerifyModuleOutput: AnyObject { func purchaseVerified(success: Bool) } final class PurchaseVerifyModuleBuilder { static func build(output: PurchaseVerifyModuleOutput) -> (UIViewController, PurchaseVerifyModuleInput) { let interactor = PurchaseInteractor( router: Environment.router, token: Session.shared().currentRecord?.token.value ?? "", customerRepo: CustomerRepo.instance, serenityService: SerenityService.shared, logger: CometLogger.shared, coreDataCoordinator: DatabaseAnswer.commonDB ) let presenter = PurchaseVerifyPresenter(interactor: interactor, output: output, logger: CometLogger.shared) let controller = PurchaseVerifyController(output: presenter) presenter.viewInput = controller return (controller, presenter) } }