1
0
mirror of https://github.com/yattee/yattee.git synced 2024-12-14 22:30:32 +05:30
yattee/Model/KeychainModel.swift

31 lines
905 B
Swift
Raw Normal View History

import Foundation
import KeychainAccess
struct KeychainModel {
2023-04-22 18:38:33 +05:30
static var shared = Self()
var keychain = Keychain(service: "stream.yattee.app")
func updateAccountKey(_ account: Account, _ key: String, _ value: String) {
2023-04-22 20:44:15 +05:30
DispatchQueue.global(qos: .background).async {
keychain[accountKey(account, key)] = value
}
}
func getAccountKey(_ account: Account, _ key: String) -> String? {
keychain[accountKey(account, key)]
}
func accountKey(_ account: Account, _ key: String) -> String {
"\(account.id)-\(key)"
}
func removeAccountKeys(_ account: Account) {
2023-04-22 20:44:15 +05:30
DispatchQueue.global(qos: .background).async {
try? keychain.remove(accountKey(account, "token"))
try? keychain.remove(accountKey(account, "username"))
try? keychain.remove(accountKey(account, "password"))
}
}
}