From 6735ca80f0b9d85675b2c10c047a0818d9c842ae Mon Sep 17 00:00:00 2001 From: Marino Faggiana Date: Thu, 26 Jun 2025 09:22:56 +0200 Subject: [PATCH 1/2] push Signed-off-by: Marino Faggiana --- .../NextcloudKit+PushNotification.swift | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/Sources/NextcloudKit/NextcloudKit+PushNotification.swift b/Sources/NextcloudKit/NextcloudKit+PushNotification.swift index b6b1b2d3..42c6e0ee 100644 --- a/Sources/NextcloudKit/NextcloudKit+PushNotification.swift +++ b/Sources/NextcloudKit/NextcloudKit+PushNotification.swift @@ -50,6 +50,13 @@ public extension NextcloudKit { } } + func subscribingPushNotificationAsync(serverUrl: String, pushTokenHash: String, devicePublicKey: String, proxyServerUrl: String, account: String, options: NKRequestOptions = NKRequestOptions()) async -> (account: String, deviceIdentifier: String?, signature: String?,publicKey: String?, responseData: AFDataResponse?, error: NKError) { + await withCheckedContinuation { continuation in + subscribingPushNotification(serverUrl: serverUrl, pushTokenHash: pushTokenHash, devicePublicKey: devicePublicKey, proxyServerUrl: proxyServerUrl, account: account, options: options, taskHandler: { _ in }, completion: { account, deviceIdentifier, signature, publicKey, responseData, error in continuation.resume( returning: (account, deviceIdentifier, signature, publicKey, responseData, error)) + }) + } + } + func unsubscribingPushNotification(serverUrl: String, account: String, options: NKRequestOptions = NKRequestOptions(), @@ -76,6 +83,15 @@ public extension NextcloudKit { } } + func unsubscribingPushNotificationAsync(serverUrl: String, account: String, options: NKRequestOptions = NKRequestOptions()) async -> (account: String, responseData: AFDataResponse?, error: NKError) { + await withCheckedContinuation { continuation in + unsubscribingPushNotification(serverUrl: serverUrl, account: account, options: options, taskHandler: { _ in }, + completion: { account, responseData, error in + continuation.resume(returning: (account, responseData, error) + )} + )} + } + func subscribingPushProxy(proxyServerUrl: String, pushToken: String, deviceIdentifier: String, @@ -113,6 +129,33 @@ public extension NextcloudKit { } } + func subscribingPushProxyAsync( + proxyServerUrl: String, + pushToken: String, + deviceIdentifier: String, + signature: String, + publicKey: String, + account: String, + options: NKRequestOptions = NKRequestOptions()) async -> (account: String, + responseData: AFDataResponse?, + error: NKError) { + await withCheckedContinuation { continuation in + subscribingPushProxy( + proxyServerUrl: proxyServerUrl, + pushToken: pushToken, + deviceIdentifier: deviceIdentifier, + signature: signature, + publicKey: publicKey, + account: account, + options: options, + taskHandler: { _ in }, + completion: { account, responseData, error in + continuation.resume(returning: (account, responseData, error)) + } + ) + } + } + func unsubscribingPushProxy(proxyServerUrl: String, deviceIdentifier: String, signature: String, @@ -147,4 +190,30 @@ public extension NextcloudKit { } } } + + func unsubscribingPushProxyAsync( + proxyServerUrl: String, + deviceIdentifier: String, + signature: String, + publicKey: String, + account: String, + options: NKRequestOptions = NKRequestOptions() + ) async -> (account: String, + responseData: AFDataResponse?, + error: NKError) { + await withCheckedContinuation { continuation in + unsubscribingPushProxy( + proxyServerUrl: proxyServerUrl, + deviceIdentifier: deviceIdentifier, + signature: signature, + publicKey: publicKey, + account: account, + options: options, + taskHandler: { _ in }, + completion: { account, responseData, error in + continuation.resume(returning: (account, responseData, error)) + } + ) + } + } } From f9af67e6d35d70cc6b76e6f7d0bbdde5e29dc65b Mon Sep 17 00:00:00 2001 From: Marino Faggiana Date: Thu, 26 Jun 2025 09:25:59 +0200 Subject: [PATCH 2/2] cleaning Signed-off-by: Marino Faggiana --- .../NextcloudKit+PushNotification.swift | 70 ++++++++++++++++--- 1 file changed, 61 insertions(+), 9 deletions(-) diff --git a/Sources/NextcloudKit/NextcloudKit+PushNotification.swift b/Sources/NextcloudKit/NextcloudKit+PushNotification.swift index 42c6e0ee..5435b31a 100644 --- a/Sources/NextcloudKit/NextcloudKit+PushNotification.swift +++ b/Sources/NextcloudKit/NextcloudKit+PushNotification.swift @@ -50,10 +50,43 @@ public extension NextcloudKit { } } - func subscribingPushNotificationAsync(serverUrl: String, pushTokenHash: String, devicePublicKey: String, proxyServerUrl: String, account: String, options: NKRequestOptions = NKRequestOptions()) async -> (account: String, deviceIdentifier: String?, signature: String?,publicKey: String?, responseData: AFDataResponse?, error: NKError) { + func subscribingPushNotificationAsync( + serverUrl: String, + pushTokenHash: String, + devicePublicKey: String, + proxyServerUrl: String, + account: String, + options: NKRequestOptions = NKRequestOptions() + ) async -> ( + account: String, + deviceIdentifier: String?, + signature: String?, + publicKey: String?, + responseData: AFDataResponse?, + error: NKError + ) { await withCheckedContinuation { continuation in - subscribingPushNotification(serverUrl: serverUrl, pushTokenHash: pushTokenHash, devicePublicKey: devicePublicKey, proxyServerUrl: proxyServerUrl, account: account, options: options, taskHandler: { _ in }, completion: { account, deviceIdentifier, signature, publicKey, responseData, error in continuation.resume( returning: (account, deviceIdentifier, signature, publicKey, responseData, error)) - }) + subscribingPushNotification( + serverUrl: serverUrl, + pushTokenHash: pushTokenHash, + devicePublicKey: devicePublicKey, + proxyServerUrl: proxyServerUrl, + account: account, + options: options, + taskHandler: { _ in }, + completion: { account, deviceIdentifier, signature, publicKey, responseData, error in + continuation.resume( + returning: ( + account, + deviceIdentifier, + signature, + publicKey, + responseData, + error + ) + ) + } + ) } } @@ -83,13 +116,32 @@ public extension NextcloudKit { } } - func unsubscribingPushNotificationAsync(serverUrl: String, account: String, options: NKRequestOptions = NKRequestOptions()) async -> (account: String, responseData: AFDataResponse?, error: NKError) { + func unsubscribingPushNotificationAsync( + serverUrl: String, + account: String, + options: NKRequestOptions = NKRequestOptions() + ) async -> ( + account: String, + responseData: AFDataResponse?, + error: NKError + ) { await withCheckedContinuation { continuation in - unsubscribingPushNotification(serverUrl: serverUrl, account: account, options: options, taskHandler: { _ in }, - completion: { account, responseData, error in - continuation.resume(returning: (account, responseData, error) - )} - )} + unsubscribingPushNotification( + serverUrl: serverUrl, + account: account, + options: options, + taskHandler: { _ in }, + completion: { account, responseData, error in + continuation.resume( + returning: ( + account, + responseData, + error + ) + ) + } + ) + } } func subscribingPushProxy(proxyServerUrl: String,