Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ let package = Package(
name: "NextcloudKit",
platforms: [
.macOS(.v10_15),
.iOS(.v12),
.iOS(.v13),
.tvOS(.v13),
.watchOS(.v6),
.visionOS(.v1)
Expand Down
40 changes: 40 additions & 0 deletions Sources/NextcloudKit/NextcloudKit+API.swift
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,15 @@ public extension NextcloudKit {
}
}

func getServerStatus(serverUrl: String,
options: NKRequestOptions = NKRequestOptions()) async -> NextcloudKit.ServerInfoResult {
await withUnsafeContinuation({ continuation in
NextcloudKit.shared.getServerStatus(serverUrl: serverUrl) { _, serverInfoResult in
continuation.resume(returning: serverInfoResult)
}
})
}

// MARK: -

func downloadPreview(url: URL,
Expand Down Expand Up @@ -240,6 +249,16 @@ public extension NextcloudKit {
}
}

func downloadPreview(url: URL,
account: String,
options: NKRequestOptions = NKRequestOptions()) async -> (account: String, responseData: AFDataResponse<Data?>?, error: NKError) {
await withUnsafeContinuation({ continuation in
NextcloudKit.shared.downloadPreview(url: url, account: account, options: options) { account, responseData, error in
continuation.resume(returning: (account: account, responseData: responseData, error: error))
}
})
}

func downloadPreview(fileId: String,
width: Int = 1024,
height: Int = 1024,
Expand Down Expand Up @@ -282,6 +301,17 @@ public extension NextcloudKit {
}
}

func downloadPreview(fileId: String,
etag: String? = nil,
account: String,
options: NKRequestOptions = NKRequestOptions()) async -> (account: String, width: Int, height: Int, etag: String?, responseData: AFDataResponse<Data?>?, error: NKError) {
await withUnsafeContinuation({ continuation in
NextcloudKit.shared.downloadPreview(fileId: fileId, etag: etag, account: account, options: options) { account, width, height, etag, responseData, error in
continuation.resume(returning: (account: account, width: width, height: height, etag: etag, responseData: responseData, error: error))
}
})
}

func downloadTrashPreview(fileId: String,
width: Int = 512,
height: Int = 512,
Expand Down Expand Up @@ -490,6 +520,16 @@ public extension NextcloudKit {
}
}

func getUserMetadata(account: String,
userId: String,
options: NKRequestOptions = NKRequestOptions()) async -> (account: String, userProfile: NKUserProfile?, responseData: AFDataResponse<Data>?, error: NKError) {
await withUnsafeContinuation({ continuation in
NextcloudKit.shared.getUserMetadata(account: account, userId: userId) { account, userProfile, responseData, error in
continuation.resume(returning: (account: account, userProfile: userProfile, responseData: responseData, error: error))
}
})
}

func getUserProfile(account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in },
Expand Down
49 changes: 49 additions & 0 deletions Sources/NextcloudKit/NextcloudKit+E2EE.swift
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,17 @@ public extension NextcloudKit {
}
}

func markE2EEFolder(fileId: String,
delete: Bool,
account: String,
options: NKRequestOptions = NKRequestOptions()) async -> (account: String, responseData: AFDataResponse<Data>?, error: NKError) {
await withUnsafeContinuation({ continuation in
NextcloudKit.shared.markE2EEFolder(fileId: fileId, delete: delete, account: account, options: options) { account, responseData, error in
continuation.resume(returning: (account: account, responseData: responseData, error: error))
}
})
}

func lockE2EEFolder(fileId: String,
e2eToken: String?,
e2eCounter: String?,
Expand Down Expand Up @@ -101,6 +112,20 @@ public extension NextcloudKit {
}
}

