52 lines
1.3 KiB
Swift
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)
|
|
}
|
|
}
|