Signed-off-by: marinofaggiana <ios@nextcloud.com>
This commit is contained in:
marinofaggiana 2022-05-25 17:14:12 +02:00
Родитель 6804e8a4d4
Коммит ad12a6f5f7
15 изменённых файлов: 39 добавлений и 24 удалений

Просмотреть файл

@ -347,7 +347,7 @@ class FileProviderExtension: NSFileProviderExtension, NCNetworkingDelegate {
fileURL.stopAccessingSecurityScopedResource()
let metadata = NCManageDatabase.shared.createMetadata(account: fileProviderData.shared.account, user: fileProviderData.shared.user, userId: fileProviderData.shared.userId, fileName: fileName, fileNameView: fileName, ocId: ocIdTemp, serverUrl: tableDirectory.serverUrl, urlBase: fileProviderData.shared.accountUrlBase, url: "", contentType: "", livePhoto: false)
let metadata = NCManageDatabase.shared.createMetadata(account: fileProviderData.shared.account, user: fileProviderData.shared.user, userId: fileProviderData.shared.userId, fileName: fileName, fileNameView: fileName, ocId: ocIdTemp, serverUrl: tableDirectory.serverUrl, urlBase: fileProviderData.shared.accountUrlBase, url: "", contentType: "")
metadata.session = NCNetworking.shared.sessionIdentifierBackgroundExtension
metadata.size = size
metadata.status = NCGlobal.shared.metadataStatusUploading

Просмотреть файл

@ -3284,7 +3284,7 @@
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/nextcloud/ios-communication-library/";
requirement = {
branch = develop;
branch = unifiedSearch;
kind = branch;
};
};

Просмотреть файл

@ -303,8 +303,7 @@ extension NCShareExtension {
fileName: fileName, fileNameView: fileName,
ocId: ocId,
serverUrl: serverUrl, urlBase: activeAccount.urlBase, url: "",
contentType: "",
livePhoto: false)
contentType: "")
metadata.session = NCCommunicationCommon.shared.sessionIdentifierUpload
metadata.sessionSelector = NCGlobal.shared.selectorUploadFileShareExtension
metadata.size = NCUtilityFileSystem.shared.getFileSize(filePath: toPath)

Просмотреть файл