func lockE2EEFolder(fileId: String,
e2eToken: String?,
e2eCounter: String?,
method: String,
account: String,
options: NKRequestOptions = NKRequestOptions()) async -> (account: String, e2eToken: String?, responseData: AFDataResponse<Data>?, error: NKError) {
await withUnsafeContinuation({ continuation in
NextcloudKit.shared.lockE2EEFolder(fileId: fileId, e2eToken: e2eToken, e2eCounter: e2eCounter, method: method, account: account, options: options) { account, e2eToken, responseData, error in
continuation.resume(returning: (account: account, e2eToken: e2eToken, responseData: responseData, error: error))
}
})
}


func getE2EEMetadata(fileId: String,
e2eToken: String?,
account: String,
Expand Down Expand Up @@ -201,6 +226,20 @@ public extension NextcloudKit {
}
}

func putE2EEMetadata(fileId: String,
e2eToken: String,
e2eMetadata: String?,
signature: String?,
method: String,
account: String,
options: NKRequestOptions = NKRequestOptions()) async -> (account: String, metadata: String?, responseData: AFDataResponse<Data>?, error: NKError) {
await withUnsafeContinuation({ continuation in
NextcloudKit.shared.putE2EEMetadata(fileId: fileId, e2eToken: e2eToken, e2eMetadata: e2eMetadata, signature: signature, method: method, account: account, options: options) { account, metadata, responseData, error in
continuation.resume(returning: (account: account, metadata: metadata, responseData: responseData, error: error))
}
})
}

// MARK: -

func getE2EECertificate(user: String? = nil,
Expand Down Expand Up @@ -257,6 +296,16 @@ public extension NextcloudKit {
}
}

func getE2EECertificate(user: String? = nil,
account: String,
options: NKRequestOptions = NKRequestOptions()) async -> (account: String, certificate: String?, certificateUser: String?, responseData: AFDataResponse<Data>?, error: NKError) {
await withUnsafeContinuation({ continuation in
NextcloudKit.shared.getE2EECertificate(user: user, account: account, options: options) { account, certificate, certificateUser, responseData, error in
continuation.resume(returning: (account: account, certificate: certificate, certificateUser: certificateUser, responseData: responseData, error: error))
}
})
}

func getE2EEPrivateKey(account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in },
Expand Down
11 changes: 11 additions & 0 deletions Sources/NextcloudKit/NextcloudKit+Livephoto.swift
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,15 @@ public extension NextcloudKit {
}
}
}

func setLivephoto(serverUrlfileNamePath: String,
livePhotoFile: String,
account: String,
options: NKRequestOptions = NKRequestOptions()) async -> (account: String, responseData: AFDataResponse<Data?>?, error: NKError) {
await withUnsafeContinuation({ continuation in
NextcloudKit.shared.setLivephoto(serverUrlfileNamePath: serverUrlfileNamePath, livePhotoFile: livePhotoFile, account: account, options: options) { account, responseData, error in
continuation.resume(returning: (account: account, responseData: responseData, error: error))
}
})
}
}
54 changes: 31 additions & 23 deletions Sources/NextcloudKit/NextcloudKit+NCText.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ import Alamofire
import SwiftyJSON

public extension NextcloudKit {
func NCTextObtainEditorDetails(account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in },
completion: @escaping (_ account: String, _ editors: [NKEditorDetailsEditors], _ creators: [NKEditorDetailsCreators], _ responseData: AFDataResponse<Data>?, _ error: NKError) -> Void) {
func textObtainEditorDetails(account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in },
completion: @escaping (_ account: String, _ editors: [NKEditorDetailsEditors], _ creators: [NKEditorDetailsCreators], _ responseData: AFDataResponse<Data>?, _ error: NKError) -> Void) {
let endpoint = "ocs/v2.php/apps/files/api/v1/directEditing"
var editors: [NKEditorDetailsEditors] = []
var creators: [NKEditorDetailsCreators] = []
Expand Down Expand Up @@ -70,13 +70,13 @@ public extension NextcloudKit {
}
}

