37 lines
1.2 KiB
Swift
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)
|
|
}
|
|
}
|