Try to authenticate new account details before setting them

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
Claudio Cambra 2024-09-30 13:46:47 +08:00 committed by backportbot[bot]
parent 5c34390478
commit e7e958ed82

View file

@ -119,11 +119,28 @@ extension FileProviderExtension: NSFileProviderServicing, ChangeNotificationInte
)
ncKit.setup(delegate: changeObserver)
Task {
switch (await ncKit.tryAuthenticationAttempt()) {
case .authenticationError:
Logger.fileProviderExtension.info(
"Nextcloud account set up in File Provider extension for user: \(user, privacy: .public) at server: \(serverUrl, privacy: .public)"
"\(user, privacy: .public) authentication failed due to bad creds, stopping"
)
signalEnumeratorAfterAccountSetup()
ncAccount = nil
ncKit.setup(user: "", userId: "", password: "", urlBase: "") // In case ongoing ops
case .connectionError:
Logger.fileProviderExtension.info(
"\(user, privacy: .public) authentication try failed due to internet connectivity issues."
)
case .success:
Logger.fileProviderExtension.info(
"""
Authenticated! Nextcloud account set up in File Provider extension.
User: \(user, privacy: .public) at server: \(serverUrl, privacy: .public)
"""
)
Task { @MainActor in signalEnumeratorAfterAccountSetup() }
}
}
}
@objc func removeAccountConfig() {