|
@@ -2243,194 +2243,6 @@ class NCManageDatabase: NSObject {
|
|
|
return results.count
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- //MARK: -
|
|
|
- //MARK: Table Queue Upload
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- @objc func getQueueUpload(predicate: NSPredicate) -> [tableQueueUpload]? {
|
|
|
-
|
|
|
- guard self.getAccountActive() != nil else {
|
|
|
- return nil
|
|
|
- }
|
|
|
-
|
|
|
- let realm = try! Realm()
|
|
|
- realm.refresh()
|
|
|
-
|
|
|
- let results = realm.objects(tableQueueUpload.self).filter(predicate)
|
|
|
-
|
|
|
- return Array(results.map { tableQueueUpload.init(value:$0) })
|
|
|
- }
|
|
|
-
|
|
|
- @objc func getQueueUpload() -> CCMetadataNet? {
|
|
|
-
|
|
|
- guard let tableAccount = self.getAccountActive() else {
|
|
|
- return nil
|
|
|
- }
|
|
|
-
|
|
|
- let realm = try! Realm()
|
|
|
- realm.refresh()
|
|
|
-
|
|
|
- guard let result = realm.objects(tableQueueUpload.self).filter("account = %@ AND lock == false", tableAccount.account).sorted(byKeyPath: "date", ascending: true).first else {
|
|
|
- return nil
|
|
|
- }
|
|
|
-
|
|
|
- let metadataNet = CCMetadataNet()
|
|
|
-
|
|
|
- metadataNet.account = result.account
|
|
|
- metadataNet.assetLocalIdentifier = result.assetLocalIdentifier
|
|
|
- metadataNet.errorCode = result.errorCode
|
|
|
- metadataNet.directoryID = self.getDirectoryID(result.serverUrl)
|
|
|
- metadataNet.fileName = result.fileName
|
|
|
- metadataNet.fileNameView = result.fileNameView
|
|
|
- metadataNet.path = result.path
|
|
|
- metadataNet.selector = result.selector
|
|
|
- metadataNet.selectorPost = result.selectorPost
|
|
|
- metadataNet.serverUrl = result.serverUrl
|
|
|
- metadataNet.session = result.session
|
|
|
- metadataNet.sessionError = result.sessionError
|
|
|
- metadataNet.sessionTaskIdentifier = result.sessionTaskIdentifier
|
|
|
- metadataNet.size = result.size
|
|
|
- metadataNet.taskStatus = Int(k_taskStatusResume)
|
|
|
-
|
|
|
- return metadataNet
|
|
|
- }
|
|
|
-
|
|
|
- @objc func getQueueUploadInLock() -> [tableQueueUpload]? {
|
|
|
-
|
|
|
- guard let tableAccount = self.getAccountActive() else {
|
|
|
- return nil
|
|
|
- }
|
|
|
-
|
|
|
- let realm = try! Realm()
|
|
|
- realm.refresh()
|
|
|
-
|
|
|
- let results = realm.objects(tableQueueUpload.self).filter("account = %@ AND lock = true", tableAccount.account)
|
|
|
-
|
|
|
- return Array(results.map { tableQueueUpload.init(value:$0) })
|
|
|
- }
|
|
|
-
|
|
|
- @objc func lockQueueUpload(selector: String, session: String?) -> CCMetadataNet? {
|
|
|
-
|
|
|
- guard let tableAccount = self.getAccountActive() else {
|
|
|
- return nil
|
|
|
- }
|
|
|
-
|
|
|
- var result: tableQueueUpload?
|
|
|
-
|
|
|
- let realm = try! Realm()
|
|
|
-
|
|
|
- if session == nil {
|
|
|
- result = realm.objects(tableQueueUpload.self).filter("account = %@ AND selector = %@ AND lock == false", tableAccount.account, selector).sorted(byKeyPath: "date", ascending: true).first
|
|
|
- } else {
|
|
|
- result = realm.objects(tableQueueUpload.self).filter("account = %@ AND selector = %@ AND lock == false AND session == %@", tableAccount.account, selector, session!).sorted(byKeyPath: "date", ascending: true).first
|
|
|
- }
|
|
|
-
|
|
|
- if result == nil {
|
|
|
- return nil
|
|
|
- }
|
|
|
-
|
|
|
- let directoryID = self.getDirectoryID(result!.serverUrl)
|
|
|
-
|
|
|
- realm.beginWrite()
|
|
|
-
|
|
|
- let metadataNet = CCMetadataNet()
|
|
|
-
|
|
|
- metadataNet.account = result!.account
|
|
|
- metadataNet.assetLocalIdentifier = result!.assetLocalIdentifier
|
|
|
- metadataNet.directoryID = directoryID
|
|
|
- metadataNet.errorCode = result!.errorCode
|
|
|
- metadataNet.fileName = result!.fileName
|
|
|
- metadataNet.fileNameView = result!.fileNameView
|
|
|
- metadataNet.path = result!.path
|
|
|
- metadataNet.selector = result!.selector
|
|
|
- metadataNet.selectorPost = result!.selectorPost
|
|
|
- metadataNet.serverUrl = result!.serverUrl
|
|
|
- metadataNet.session = result!.session
|
|
|
- metadataNet.sessionError = result!.sessionError
|
|
|
- metadataNet.sessionTaskIdentifier = result!.sessionTaskIdentifier
|
|
|
- metadataNet.size = result!.size
|
|
|
- metadataNet.taskStatus = Int(k_taskStatusResume)
|
|
|
-
|
|
|
- // Lock
|
|
|
- result!.lock = true
|
|
|
-
|
|
|
- do {
|
|
|
- try realm.commitWrite()
|
|
|
- } catch let error {
|
|
|
- print("[LOG] Could not write to database: ", error)
|
|
|
- return nil
|
|
|
- }
|
|
|
-
|
|
|
- return metadataNet
|
|
|
- }
|
|
|
-
|
|
|
- @objc func unlockQueueUpload(assetLocalIdentifier: String) {
|
|
|
-
|
|
|
- guard let tableAccount = self.getAccountActive() else {
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- let realm = try! Realm()
|
|
|
-
|
|
|
- realm.beginWrite()
|
|
|
-
|
|
|
- guard let result = realm.objects(tableQueueUpload.self).filter("account = %@ AND assetLocalIdentifier = %@", tableAccount.account, assetLocalIdentifier).first else {
|
|
|
- realm.cancelWrite()
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- // UnLock
|
|
|
- result.lock = false
|
|
|
-
|
|
|
- do {
|
|
|
- try realm.commitWrite()
|
|
|
- } catch let error {
|
|
|
- print("[LOG] Could not write to database: ", error)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @objc func deleteQueueUpload(assetLocalIdentifier: String, selector: String) {
|
|
|
-
|
|
|
- guard let tableAccount = self.getAccountActive() else {
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- let realm = try! Realm()
|
|
|
-
|
|
|
- do {
|
|
|
- try realm.write {
|
|
|
-
|
|
|
- if let result = realm.objects(tableQueueUpload.self).filter("account = %@ AND assetLocalIdentifier = %@ AND selector = %@", tableAccount.account, assetLocalIdentifier, selector).first {
|
|
|
- realm.delete(result)
|
|
|
- }
|
|
|
- }
|
|
|
- } catch let error {
|
|
|
- print("[LOG] Could not write to database: ", error)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @objc func deleteQueueUpload(path: String) {
|
|
|
-
|
|
|
- guard let tableAccount = self.getAccountActive() else {
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- let realm = try! Realm()
|
|
|
-
|
|
|
- do {
|
|
|
- try realm.write {
|
|
|
-
|
|
|
- if let result = realm.objects(tableQueueUpload.self).filter("account = %@ AND path = %@", tableAccount.account, path).first {
|
|
|
- realm.delete(result)
|
|
|
- }
|
|
|
- }
|
|
|
- } catch let error {
|
|
|
- print("[LOG] Could not write to database: ", error)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
//MARK: -
|
|
|
//MARK: Table Share
|
|
|
|