From bfb56660bfc24672ac19adf5adb7dbdc94e33656 Mon Sep 17 00:00:00 2001 From: Brandon Evans Date: Tue, 22 Dec 2020 22:11:42 -0700 Subject: [PATCH] Sign In instead of Login --- Xcodes/Backend/AppState.swift | 14 +++++++------- Xcodes/Backend/Environment.swift | 7 ------- Xcodes/Frontend/SignIn/SignInCredentialsView.swift | 2 +- Xcodes/SettingsView.swift | 2 +- 4 files changed, 9 insertions(+), 16 deletions(-) diff --git a/Xcodes/Backend/AppState.swift b/Xcodes/Backend/AppState.swift index fc5e81d..4ee7fb3 100644 --- a/Xcodes/Backend/AppState.swift +++ b/Xcodes/Backend/AppState.swift @@ -31,7 +31,7 @@ class AppState: ObservableObject { .eraseToAnyPublisher() } - func loginIfNeeded() -> AnyPublisher { + func signInIfNeeded() -> AnyPublisher { validateSession() .catch { (error) -> AnyPublisher in guard @@ -42,15 +42,15 @@ class AppState: ObservableObject { .eraseToAnyPublisher() } - return self.login(username: username, password: password) + return self.signIn(username: username, password: password) .map { _ in Void() } .eraseToAnyPublisher() } .eraseToAnyPublisher() } - func login(username: String, password: String) { - login(username: username, password: password) + func signIn(username: String, password: String) { + signIn(username: username, password: password) .sink( receiveCompletion: { _ in }, receiveValue: { _ in } @@ -58,7 +58,7 @@ class AppState: ObservableObject { .store(in: &cancellables) } - func login(username: String, password: String) -> AnyPublisher { + func signIn(username: String, password: String) -> AnyPublisher { try? Current.keychain.set(password, key: username) Current.defaults.set(username, forKey: "username") @@ -139,7 +139,7 @@ class AppState: ObservableObject { } } - func logOut() { + func signOut() { let username = Current.defaults.string(forKey: "username") Current.defaults.removeObject(forKey: "username") if let username = username { @@ -161,7 +161,7 @@ class AppState: ObservableObject { } public func update() -> AnyPublisher<[Xcode], Never> { - loginIfNeeded() + signInIfNeeded() .flatMap { // Wrap the Promise API in a Publisher for now Deferred { diff --git a/Xcodes/Backend/Environment.swift b/Xcodes/Backend/Environment.swift index d5d1467..166cbab 100644 --- a/Xcodes/Backend/Environment.swift +++ b/Xcodes/Backend/Environment.swift @@ -122,13 +122,6 @@ public struct Network { public func downloadTask(with convertible: URLRequestConvertible, to saveLocation: URL, resumingWith resumeData: Data?) -> (progress: Progress, promise: Promise<(saveLocation: URL, response: URLResponse)>) { return downloadTask(convertible, saveLocation, resumeData) } - -// public var validateSession: () -> Promise = client.validateSession -// -// public var login: (String, String) -> Promise = { client.login(accountName: $0, password: $1) } -// public func login(accountName: String, password: String) -> Promise { -// login(accountName, password) -// } } public struct Logging { diff --git a/Xcodes/Frontend/SignIn/SignInCredentialsView.swift b/Xcodes/Frontend/SignIn/SignInCredentialsView.swift index 05a2a2b..7b7c49c 100644 --- a/Xcodes/Frontend/SignIn/SignInCredentialsView.swift +++ b/Xcodes/Frontend/SignIn/SignInCredentialsView.swift @@ -28,7 +28,7 @@ struct SignInCredentialsView: View { Spacer() Button("Cancel") { isPresented = false } .keyboardShortcut(.cancelAction) - Button("Next") { appState.login(username: username, password: password) } + Button("Next") { appState.signIn(username: username, password: password) } .disabled(username.isEmpty) .keyboardShortcut(.defaultAction) } diff --git a/Xcodes/SettingsView.swift b/Xcodes/SettingsView.swift index 62d7eb2..373561f 100644 --- a/Xcodes/SettingsView.swift +++ b/Xcodes/SettingsView.swift @@ -10,7 +10,7 @@ struct SettingsView: View { VStack(alignment: .leading) { if let username = Current.defaults.string(forKey: "username") { Text(username) - Button("Sign Out", action: appState.logOut) + Button("Sign Out", action: appState.signOut) } else { Button("Sign In", action: { self.appState.presentingSignInAlert = true }) .sheet(isPresented: $appState.presentingSignInAlert) {