|
@@ -27,22 +27,16 @@ extension FileProviderExtension {
|
|
|
|
|
|
override func createDirectory(withName directoryName: String, inParentItemIdentifier parentItemIdentifier: NSFileProviderItemIdentifier, completionHandler: @escaping (NSFileProviderItem?, Error?) -> Void) {
|
|
|
|
|
|
- // Check account
|
|
|
- if providerData.setupActiveAccount() == false {
|
|
|
- completionHandler(nil, NSFileProviderError(.notAuthenticated))
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- guard let tableDirectory = providerData.getTableDirectoryFromParentItemIdentifier(parentItemIdentifier) else {
|
|
|
+ guard let tableDirectory = fileProviderUtility.sharedInstance.getTableDirectoryFromParentItemIdentifier(parentItemIdentifier, account: fileProviderData.sharedInstance.account, homeServerUrl: fileProviderData.sharedInstance.homeServerUrl) else {
|
|
|
completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
|
|
|
|
let serverUrl = tableDirectory.serverUrl
|
|
|
|
|
|
- OCNetworking.sharedManager().createFolder(withAccount: providerData.account, serverUrl: serverUrl, fileName: directoryName, completion: { (account, fileID, date, message, errorCode) in
|
|
|
+ OCNetworking.sharedManager().createFolder(withAccount: fileProviderData.sharedInstance.account, serverUrl: serverUrl, fileName: directoryName, completion: { (account, fileID, date, message, errorCode) in
|
|
|
|
|
|
- if errorCode == 0 && account == self.providerData.account {
|
|
|
+ if errorCode == 0 && account == fileProviderData.sharedInstance.account {
|
|
|
|
|
|
let metadata = tableMetadata()
|
|
|
|
|
@@ -66,17 +60,13 @@ extension FileProviderExtension {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- let parentItemIdentifier = self.providerData.getParentItemIdentifier(metadata: metadataDB)
|
|
|
+ let parentItemIdentifier = fileProviderUtility.sharedInstance.getParentItemIdentifier(metadata: metadataDB, homeServerUrl: fileProviderData.sharedInstance.homeServerUrl)
|
|
|
if parentItemIdentifier != nil {
|
|
|
|
|
|
- let item = FileProviderItem(metadata: metadataDB, parentItemIdentifier: parentItemIdentifier!, providerData: self.providerData)
|
|
|
-
|
|
|
- self.providerData.queueTradeSafe.sync(flags: .barrier) {
|
|
|
- self.providerData.fileProviderSignalUpdateContainerItem[item.itemIdentifier] = item
|
|
|
- self.providerData.fileProviderSignalUpdateWorkingSetItem[item.itemIdentifier] = item
|
|
|
- }
|
|
|
-
|
|
|
- self.providerData.signalEnumerator(for: [item.parentItemIdentifier, .workingSet])
|
|
|
+ let item = FileProviderItem(metadata: metadataDB, parentItemIdentifier: parentItemIdentifier!)
|
|
|
+ fileProviderData.sharedInstance.fileProviderSignalUpdateContainerItem[item.itemIdentifier] = item
|
|
|
+ fileProviderData.sharedInstance.fileProviderSignalUpdateWorkingSetItem[item.itemIdentifier] = item
|
|
|
+ fileProviderData.sharedInstance.signalEnumerator(for: [item.parentItemIdentifier, .workingSet])
|
|
|
|
|
|
completionHandler(item, nil)
|
|
|
|
|
@@ -91,18 +81,12 @@ extension FileProviderExtension {
|
|
|
|
|
|
override func deleteItem(withIdentifier itemIdentifier: NSFileProviderItemIdentifier, completionHandler: @escaping (Error?) -> Void) {
|
|
|
|
|
|
- // Check account
|
|
|
- if providerData.setupActiveAccount() == false {
|
|
|
- completionHandler(NSFileProviderError(.notAuthenticated))
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- guard let metadata = self.providerData.getTableMetadataFromItemIdentifier(itemIdentifier) else {
|
|
|
+ guard let metadata = fileProviderUtility.sharedInstance.getTableMetadataFromItemIdentifier(itemIdentifier) else {
|
|
|
completionHandler(NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- guard let parentItemIdentifier = self.providerData.getParentItemIdentifier(metadata: metadata) else {
|
|
|
+ guard let parentItemIdentifier = fileProviderUtility.sharedInstance.getParentItemIdentifier(metadata: metadata, homeServerUrl: fileProviderData.sharedInstance.homeServerUrl) else {
|
|
|
completionHandler( NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
@@ -110,30 +94,21 @@ extension FileProviderExtension {
|
|
|
deleteFile(withIdentifier: itemIdentifier, parentItemIdentifier: parentItemIdentifier, metadata: metadata)
|
|
|
|
|
|
// return immediately
|
|
|
- providerData.queueTradeSafe.sync(flags: .barrier) {
|
|
|
- providerData.fileProviderSignalDeleteContainerItemIdentifier[itemIdentifier] = itemIdentifier
|
|
|
- providerData.fileProviderSignalDeleteWorkingSetItemIdentifier[itemIdentifier] = itemIdentifier
|
|
|
- }
|
|
|
-
|
|
|
- self.providerData.signalEnumerator(for: [parentItemIdentifier, .workingSet])
|
|
|
+ fileProviderData.sharedInstance.fileProviderSignalDeleteContainerItemIdentifier[itemIdentifier] = itemIdentifier
|
|
|
+ fileProviderData.sharedInstance.fileProviderSignalDeleteWorkingSetItemIdentifier[itemIdentifier] = itemIdentifier
|
|
|
+ fileProviderData.sharedInstance.signalEnumerator(for: [parentItemIdentifier, .workingSet])
|
|
|
|
|
|
completionHandler(nil)
|
|
|
}
|
|
|
|
|
|
override func reparentItem(withIdentifier itemIdentifier: NSFileProviderItemIdentifier, toParentItemWithIdentifier parentItemIdentifier: NSFileProviderItemIdentifier, newName: String?, completionHandler: @escaping (NSFileProviderItem?, Error?) -> Void) {
|
|
|
|
|
|
- // Check account
|
|
|
- if providerData.setupActiveAccount() == false {
|
|
|
- completionHandler(nil, NSFileProviderError(.notAuthenticated))
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
guard let itemFrom = try? item(for: itemIdentifier) else {
|
|
|
completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- guard let metadataFrom = providerData.getTableMetadataFromItemIdentifier(itemIdentifier) else {
|
|
|
+ guard let metadataFrom = fileProviderUtility.sharedInstance.getTableMetadataFromItemIdentifier(itemIdentifier) else {
|
|
|
completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
@@ -142,16 +117,16 @@ extension FileProviderExtension {
|
|
|
let serverUrlFrom = metadataFrom.serverUrl
|
|
|
let fileNameFrom = serverUrlFrom + "/" + itemFrom.filename
|
|
|
|
|
|
- guard let tableDirectoryTo = providerData.getTableDirectoryFromParentItemIdentifier(parentItemIdentifier) else {
|
|
|
+ guard let tableDirectoryTo = fileProviderUtility.sharedInstance.getTableDirectoryFromParentItemIdentifier(parentItemIdentifier, account: fileProviderData.sharedInstance.account, homeServerUrl: fileProviderData.sharedInstance.homeServerUrl) else {
|
|
|
completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
|
let serverUrlTo = tableDirectoryTo.serverUrl
|
|
|
let fileNameTo = serverUrlTo + "/" + itemFrom.filename
|
|
|
|
|
|
- OCNetworking.sharedManager().moveFileOrFolder(withAccount: providerData.account, fileName: fileNameFrom, fileNameTo: fileNameTo, completion: { (account, message, errorCode) in
|
|
|
+ OCNetworking.sharedManager().moveFileOrFolder(withAccount: metadataFrom.account, fileName: fileNameFrom, fileNameTo: fileNameTo, completion: { (account, message, errorCode) in
|
|
|
|
|
|
- if errorCode == 0 && account == self.providerData.account {
|
|
|
+ if errorCode == 0 && account == metadataFrom.account {
|
|
|
|
|
|
if metadataFrom.directory {
|
|
|
NCManageDatabase.sharedInstance.deleteDirectoryAndSubDirectory(serverUrl: serverUrlFrom, account: account!)
|
|
@@ -165,14 +140,10 @@ extension FileProviderExtension {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier, providerData: self.providerData)
|
|
|
-
|
|
|
- self.providerData.queueTradeSafe.sync(flags: .barrier) {
|
|
|
- self.providerData.fileProviderSignalUpdateContainerItem[itemIdentifier] = item
|
|
|
- self.providerData.fileProviderSignalUpdateWorkingSetItem[itemIdentifier] = item
|
|
|
- }
|
|
|
-
|
|
|
- self.providerData.signalEnumerator(for: [parentItemIdentifier, .workingSet])
|
|
|
+ let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier)
|
|
|
+ fileProviderData.sharedInstance.fileProviderSignalUpdateContainerItem[itemIdentifier] = item
|
|
|
+ fileProviderData.sharedInstance.fileProviderSignalUpdateWorkingSetItem[itemIdentifier] = item
|
|
|
+ fileProviderData.sharedInstance.signalEnumerator(for: [parentItemIdentifier, .workingSet])
|
|
|
|
|
|
completionHandler(item, nil)
|
|
|
|
|
@@ -184,18 +155,12 @@ extension FileProviderExtension {
|
|
|
|
|
|
override func renameItem(withIdentifier itemIdentifier: NSFileProviderItemIdentifier, toName itemName: String, completionHandler: @escaping (NSFileProviderItem?, Error?) -> Void) {
|
|
|
|
|
|
- // Check account
|
|
|
- if providerData.setupActiveAccount() == false {
|
|
|
- completionHandler(nil, NSFileProviderError(.notAuthenticated))
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- guard let metadata = providerData.getTableMetadataFromItemIdentifier(itemIdentifier) else {
|
|
|
+ guard let metadata = fileProviderUtility.sharedInstance.getTableMetadataFromItemIdentifier(itemIdentifier) else {
|
|
|
completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- guard let directoryTable = NCManageDatabase.sharedInstance.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", providerData.account, metadata.serverUrl)) else {
|
|
|
+ guard let directoryTable = NCManageDatabase.sharedInstance.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", metadata.account, metadata.serverUrl)) else {
|
|
|
completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
@@ -204,9 +169,9 @@ extension FileProviderExtension {
|
|
|
let fileNamePathFrom = metadata.serverUrl + "/" + fileNameFrom
|
|
|
let fileNamePathTo = metadata.serverUrl + "/" + itemName
|
|
|
|
|
|
- OCNetworking.sharedManager().moveFileOrFolder(withAccount: providerData.account, fileName: fileNamePathFrom, fileNameTo: fileNamePathTo, completion: { (account, message, errorCode) in
|
|
|
+ OCNetworking.sharedManager().moveFileOrFolder(withAccount: metadata.account, fileName: fileNamePathFrom, fileNameTo: fileNamePathTo, completion: { (account, message, errorCode) in
|
|
|
|
|
|
- if errorCode == 0 && account == self.providerData.account {
|
|
|
+ if errorCode == 0 && account == metadata.account {
|
|
|
|
|
|
// Rename metadata
|
|
|
guard let metadata = NCManageDatabase.sharedInstance.renameMetadata(fileNameTo: itemName, fileID: metadata.fileID) else {
|
|
@@ -220,28 +185,24 @@ extension FileProviderExtension {
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- let itemIdentifier = self.providerData.getItemIdentifier(metadata: metadata)
|
|
|
+ let itemIdentifier = fileProviderUtility.sharedInstance.getItemIdentifier(metadata: metadata)
|
|
|
|
|
|
// rename file
|
|
|
- _ = self.providerData.moveFile(CCUtility.getDirectoryProviderStorageFileID(itemIdentifier.rawValue, fileNameView: fileNameFrom), toPath: CCUtility.getDirectoryProviderStorageFileID(itemIdentifier.rawValue, fileNameView: itemName))
|
|
|
- _ = self.providerData.moveFile(CCUtility.getDirectoryProviderStorageIconFileID(itemIdentifier.rawValue, fileNameView: fileNameFrom), toPath: CCUtility.getDirectoryProviderStorageIconFileID(itemIdentifier.rawValue, fileNameView: itemName))
|
|
|
+ _ = fileProviderUtility.sharedInstance.moveFile(CCUtility.getDirectoryProviderStorageFileID(itemIdentifier.rawValue, fileNameView: fileNameFrom), toPath: CCUtility.getDirectoryProviderStorageFileID(itemIdentifier.rawValue, fileNameView: itemName))
|
|
|
+ _ = fileProviderUtility.sharedInstance.moveFile(CCUtility.getDirectoryProviderStorageIconFileID(itemIdentifier.rawValue, fileNameView: fileNameFrom), toPath: CCUtility.getDirectoryProviderStorageIconFileID(itemIdentifier.rawValue, fileNameView: itemName))
|
|
|
|
|
|
NCManageDatabase.sharedInstance.setLocalFile(fileID: metadata.fileID, date: nil, exifDate: nil, exifLatitude: nil, exifLongitude: nil, fileName: itemName, etag: nil)
|
|
|
}
|
|
|
|
|
|
- guard let parentItemIdentifier = self.providerData.getParentItemIdentifier(metadata: metadata) else {
|
|
|
+ guard let parentItemIdentifier = fileProviderUtility.sharedInstance.getParentItemIdentifier(metadata: metadata, homeServerUrl: fileProviderData.sharedInstance.homeServerUrl) else {
|
|
|
completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier, providerData: self.providerData)
|
|
|
-
|
|
|
- self.providerData.queueTradeSafe.sync(flags: .barrier) {
|
|
|
- self.providerData.fileProviderSignalUpdateContainerItem[item.itemIdentifier] = item
|
|
|
- self.providerData.fileProviderSignalUpdateWorkingSetItem[item.itemIdentifier] = item
|
|
|
- }
|
|
|
-
|
|
|
- self.providerData.signalEnumerator(for: [item.parentItemIdentifier, .workingSet])
|
|
|
+ let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier)
|
|
|
+ fileProviderData.sharedInstance.fileProviderSignalUpdateContainerItem[item.itemIdentifier] = item
|
|
|
+ fileProviderData.sharedInstance.fileProviderSignalUpdateWorkingSetItem[item.itemIdentifier] = item
|
|
|
+ fileProviderData.sharedInstance.signalEnumerator(for: [item.parentItemIdentifier, .workingSet])
|
|
|
|
|
|
completionHandler(item, nil)
|
|
|
} else {
|
|
@@ -252,41 +213,31 @@ extension FileProviderExtension {
|
|
|
|
|
|
override func setFavoriteRank(_ favoriteRank: NSNumber?, forItemIdentifier itemIdentifier: NSFileProviderItemIdentifier, completionHandler: @escaping (NSFileProviderItem?, Error?) -> Void) {
|
|
|
|
|
|
- // Check account
|
|
|
- if providerData.setupActiveAccount() == false {
|
|
|
- completionHandler(nil, NSFileProviderError(.notAuthenticated))
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- guard let metadata = providerData.getTableMetadataFromItemIdentifier(itemIdentifier) else {
|
|
|
+ guard let metadata = fileProviderUtility.sharedInstance.getTableMetadataFromItemIdentifier(itemIdentifier) else {
|
|
|
completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- guard let parentItemIdentifier = providerData.getParentItemIdentifier(metadata: metadata) else {
|
|
|
+ guard let parentItemIdentifier = fileProviderUtility.sharedInstance.getParentItemIdentifier(metadata: metadata, homeServerUrl: fileProviderData.sharedInstance.homeServerUrl) else {
|
|
|
completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
|
|
|
|
var favorite = false
|
|
|
if favoriteRank == nil {
|
|
|
- providerData.listFavoriteIdentifierRank.removeValue(forKey: itemIdentifier.rawValue)
|
|
|
+ fileProviderData.sharedInstance.listFavoriteIdentifierRank.removeValue(forKey: itemIdentifier.rawValue)
|
|
|
} else {
|
|
|
- let rank = providerData.listFavoriteIdentifierRank[itemIdentifier.rawValue]
|
|
|
+ let rank = fileProviderData.sharedInstance.listFavoriteIdentifierRank[itemIdentifier.rawValue]
|
|
|
if rank == nil {
|
|
|
- providerData.listFavoriteIdentifierRank[itemIdentifier.rawValue] = favoriteRank
|
|
|
+ fileProviderData.sharedInstance.listFavoriteIdentifierRank[itemIdentifier.rawValue] = favoriteRank
|
|
|
}
|
|
|
favorite = true
|
|
|
}
|
|
|
|
|
|
- let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier, providerData: providerData)
|
|
|
-
|
|
|
- providerData.queueTradeSafe.sync(flags: .barrier) {
|
|
|
- providerData.fileProviderSignalUpdateContainerItem[item.itemIdentifier] = item
|
|
|
- providerData.fileProviderSignalUpdateWorkingSetItem[item.itemIdentifier] = item
|
|
|
- }
|
|
|
-
|
|
|
- providerData.signalEnumerator(for: [item.parentItemIdentifier, .workingSet])
|
|
|
+ let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier)
|
|
|
+ fileProviderData.sharedInstance.fileProviderSignalUpdateContainerItem[item.itemIdentifier] = item
|
|
|
+ fileProviderData.sharedInstance.fileProviderSignalUpdateWorkingSetItem[item.itemIdentifier] = item
|
|
|
+ fileProviderData.sharedInstance.signalEnumerator(for: [item.parentItemIdentifier, .workingSet])
|
|
|
|
|
|
completionHandler(item, nil)
|
|
|
|
|
@@ -297,44 +248,40 @@ extension FileProviderExtension {
|
|
|
|
|
|
override func setTagData(_ tagData: Data?, forItemIdentifier itemIdentifier: NSFileProviderItemIdentifier, completionHandler: @escaping (NSFileProviderItem?, Error?) -> Void) {
|
|
|
|
|
|
- guard let metadata = providerData.getTableMetadataFromItemIdentifier(itemIdentifier) else {
|
|
|
+ guard let metadata = fileProviderUtility.sharedInstance.getTableMetadataFromItemIdentifier(itemIdentifier) else {
|
|
|
completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// Add, Remove (nil)
|
|
|
- NCManageDatabase.sharedInstance.addTag(metadata.fileID, tagIOS: tagData, account: providerData.account)
|
|
|
+ NCManageDatabase.sharedInstance.addTag(metadata.fileID, tagIOS: tagData, account: metadata.account)
|
|
|
|
|
|
- guard let parentItemIdentifier = providerData.getParentItemIdentifier(metadata: metadata) else {
|
|
|
+ guard let parentItemIdentifier = fileProviderUtility.sharedInstance.getParentItemIdentifier(metadata: metadata, homeServerUrl: fileProviderData.sharedInstance.homeServerUrl) else {
|
|
|
completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier, providerData: providerData)
|
|
|
-
|
|
|
- providerData.queueTradeSafe.sync(flags: .barrier) {
|
|
|
- providerData.fileProviderSignalUpdateContainerItem[item.itemIdentifier] = item
|
|
|
- providerData.fileProviderSignalUpdateWorkingSetItem[item.itemIdentifier] = item
|
|
|
- }
|
|
|
-
|
|
|
- providerData.signalEnumerator(for: [item.parentItemIdentifier, .workingSet])
|
|
|
+ let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier)
|
|
|
+ fileProviderData.sharedInstance.fileProviderSignalUpdateContainerItem[item.itemIdentifier] = item
|
|
|
+ fileProviderData.sharedInstance.fileProviderSignalUpdateWorkingSetItem[item.itemIdentifier] = item
|
|
|
+ fileProviderData.sharedInstance.signalEnumerator(for: [item.parentItemIdentifier, .workingSet])
|
|
|
|
|
|
completionHandler(item, nil)
|
|
|
}
|
|
|
|
|
|
override func setLastUsedDate(_ lastUsedDate: Date?, forItemIdentifier itemIdentifier: NSFileProviderItemIdentifier, completionHandler: @escaping (NSFileProviderItem?, Error?) -> Void) {
|
|
|
|
|
|
- guard let metadata = providerData.getTableMetadataFromItemIdentifier(itemIdentifier) else {
|
|
|
+ guard let metadata = fileProviderUtility.sharedInstance.getTableMetadataFromItemIdentifier(itemIdentifier) else {
|
|
|
completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- guard let parentItemIdentifier = providerData.getParentItemIdentifier(metadata: metadata) else {
|
|
|
+ guard let parentItemIdentifier = fileProviderUtility.sharedInstance.getParentItemIdentifier(metadata: metadata, homeServerUrl: fileProviderData.sharedInstance.homeServerUrl) else {
|
|
|
completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier, providerData: providerData)
|
|
|
+ let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier)
|
|
|
item.lastUsedDate = lastUsedDate
|
|
|
|
|
|
completionHandler(item, nil)
|
|
@@ -350,7 +297,7 @@ extension FileProviderExtension {
|
|
|
let metadata = tableMetadata()
|
|
|
var error: NSError?
|
|
|
|
|
|
- guard let tableDirectory = self.providerData.getTableDirectoryFromParentItemIdentifier(parentItemIdentifier) else {
|
|
|
+ guard let tableDirectory = fileProviderUtility.sharedInstance.getTableDirectoryFromParentItemIdentifier(parentItemIdentifier, account: fileProviderData.sharedInstance.account, homeServerUrl: fileProviderData.sharedInstance.homeServerUrl) else {
|
|
|
completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
return
|
|
|
}
|
|
@@ -364,7 +311,7 @@ extension FileProviderExtension {
|
|
|
|
|
|
// typefile directory ? (NOT PERMITTED)
|
|
|
do {
|
|
|
- let attributes = try self.providerData.fileManager.attributesOfItem(atPath: fileURL.path)
|
|
|
+ let attributes = try fileProviderUtility.sharedInstance.fileManager.attributesOfItem(atPath: fileURL.path)
|
|
|
size = attributes[FileAttributeKey.size] as! Double
|
|
|
let typeFile = attributes[FileAttributeKey.type] as! FileAttributeType
|
|
|
if typeFile == FileAttributeType.typeDirectory {
|
|
@@ -376,11 +323,11 @@ extension FileProviderExtension {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- let fileName = NCUtility.sharedInstance.createFileName(fileURL.lastPathComponent, serverUrl: tableDirectory.serverUrl, account: self.providerData.account)
|
|
|
- let fileID = CCUtility.createMetadataID(fromAccount: self.providerData.account, serverUrl: tableDirectory.serverUrl, fileNameView: fileName, directory: false)!
|
|
|
+ let fileName = NCUtility.sharedInstance.createFileName(fileURL.lastPathComponent, serverUrl: tableDirectory.serverUrl, account: fileProviderData.sharedInstance.account)
|
|
|
+ let fileID = CCUtility.createMetadataID(fromAccount: fileProviderData.sharedInstance.account, serverUrl: tableDirectory.serverUrl, fileNameView: fileName, directory: false)!
|
|
|
|
|
|
self.fileCoordinator.coordinate(readingItemAt: fileURL, options: .withoutChanges, error: &error) { (url) in
|
|
|
- _ = self.providerData.moveFile(url.path, toPath: CCUtility.getDirectoryProviderStorageFileID(fileID, fileNameView: fileName))
|
|
|
+ _ = fileProviderUtility.sharedInstance.moveFile(url.path, toPath: CCUtility.getDirectoryProviderStorageFileID(fileID, fileNameView: fileName))
|
|
|
}
|
|
|
|
|
|
fileURL.stopAccessingSecurityScopedResource()
|
|
@@ -388,7 +335,7 @@ extension FileProviderExtension {
|
|
|
// ---------------------------------------------------------------------------------
|
|
|
|
|
|
// Metadata TEMP
|
|
|
- metadata.account = self.providerData.account
|
|
|
+ metadata.account = fileProviderData.sharedInstance.account
|
|
|
metadata.date = NSDate()
|
|
|
metadata.directory = false
|
|
|
metadata.etag = ""
|
|
@@ -413,7 +360,7 @@ extension FileProviderExtension {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- let item = FileProviderItem(metadata: metadataDB, parentItemIdentifier: parentItemIdentifier, providerData: self.providerData)
|
|
|
+ let item = FileProviderItem(metadata: metadataDB, parentItemIdentifier: parentItemIdentifier)
|
|
|
|
|
|
completionHandler(item, nil)
|
|
|
|