mirror of
				https://github.com/yattee/yattee.git
				synced 2025-10-31 20:52:04 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			27 lines
		
	
	
		
			768 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			768 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
| import Foundation
 | |
| import KeychainAccess
 | |
| 
 | |
| struct KeychainModel {
 | |
|     static var shared = KeychainModel()
 | |
| 
 | |
|     var keychain = Keychain(service: "stream.yattee.app")
 | |
| 
 | |
|     func updateAccountKey(_ account: Account, _ key: String, _ value: String) {
 | |
|         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) {
 | |
|         try? keychain.remove(accountKey(account, "token"))
 | |
|         try? keychain.remove(accountKey(account, "username"))
 | |
|         try? keychain.remove(accountKey(account, "password"))
 | |
|     }
 | |
| }
 | 
