Introduce a user session manager (#6295)

This commit is contained in:
Mauro
2026-10-09 14:07:39 +02:00
committed by GitHub
parent 65bab49f39
commit 60db364436
26 changed files with 594 additions and 66 deletions
@@ -52,11 +52,9 @@ class UserSessionStore: UserSessionStoreProtocol {
keychainController.removeAllRestorationTokens()
}
func restoreUserSession() async -> Result<UserSessionProtocol, UserSessionStoreError> {
let availableCredentials = keychainController.restorationTokens()
guard let credentials = availableCredentials.first else {
return .failure(.missingCredentials)
func restoreUserSession(userID: String) async -> Result<UserSessionProtocol, UserSessionStoreError> {
guard let credentials = keychainController.restorationTokens().first(where: { $0.userID == userID }) else {
return .failure(.unknownAccount)
}
let userSettings = appSettings.userSettings(for: credentials.userID)