func NCTextOpenFile(fileNamePath: String,
fileId: String? = nil,
editor: String,
account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in },
completion: @escaping (_ account: String, _ url: String?, _ responseData: AFDataResponse<Data>?, _ error: NKError) -> Void) {
func textOpenFile(fileNamePath: String,
fileId: String? = nil,
editor: String,
account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in },
completion: @escaping (_ account: String, _ url: String?, _ responseData: AFDataResponse<Data>?, _ error: NKError) -> Void) {
guard let fileNamePath = fileNamePath.urlEncoded else {
return options.queue.async { completion(account, nil, nil, .urlError) }
}
Expand Down Expand Up @@ -109,10 +109,10 @@ public extension NextcloudKit {
}
}

func NCTextGetListOfTemplates(account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in },
completion: @escaping (_ account: String, _ templates: [NKEditorTemplates]?, _ responseData: AFDataResponse<Data>?, _ error: NKError) -> Void) {
func textGetListOfTemplates(account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in },
completion: @escaping (_ account: String, _ templates: [NKEditorTemplates]?, _ responseData: AFDataResponse<Data>?, _ error: NKError) -> Void) {
let endpoint = "ocs/v2.php/apps/files/api/v1/directEditing/templates/text/textdocumenttemplate"
var templates: [NKEditorTemplates] = []
guard let nkSession = nkCommonInstance.getSession(account: account),
Expand Down Expand Up @@ -151,14 +151,22 @@ public extension NextcloudKit {
}
}

func NCTextCreateFile(fileNamePath: String,
editorId: String,
creatorId: String,
templateId: String,
account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in },
completion: @escaping (_ account: String, _ url: String?, _ responseData: AFDataResponse<Data>?, _ error: NKError) -> Void) {
func textGetListOfTemplates(account: String, options: NKRequestOptions = NKRequestOptions()) async -> (account: String, templates: [NKEditorTemplates]?, responseData: AFDataResponse<Data>?, error: NKError) {
await withUnsafeContinuation({ continuation in
textGetListOfTemplates(account: account) { account, templates, responseData, error in
continuation.resume(returning: (account: account, templates: templates, responseData: responseData, error: error))
}
})
}

func textCreateFile(fileNamePath: String,
editorId: String,
creatorId: String,
templateId: String,
account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in },
completion: @escaping (_ account: String, _ url: String?, _ responseData: AFDataResponse<Data>?, _ error: NKError) -> Void) {
guard let fileNamePath = fileNamePath.urlEncoded else {
return options.queue.async { completion(account, nil, nil, .urlError) }
}
Expand Down
9 changes: 9 additions & 0 deletions Sources/NextcloudKit/NextcloudKit+RecommendedFiles.swift
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,13 @@ public extension NextcloudKit {
}
options.queue.async { request(tosRequest) }
}

func getRecommendedFiles(account: String,
options: NKRequestOptions = NKRequestOptions()) async -> (account: String, recommendations: [NKRecommendation]?, responseData: AFDataResponse<Data>?, error: NKError) {
await withUnsafeContinuation({ continuation in
NextcloudKit.shared.getRecommendedFiles(account: account, options: options) { account, recommendations, responseData, error in
continuation.resume(returning: (account: account, recommendations: recommendations, responseData: responseData, error: error))
}
})
}
}
8 changes: 8 additions & 0 deletions Sources/NextcloudKit/NextcloudKit+Richdocuments.swift
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,14 @@ public extension NextcloudKit {
}
}

func getTemplatesRichdocuments(typeTemplate: String, account: String, options: NKRequestOptions = NKRequestOptions()) async -> (account: String, templates: [NKRichdocumentsTemplate]?, responseData: AFDataResponse<Data>?, error: NKError) {
await withUnsafeContinuation({ continuation in
NextcloudKit.shared.getTemplatesRichdocuments(typeTemplate: typeTemplate, account: account, options: options) { account, templates, responseData, error in
continuation.resume(returning: (account: account, templates: templates, responseData: responseData, error: error))
}
})
}

func createRichdocuments(path: String,
templateId: String,
account: String,
Expand Down
Loading