diff --git a/Sources/NextcloudKit/Models/NKDataFileXML.swift b/Sources/NextcloudKit/Models/NKDataFileXML.swift index 386c994f..b0be505e 100644 --- a/Sources/NextcloudKit/Models/NKDataFileXML.swift +++ b/Sources/NextcloudKit/Models/NKDataFileXML.swift @@ -253,7 +253,7 @@ public class NKDataFileXML: NSObject { return xml["ocs", "data", "apppassword"].text } - func convertDataFile(xmlData: Data, nkSession: NKSession, showHiddenFiles: Bool, includeHiddenFiles: [String]) async -> [NKFile] { + func convertDataFile(xmlData: Data, nkSession: NKSession, rootFileName: String, showHiddenFiles: Bool, includeHiddenFiles: [String]) async -> [NKFile] { var files: [NKFile] = [] let rootFiles = "/" + nkSession.dav + "/files/" guard let baseUrl = self.nkCommonInstance.getHostName(urlString: nkSession.urlBase) else { @@ -299,8 +299,8 @@ public class NKDataFileXML: NSObject { // ServerUrl if href == rootFiles + nkSession.user + "/" { - file.fileName = "." - file.serverUrl = ".." + file.fileName = rootFileName + file.serverUrl = baseUrl + rootFiles + nkSession.user } else { file.serverUrl = baseUrl + file.path.dropLast() } diff --git a/Sources/NextcloudKit/NKCommon.swift b/Sources/NextcloudKit/NKCommon.swift index ae183bcf..5073e2f7 100644 --- a/Sources/NextcloudKit/NKCommon.swift +++ b/Sources/NextcloudKit/NKCommon.swift @@ -53,6 +53,9 @@ public struct NKCommon: Sendable { public var groupIdentifier: String? public let typeIdentifiers: NKTypeIdentifiers = .shared + // Roor fileName folder + public let rootFileName: String = ".__NC_ROOT__" + // Foreground public let identifierSessionDownload: String = "com.nextcloud.nextcloudkit.session.download" public let identifierSessionUpload: String = "com.nextcloud.nextcloudkit.session.upload" diff --git a/Sources/NextcloudKit/NextcloudKit+WebDAV.swift b/Sources/NextcloudKit/NextcloudKit+WebDAV.swift index 64470181..e928a6ab 100644 --- a/Sources/NextcloudKit/NextcloudKit+WebDAV.swift +++ b/Sources/NextcloudKit/NextcloudKit+WebDAV.swift @@ -416,7 +416,7 @@ public extension NextcloudKit { case .success: if let xmlData = response.data { Task { - let files = await NKDataFileXML(nkCommonInstance: self.nkCommonInstance).convertDataFile(xmlData: xmlData, nkSession: nkSession, showHiddenFiles: showHiddenFiles, includeHiddenFiles: includeHiddenFiles) + let files = await NKDataFileXML(nkCommonInstance: self.nkCommonInstance).convertDataFile(xmlData: xmlData, nkSession: nkSession, rootFileName: self.nkCommonInstance.rootFileName, showHiddenFiles: showHiddenFiles, includeHiddenFiles: includeHiddenFiles) options.queue.async { completion(account, files, response, .success) } } } else { @@ -888,7 +888,7 @@ public extension NextcloudKit { case .success: if let xmlData = response.data { Task { - let files = await NKDataFileXML(nkCommonInstance: self.nkCommonInstance).convertDataFile(xmlData: xmlData, nkSession: nkSession, showHiddenFiles: showHiddenFiles, includeHiddenFiles: includeHiddenFiles) + let files = await NKDataFileXML(nkCommonInstance: self.nkCommonInstance).convertDataFile(xmlData: xmlData, nkSession: nkSession, rootFileName: self.nkCommonInstance.rootFileName, showHiddenFiles: showHiddenFiles, includeHiddenFiles: includeHiddenFiles) options.queue.async { completion(account, files, response, .success) } } } else { @@ -1083,7 +1083,7 @@ public extension NextcloudKit { case .success: if let xmlData = response.data { Task { - let files = await NKDataFileXML(nkCommonInstance: self.nkCommonInstance).convertDataFile(xmlData: xmlData, nkSession: nkSession, showHiddenFiles: showHiddenFiles, includeHiddenFiles: includeHiddenFiles) + let files = await NKDataFileXML(nkCommonInstance: self.nkCommonInstance).convertDataFile(xmlData: xmlData, nkSession: nkSession, rootFileName: self.nkCommonInstance.rootFileName, showHiddenFiles: showHiddenFiles, includeHiddenFiles: includeHiddenFiles) options.queue.async { completion(account, files, response, .success) } } } else {