mirror of
https://github.com/nextcloud/desktop.git
synced 2025-10-26 11:17:43 +00:00
Add functionality to share controller to save changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
parent
318661748d
commit
29262345cd
@ -11,6 +11,7 @@ extension Logger {
|
||||
private static var subsystem = Bundle.main.bundleIdentifier!
|
||||
|
||||
static let actionViewController = Logger(subsystem: subsystem, category: "actionViewController")
|
||||
static let shareController = Logger(subsystem: subsystem, category: "shareController")
|
||||
static let sharesDataSource = Logger(subsystem: subsystem, category: "sharesDataSource")
|
||||
static let shareViewController = Logger(subsystem: subsystem, category: "shareViewController")
|
||||
}
|
||||
|
||||
@ -5,15 +5,40 @@
|
||||
// Created by Claudio Cambra on 4/3/24.
|
||||
//
|
||||
|
||||
import Combine
|
||||
import Foundation
|
||||
import NextcloudKit
|
||||
import OSLog
|
||||
|
||||
class ShareController {
|
||||
let share: NKShare
|
||||
class ShareController: ObservableObject {
|
||||
@Published private(set) var share: NKShare
|
||||
private let kit: NextcloudKit
|
||||
|
||||
init(share: NKShare, kit: NextcloudKit) {
|
||||
self.share = share
|
||||
self.kit = kit
|
||||
}
|
||||
|
||||
func save() async -> NKError? {
|
||||
return await withCheckedContinuation { continuation in
|
||||
kit.updateShare(
|
||||
idShare: share.idShare,
|
||||
password: share.password,
|
||||
expireDate: share.expirationDateString ?? "",
|
||||
permissions: share.permissions,
|
||||
note: share.note,
|
||||
label: share.label,
|
||||
hideDownload: share.hideDownload,
|
||||
attributes: share.attributes
|
||||
) { account, share, data, error in
|
||||
Logger.shareController.info("Received update response: \(share?.url ?? "")")
|
||||
defer { continuation.resume(returning: error) }
|
||||
guard error == .success, let share = share else {
|
||||
Logger.shareController.error("Error updating save: \(error.errorDescription)")
|
||||
return
|
||||
}
|
||||
self.share = share
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user