Files
2021-10-22 15:58:37 +03:00

37 lines
1.2 KiB
Swift

//
// 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)
}
}