Files

52 lines
1.3 KiB
Swift

//
// CredentialsPresenter.swift
// PrivadoVPN
//
// Created by Zhandos Bolatbekov on 13.10.2021.
// Copyright © 2021 Privado LLC. All rights reserved.
//
import Foundation
protocol CredentialsModuleOutput: AnyObject {
func navigate(to route: Route)
}
final class CredentialsPresenter {
private let output: CredentialsModuleOutput
private let userSettings: UserSettings
private let keychain: KeychainSwift
init(output: CredentialsModuleOutput, userSettings: UserSettings, keychain: KeychainSwift) {
self.output = output
self.userSettings = userSettings
self.keychain = keychain
}
}
extension CredentialsPresenter: CredentialsControllerOutput {
var email: String? {
self.userSettings.newlyCreatedEmail
}
var username: String? {
self.keychain.get(PrivadoConstants.Keychain.username)
}
var password: String? {
self.keychain.get(PrivadoConstants.Keychain.passwd)
}
func didTapTutorial() {
self.userSettings.newlyCreatedEmail = nil
self.output.navigate(to: .servers) // Replace with tutorials when they are ready
}
func didTapSkip() {
self.userSettings.newlyCreatedEmail = nil
self.output.navigate(to: .servers)
}
}