@ -386,6 +386,7 @@ class tableMetadata: Object, NCUserBaseUrl {
@objc dynamic var iconName = ""
@objc dynamic var livePhoto: Bool = false
@objc dynamic var mountType = ""
@objc dynamic var name = ""
@objc dynamic var note = ""
@objc dynamic var ocId = ""
@objc dynamic var ownerId = ""
@ -413,6 +414,7 @@ class tableMetadata: Object, NCUserBaseUrl {
let shareType = List<Int>()
@objc dynamic var size: Int64 = 0
@objc dynamic var status: Int = 0
@objc dynamic var subline: String?
@objc dynamic var trashbinFileName = ""
@objc dynamic var trashbinOriginalLocation = ""
@objc dynamic var trashbinDeletionTime = NSDate()

Просмотреть файл

@ -60,6 +60,7 @@ extension NCManageDatabase {
metadata.iconName = file.iconName
metadata.livePhoto = file.livePhoto
metadata.mountType = file.mountType
metadata.name = file.name
metadata.note = file.note
metadata.ocId = file.ocId
metadata.ownerId = file.ownerId
@ -163,30 +164,38 @@ extension NCManageDatabase {
completion(metadataFolder, metadataFolders, metadatas)
}
@objc func createMetadata(account: String, user: String, userId: String, fileName: String, fileNameView: String, ocId: String, serverUrl: String, urlBase: String, url: String, contentType: String, livePhoto: Bool) -> tableMetadata {
@objc func createMetadata(account: String, user: String, userId: String, fileName: String, fileNameView: String, ocId: String, serverUrl: String, urlBase: String, url: String, contentType: String, isLivePhoto: Bool = false, isUrl: Bool = false, name: String = "Files", subline: String? = nil) -> tableMetadata {
let metadata = tableMetadata()
let resultInternalType = NCCommunicationCommon.shared.getInternalType(fileName: fileName, mimeType: contentType, directory: false)
if isUrl {
metadata.contentType = "text/uri-list"
metadata.iconName = NCCommunicationCommon.typeIconFile.url.rawValue
metadata.classFile = NCCommunicationCommon.typeClassFile.url.rawValue
} else {
let (mimeType, classFile, iconName, _, _, _) = NCCommunicationCommon.shared.getInternalType(fileName: fileName, mimeType: contentType, directory: false)
metadata.contentType = mimeType
metadata.iconName = iconName
metadata.classFile = classFile
}
let fileName = fileName.trimmingCharacters(in: .whitespacesAndNewlines)
metadata.account = account
metadata.chunk = false
metadata.contentType = resultInternalType.mimeType
metadata.creationDate = Date() as NSDate
metadata.date = Date() as NSDate
metadata.hasPreview = true
metadata.iconName = resultInternalType.iconName
metadata.etag = ocId
metadata.ext = (fileName as NSString).pathExtension.lowercased()
metadata.fileName = fileName
metadata.fileNameView = fileName
metadata.fileNameWithoutExt = (fileName as NSString).deletingPathExtension
metadata.livePhoto = livePhoto
metadata.livePhoto = isLivePhoto
metadata.name = name
metadata.ocId = ocId
metadata.permissions = "RGDNVW"
metadata.serverUrl = serverUrl
metadata.classFile = resultInternalType.classFile
metadata.subline = subline
metadata.uploadDate = Date() as NSDate
metadata.url = url
metadata.urlBase = urlBase

Просмотреть файл

@ -410,7 +410,7 @@ class NCCreateFormUploadAssets: XLFormViewController, NCSelectDelegate {
continue
}
let metadataForUpload = NCManageDatabase.shared.createMetadata(account: self.appDelegate.account, user: self.appDelegate.user, userId: self.appDelegate.userId, fileName: fileName, fileNameView: fileName, ocId: NSUUID().uuidString, serverUrl: serverUrl, urlBase: self.appDelegate.urlBase, url: "", contentType: "", livePhoto: livePhoto)
let metadataForUpload = NCManageDatabase.shared.createMetadata(account: self.appDelegate.account, user: self.appDelegate.user, userId: self.appDelegate.userId, fileName: fileName, fileNameView: fileName, ocId: NSUUID().uuidString, serverUrl: serverUrl, urlBase: self.appDelegate.urlBase, url: "", contentType: "", isLivePhoto: livePhoto)
metadataForUpload.assetLocalIdentifier = asset.localIdentifier
metadataForUpload.session = self.session
@ -427,7 +427,7 @@ class NCCreateFormUploadAssets: XLFormViewController, NCSelectDelegate {
CCUtility.extractLivePhotoAsset(asset, filePath: filePath) { url in
if let url = url {
let fileSize = NCUtilityFileSystem.shared.getFileSize(filePath: url.path)
let metadataMOVForUpload = NCManageDatabase.shared.createMetadata(account: self.appDelegate.account, user: self.appDelegate.user, userId: self.appDelegate.userId, fileName: fileNameMove, fileNameView: fileNameMove, ocId: ocId, serverUrl: serverUrl, urlBase: self.appDelegate.urlBase, url: "", contentType: "", livePhoto: livePhoto)
let metadataMOVForUpload = NCManageDatabase.shared.createMetadata(account: self.appDelegate.account, user: self.appDelegate.user, userId: self.appDelegate.userId, fileName: fileNameMove, fileNameView: fileNameMove, ocId: ocId, serverUrl: serverUrl, urlBase: self.appDelegate.urlBase, url: "", contentType: "", isLivePhoto: livePhoto)
metadataForUpload.livePhoto = true
metadataMOVForUpload.livePhoto = true

Просмотреть файл

@ -284,7 +284,7 @@ import XLForm
if NCManageDatabase.shared.getMetadataConflict(account: appDelegate.account, serverUrl: serverUrl, fileName: String(describing: fileNameForm)) != nil {
let metadataForUpload = NCManageDatabase.shared.createMetadata(account: appDelegate.account, user: appDelegate.user, userId: appDelegate.userId, fileName: String(describing: fileNameForm), fileNameView: String(describing: fileNameForm), ocId: "", serverUrl: serverUrl, urlBase: appDelegate.urlBase, url: "", contentType: "", livePhoto: false)
let metadataForUpload = NCManageDatabase.shared.createMetadata(account: appDelegate.account, user: appDelegate.user, userId: appDelegate.userId, fileName: String(describing: fileNameForm), fileNameView: String(describing: fileNameForm), ocId: "", serverUrl: serverUrl, urlBase: appDelegate.urlBase, url: "", contentType: "")
guard let conflictViewController = UIStoryboard(name: "NCCreateFormUploadConflict", bundle: nil).instantiateInitialViewController() as? NCCreateFormUploadConflict else { return }
conflictViewController.textLabelDetailNewFile = NSLocalizedString("_now_", comment: "")
@ -340,7 +340,7 @@ import XLForm
let results = NCCommunicationCommon.shared.getInternalType(fileName: fileName, mimeType: "", directory: false)
self.dismiss(animated: true, completion: {
let metadata = NCManageDatabase.shared.createMetadata(account: self.appDelegate.account, user: self.appDelegate.user, userId: self.appDelegate.userId, fileName: fileName, fileNameView: fileName, ocId: CCUtility.createRandomString(12), serverUrl: self.serverUrl, urlBase: self.appDelegate.urlBase, url: url ?? "", contentType: results.mimeType, livePhoto: false)
let metadata = NCManageDatabase.shared.createMetadata(account: self.appDelegate.account, user: self.appDelegate.user, userId: self.appDelegate.userId, fileName: fileName, fileNameView: fileName, ocId: CCUtility.createRandomString(12), serverUrl: self.serverUrl, urlBase: self.appDelegate.urlBase, url: url ?? "", contentType: results.mimeType)
if let viewController = self.appDelegate.activeViewController {
NCViewer.shared.view(viewController: viewController, metadata: metadata, metadatas: [metadata], imageIcon: nil)
@ -365,7 +365,7 @@ import XLForm
self.dismiss(animated: true, completion: {
let createFileName = (fileName as NSString).deletingPathExtension + "." + self.fileNameExtension
let metadata = NCManageDatabase.shared.createMetadata(account: self.appDelegate.account, user: self.appDelegate.user, userId: self.appDelegate.userId, fileName: createFileName, fileNameView: createFileName, ocId: CCUtility.createRandomString(12), serverUrl: self.serverUrl, urlBase: self.appDelegate.urlBase, url: url!, contentType: "", livePhoto: false)
let metadata = NCManageDatabase.shared.createMetadata(account: self.appDelegate.account, user: self.appDelegate.user, userId: self.appDelegate.userId, fileName: createFileName, fileNameView: createFileName, ocId: CCUtility.createRandomString(12), serverUrl: self.serverUrl, urlBase: self.appDelegate.urlBase, url: url!, contentType: "")
if let viewController = self.appDelegate.activeViewController {
NCViewer.shared.view(viewController: viewController, metadata: metadata, metadatas: [metadata], imageIcon: nil)

Просмотреть файл

@ -414,7 +414,7 @@ class NCCreateFormUploadScanDocument: XLFormViewController, NCSelectDelegate, NC
}
// Create metadata for upload
let metadataForUpload = NCManageDatabase.shared.createMetadata(account: appDelegate.account, user: appDelegate.user, userId: appDelegate.userId, fileName: fileNameSave, fileNameView: fileNameSave, ocId: UUID().uuidString, serverUrl: serverUrl, urlBase: appDelegate.urlBase, url: "", contentType: "", livePhoto: false)
let metadataForUpload = NCManageDatabase.shared.createMetadata(account: appDelegate.account, user: appDelegate.user, userId: appDelegate.userId, fileName: fileNameSave, fileNameView: fileNameSave, ocId: UUID().uuidString, serverUrl: serverUrl, urlBase: appDelegate.urlBase, url: "", contentType: "")
metadataForUpload.session = NCNetworking.shared.sessionIdentifierBackground
metadataForUpload.sessionSelector = NCGlobal.shared.selectorUploadFile

Просмотреть файл

@ -240,7 +240,7 @@ class NCCreateFormUploadVoiceNote: XLFormViewController, NCSelectDelegate, AVAud
fileNameSave = (name as! NSString).deletingPathExtension + ".m4a"
}
let metadataForUpload = NCManageDatabase.shared.createMetadata(account: self.appDelegate.account, user: self.appDelegate.user, userId: self.appDelegate.userId, fileName: fileNameSave, fileNameView: fileNameSave, ocId: UUID().uuidString, serverUrl: self.serverUrl, urlBase: self.appDelegate.urlBase, url: "", contentType: "", livePhoto: false)
let metadataForUpload = NCManageDatabase.shared.createMetadata(account: self.appDelegate.account, user: self.appDelegate.user, userId: self.appDelegate.userId, fileName: fileNameSave, fileNameView: fileNameSave, ocId: UUID().uuidString, serverUrl: self.serverUrl, urlBase: self.appDelegate.urlBase, url: "", contentType: "")
metadataForUpload.session = NCNetworking.shared.sessionIdentifierBackground
metadataForUpload.sessionSelector = NCGlobal.shared.selectorUploadFile

Просмотреть файл

@ -150,7 +150,7 @@ class NCDocumentPickerViewController: NSObject, UIDocumentPickerDelegate {
if NCUtilityFileSystem.shared.copyFile(atPath: atPath, toPath: toPath) {
let metadataForUpload = NCManageDatabase.shared.createMetadata(account: appDelegate.account, user: appDelegate.user, userId: appDelegate.userId, fileName: fileName, fileNameView: fileName, ocId: ocId, serverUrl: serverUrl, urlBase: appDelegate.urlBase, url: "", contentType: "", livePhoto: false)
let metadataForUpload = NCManageDatabase.shared.createMetadata(account: appDelegate.account, user: appDelegate.user, userId: appDelegate.userId, fileName: fileName, fileNameView: fileName, ocId: ocId, serverUrl: serverUrl, urlBase: appDelegate.urlBase, url: "", contentType: "")
metadataForUpload.session = NCNetworking.shared.sessionIdentifierBackground
metadataForUpload.sessionSelector = NCGlobal.shared.selectorUploadFile

Просмотреть файл

@ -112,7 +112,7 @@ class NCGlobal: NSObject {
// Database Realm
//
let databaseDefault = "nextcloud.realm"
let databaseSchemaVersion: UInt64 = 222
let databaseSchemaVersion: UInt64 = 224
// Intro selector
//

Просмотреть файл

@ -165,7 +165,7 @@ class NCAutoUpload: NSObject {
} else {
/* INSERT METADATA FOR UPLOAD */
let metadataForUpload = NCManageDatabase.shared.createMetadata(account: account.account, user: account.user, userId: account.userId, fileName: fileName, fileNameView: fileName, ocId: NSUUID().uuidString, serverUrl: serverUrl, urlBase: account.urlBase, url: "", contentType: "", livePhoto: livePhoto)
let metadataForUpload = NCManageDatabase.shared.createMetadata(account: account.account, user: account.user, userId: account.userId, fileName: fileName, fileNameView: fileName, ocId: NSUUID().uuidString, serverUrl: serverUrl, urlBase: account.urlBase, url: "", contentType: "", isLivePhoto: livePhoto)
metadataForUpload.assetLocalIdentifier = asset.localIdentifier
metadataForUpload.session = session
metadataForUpload.sessionSelector = selector
@ -195,7 +195,7 @@ class NCAutoUpload: NSObject {
CCUtility.extractLivePhotoAsset(asset, filePath: filePath) { url in
if url != nil {
let metadataForUpload = NCManageDatabase.shared.createMetadata(account: account.account, user: account.user, userId: account.userId, fileName: fileName, fileNameView: fileName, ocId: ocId, serverUrl: serverUrl, urlBase: account.urlBase, url: "", contentType: "", livePhoto: livePhoto)
let metadataForUpload = NCManageDatabase.shared.createMetadata(account: account.account, user: account.user, userId: account.userId, fileName: fileName, fileNameView: fileName, ocId: ocId, serverUrl: serverUrl, urlBase: account.urlBase, url: "", contentType: "", isLivePhoto: livePhoto)
metadataForUpload.session = session
metadataForUpload.sessionSelector = selector
metadataForUpload.size = NCUtilityFileSystem.shared.getFileSize(filePath: filePath)

Просмотреть файл

@ -936,11 +936,16 @@ import Queuer
}
NCCommunication.shared.unifiedSearch(term: literal) { provider in
["files", "fulltextsearch"].contains(provider.id)
["contacts", "files", "fulltextsearch", "talk-conversations",].contains(provider.id)
} update: { partialResult, provider, errorCode, errorDescription in
guard let partialResult = partialResult else { return }
switch provider.id {
case "contacts", "talk-conversations":
partialResult.entries.forEach({ entry in
let metadata = NCManageDatabase.shared.createMetadata(account: urlBase.account, user: urlBase.user, userId: urlBase.userId, fileName: entry.title, fileNameView: entry.title, ocId: NSUUID().uuidString, serverUrl: "", urlBase: urlBase.urlBase, url: entry.resourceURL, contentType: "", isUrl: true, name: partialResult.name, subline: entry.subline)
print("")
})
case "files":
partialResult.entries.forEach({ entry in
if let fileId = entry.fileId,

Просмотреть файл

@ -27,6 +27,7 @@ import Foundation
var user: String { get }
var urlBase: String { get }
var account: String { get }
var userId: String { get }
}
public extension NCUserBaseUrl {

Просмотреть файл

@ -147,8 +147,7 @@ extension NCViewerQuickLook: QLPreviewControllerDataSource, QLPreviewControllerD
serverUrl: metadata.serverUrl,
urlBase: metadata.urlBase,
url: url.path,
contentType: "",
livePhoto: false)
contentType: "")
metadataForUpload.session = NCNetworking.shared.sessionIdentifierBackground
metadataForUpload.sessionSelector = NCGlobal.shared.selectorUploadFile