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
parent 7b826d5ef2
commit ad2a2c40d8

View file

@ -119,11 +119,28 @@ extension FileProviderExtension: NSFileProviderServicing, ChangeNotificationInte
) )
ncKit.setup(delegate: changeObserver) ncKit.setup(delegate: changeObserver)
Task {
switch (await ncKit.tryAuthenticationAttempt()) {
case .authenticationError:
Logger.fileProviderExtension.info( 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"
) )
ncAccount = nil
signalEnumeratorAfterAccountSetup() 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() { @objc func removeAccountConfig() {