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
71 changes: 54 additions & 17 deletions Sources/NextcloudKit/NextcloudKit+API.swift
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,18 @@ public extension NextcloudKit {
}
}

func getExternalSiteAsync(account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in }) async -> (account: String, externalFiles: [NKExternalSite], responseData: AFDataResponse<Data>?, error: NKError) {
await withUnsafeContinuation { continuation in
getExternalSite(account: account,
options: options,
taskHandler: taskHandler) { account, externalFiles, responseData, error in
continuation.resume(returning: (account, externalFiles, responseData, error))
}
}
}

// MARK: - getServerStatus

struct ServerInfo {
Expand All @@ -151,17 +163,6 @@ public extension NextcloudKit {
case failure(NKError)
}

///
/// Asynchronous method wrapper for ``getServerStatus(serverUrl:options:taskHandler:completion:)``.
///
func getServerStatus(serverUrl: String, options: NKRequestOptions = NKRequestOptions(), taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in }) async -> ServerInfoResult {
await withCheckedContinuation { continuation in
getServerStatus(serverUrl: serverUrl, options: options, taskHandler: taskHandler) { _, serverInfoResult in
continuation.resume(returning: serverInfoResult)
}
}
}

func getServerStatus(serverUrl: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in },
Expand Down Expand Up @@ -217,12 +218,15 @@ public extension NextcloudKit {
}

func getServerStatusAsync(serverUrl: String,
options: NKRequestOptions = NKRequestOptions()) async -> NextcloudKit.ServerInfoResult {
await withUnsafeContinuation({ continuation in
NextcloudKit.shared.getServerStatus(serverUrl: serverUrl) { _, serverInfoResult in
continuation.resume(returning: serverInfoResult)
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in }) async -> (responseData: AFDataResponse<Data>?, result: ServerInfoResult) {
await withUnsafeContinuation { continuation in
getServerStatus(serverUrl: serverUrl,
options: options,
taskHandler: taskHandler) { responseData, result in
continuation.resume(returning: (responseData, result))
}
})
}
}

// MARK: -
Expand Down Expand Up @@ -463,6 +467,28 @@ public extension NextcloudKit {
}
}

func downloadAvatarAsync(user: String,
fileNameLocalPath: String,
sizeImage: Int,
avatarSizeRounded: Int = 0,
etag: String?,
account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in }) async -> (account: String, imageAvatar: UIImage?, imageOriginal: UIImage?, etag: String?, responseData: AFDataResponse<Data?>?, error: NKError) {
await withUnsafeContinuation { continuation in
downloadAvatar(user: user,
fileNameLocalPath: fileNameLocalPath,
sizeImage: sizeImage,
avatarSizeRounded: avatarSizeRounded,
etag: etag,
account: account,
options: options,
taskHandler: taskHandler) { account, imageAvatar, imageOriginal, etag, responseData, error in
continuation.resume(returning: (account, imageAvatar, imageOriginal, etag, responseData, error))
}
}
}

func downloadContent(serverUrl: String,
account: String,
options: NKRequestOptions = NKRequestOptions(),
Expand Down Expand Up @@ -624,7 +650,6 @@ public extension NextcloudKit {
}
// MARK: -


func getCapabilities(account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in },
Expand Down Expand Up @@ -653,6 +678,18 @@ public extension NextcloudKit {
}
}

func getCapabilitiesAsync(account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in }) async -> (account: String, responseData: AFDataResponse<Data?>?, error: NKError) {
await withUnsafeContinuation { continuation in
getCapabilities(account: account,
options: options,
taskHandler: taskHandler) { account, responseData, error in
continuation.resume(returning: (account, responseData, error))
}
}
}

// MARK: -

func getRemoteWipeStatus(serverUrl: String,
Expand Down
12 changes: 12 additions & 0 deletions Sources/NextcloudKit/NextcloudKit+NCText.swift
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,18 @@
}
}

func textObtainEditorDetailsAsync(account: String,
options: NKRequestOptions = NKRequestOptions(),

Check warning on line 74 in Sources/NextcloudKit/NextcloudKit+NCText.swift

View workflow job for this annotation

GitHub Actions / Lint

Vertical Parameter Alignment Violation: Function parameters should be aligned vertically if they're in multiple lines in a declaration (vertical_parameter_alignment)
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in }) async -> (account: String, editors: [NKEditorDetailsEditors], creators: [NKEditorDetailsCreators], responseData: AFDataResponse<Data>?, error: NKError) {

Check warning on line 75 in Sources/NextcloudKit/NextcloudKit+NCText.swift

View workflow job for this annotation

GitHub Actions / Lint

Vertical Parameter Alignment Violation: Function parameters should be aligned vertically if they're in multiple lines in a declaration (vertical_parameter_alignment)
await withUnsafeContinuation { continuation in
textObtainEditorDetails(account: account,
options: options,
taskHandler: taskHandler) { account, editors, creators, responseData, error in
continuation.resume(returning: (account, editors, creators, responseData, error))
}
}
}

func textOpenFile(fileNamePath: String,
fileId: String? = nil,
editor: String,
Expand Down
14 changes: 14 additions & 0 deletions Sources/NextcloudKit/NextcloudKit+UserStatus.swift
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,20 @@ public extension NextcloudKit {
}
}

func getUserStatusAsync(userId: String? = nil,
account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in }) async -> (account: String, clearAt: Date?, icon: String?, message: String?, messageId: String?, messageIsPredefined: Bool, status: String?, statusIsUserDefined: Bool, userId: String?, responseData: AFDataResponse<Data>?, error: NKError) {
await withUnsafeContinuation { continuation in
getUserStatus(userId: userId,
account: account,
options: options,
taskHandler: taskHandler) { account, clearAt, icon, message, messageId, messageIsPredefined, status, statusIsUserDefined, userId, responseData, error in
continuation.resume(returning: (account, clearAt, icon, message, messageId, messageIsPredefined, status, statusIsUserDefined, userId, responseData, error))
}
}
}

func setUserStatus(status: String,
account: String,
options: NKRequestOptions = NKRequestOptions(),
Expand Down
16 changes: 16 additions & 0 deletions Sources/NextcloudKit/NextcloudKit+WebDAV.swift
Original file line number Diff line number Diff line change
Expand Up @@ -629,4 +629,20 @@ public extension NextcloudKit {
}
}
}

func listingTrashAsync(filename: String? = nil,
showHiddenFiles: Bool,
account: String,
options: NKRequestOptions = NKRequestOptions(),
taskHandler: @escaping (_ task: URLSessionTask) -> Void = { _ in }) async -> (account: String, items: [NKTrash]?, responseData: AFDataResponse<Data>?, error: NKError) {
await withUnsafeContinuation { continuation in
listingTrash(filename: filename,
showHiddenFiles: showHiddenFiles,
account: account,
options: options,
taskHandler: taskHandler) { account, items, responseData, error in
continuation.resume(returning: (account, items, responseData, error))
}
}
}
}
Loading