Skip to content

Commit 2787d63

Browse files
Merge pull request #169 from nextcloud/upload
upload improvements
2 parents 872a8a7 + f5b94fb commit 2787d63

3 files changed

Lines changed: 9 additions & 6 deletions

File tree

Sources/NextcloudKit/Models/NKDataFileXML.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ public class NKDataFileXML: NSObject {
253253
return xml["ocs", "data", "apppassword"].text
254254
}
255255

256-
func convertDataFile(xmlData: Data, nkSession: NKSession, showHiddenFiles: Bool, includeHiddenFiles: [String]) async -> [NKFile] {
256+
func convertDataFile(xmlData: Data, nkSession: NKSession, rootFileName: String, showHiddenFiles: Bool, includeHiddenFiles: [String]) async -> [NKFile] {
257257
var files: [NKFile] = []
258258
let rootFiles = "/" + nkSession.dav + "/files/"
259259
guard let baseUrl = self.nkCommonInstance.getHostName(urlString: nkSession.urlBase) else {
@@ -299,8 +299,8 @@ public class NKDataFileXML: NSObject {
299299

300300
// ServerUrl
301301
if href == rootFiles + nkSession.user + "/" {
302-
file.fileName = "."
303-
file.serverUrl = ".."
302+
file.fileName = rootFileName
303+
file.serverUrl = baseUrl + rootFiles + nkSession.user
304304
} else {
305305
file.serverUrl = baseUrl + file.path.dropLast()
306306
}

Sources/NextcloudKit/NKCommon.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ public struct NKCommon: Sendable {
5353
public var groupIdentifier: String?
5454
public let typeIdentifiers: NKTypeIdentifiers = .shared
5555

56+
// Roor fileName folder
57+
public let rootFileName: String = ".__NC_ROOT__"
58+
5659
// Foreground
5760
public let identifierSessionDownload: String = "com.nextcloud.nextcloudkit.session.download"
5861
public let identifierSessionUpload: String = "com.nextcloud.nextcloudkit.session.upload"

Sources/NextcloudKit/NextcloudKit+WebDAV.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ public extension NextcloudKit {
416416
case .success:
417417
if let xmlData = response.data {
418418
Task {
419-
let files = await NKDataFileXML(nkCommonInstance: self.nkCommonInstance).convertDataFile(xmlData: xmlData, nkSession: nkSession, showHiddenFiles: showHiddenFiles, includeHiddenFiles: includeHiddenFiles)
419+
let files = await NKDataFileXML(nkCommonInstance: self.nkCommonInstance).convertDataFile(xmlData: xmlData, nkSession: nkSession, rootFileName: self.nkCommonInstance.rootFileName, showHiddenFiles: showHiddenFiles, includeHiddenFiles: includeHiddenFiles)
420420
options.queue.async { completion(account, files, response, .success) }
421421
}
422422
} else {
@@ -888,7 +888,7 @@ public extension NextcloudKit {
888888
case .success:
889889
if let xmlData = response.data {
890890
Task {
891-
let files = await NKDataFileXML(nkCommonInstance: self.nkCommonInstance).convertDataFile(xmlData: xmlData, nkSession: nkSession, showHiddenFiles: showHiddenFiles, includeHiddenFiles: includeHiddenFiles)
891+
let files = await NKDataFileXML(nkCommonInstance: self.nkCommonInstance).convertDataFile(xmlData: xmlData, nkSession: nkSession, rootFileName: self.nkCommonInstance.rootFileName, showHiddenFiles: showHiddenFiles, includeHiddenFiles: includeHiddenFiles)
892892
options.queue.async { completion(account, files, response, .success) }
893893
}
894894
} else {
@@ -1083,7 +1083,7 @@ public extension NextcloudKit {
10831083
case .success:
10841084
if let xmlData = response.data {
10851085
Task {
1086-
let files = await NKDataFileXML(nkCommonInstance: self.nkCommonInstance).convertDataFile(xmlData: xmlData, nkSession: nkSession, showHiddenFiles: showHiddenFiles, includeHiddenFiles: includeHiddenFiles)
1086+
let files = await NKDataFileXML(nkCommonInstance: self.nkCommonInstance).convertDataFile(xmlData: xmlData, nkSession: nkSession, rootFileName: self.nkCommonInstance.rootFileName, showHiddenFiles: showHiddenFiles, includeHiddenFiles: includeHiddenFiles)
10871087
options.queue.async { completion(account, files, response, .success) }
10881088
}
10891089
} else {

0 commit comments

Comments
 (0)