private let enumeratedItemIdentifier: NSFileProviderItemIdentifier
private let anchor = NSFileProviderSyncAnchor("an anchor".data(using: .utf8)!)
- let ncAccount: NextcloudAccount
var serverUrl: URL?
- init(enumeratedItemIdentifier: NSFileProviderItemIdentifier, ncAccount: NextcloudAccount) {
+ init(enumeratedItemIdentifier: NSFileProviderItemIdentifier, ncAccount: NextcloudAccount?) {
self.enumeratedItemIdentifier = enumeratedItemIdentifier
- self.ncAccount = ncAccount
if enumeratedItemIdentifier == .rootContainer {
- self.serverUrl = ncAccount.serverUrl
+ self.serverUrl = ncAccount?.davFilesUrl
} else {
let dbManager = NextcloudFilesDatabaseManager.shared
if let itemMetadata = dbManager.fileMetadataFromFileProviderItemIdentifier(enumeratedItemIdentifier),
import FileProvider
class NextcloudAccount: NSObject {
- let webDavUrlSuffix: String = "/remote.php/dav"
+ let webDavFilesUrlSuffix: String = "/remote.php/dav/files/"
let username, password: String?
- let serverUrl, davUrl: URL?
+ let serverUrl, davFilesUrl: URL?
var isNull: Bool {
return username?.isEmpty ?? false || serverUrl?.absoluteString.isEmpty ?? false
return nil
}
- let davUrlUrl = serverUrlUrl.appendingPathComponent(webDavUrlSuffix)
+ let davFilesUrlUrl = serverUrlUrl.appendingPathComponent(webDavFilesUrlSuffix + usernameString)
username = usernameString
password = passwordString
serverUrl = serverUrlUrl
- davUrl = davUrlUrl
+ davFilesUrl = davFilesUrlUrl
super.init()
}