From: Claudio Cambra Date: Mon, 18 Mar 2024 09:49:47 +0000 (+0800) Subject: Add init for public link capabilities X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~79^2^2~46^2~41 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c6fdfeebda1095902238deb0cd7caa98b9621a58;p=nextcloud-desktop.git Add init for public link capabilities Signed-off-by: Claudio Cambra --- diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareCapabilities.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareCapabilities.swift index b8081117f..6adceb0a6 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareCapabilities.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareCapabilities.swift @@ -28,25 +28,44 @@ struct ShareCapabilities { private(set) var askOptionalPassword = false private(set) var enforcePassword = false private(set) var enforceExpireDate = false - private(set) var expireDateDays = 0 + private(set) var expireDateDays = 1 + private(set) var internalEnforceExpireDate = false + private(set) var internalExpireDateDays = 1 + private(set) var remoteEnforceExpireDate = false + private(set) var remoteExpireDateDays = 1 private(set) var multipleAllowed = false - } - struct InternalCapabilities { - private(set) var enforceExpireDate = false - private(set) var expireDateDays = 0 - } + init(dict: [String: Any]) { + enabled = dict["enabled"] as? Bool ?? false + allowUpload = dict["upload"] as? Bool ?? false + supportsUploadOnly = dict["supports_upload_only"] as? Bool ?? false + multipleAllowed = dict["multiple"] as? Bool ?? false - struct RemoteCapabilities { - private(set) var enforceExpireDate = false - private(set) var expireDateDays = 0 + if let passwordCapabilities = dict["password"] as? [String : Any] { + askOptionalPassword = dict["askForOptionalPassword"] as? Bool ?? false + enforcePassword = dict["enforced"] as? Bool ?? false + } + + if let expireDateCapabilities = dict["expire_date"] as? [String: Any] { + expireDateDays = expireDateCapabilities["days"] as? Int ?? 1 + enforceExpireDate = expireDateCapabilities["enforced"] as? Bool ?? false + } + + if let internalExpDateCaps = dict["expire_date_internal"] as? [String: Any] { + internalExpireDateDays = internalExpDateCaps["days"] as? Int ?? 1 + internalEnforceExpireDate = internalExpDateCaps["enforced"] as? Bool ?? false + } + + if let remoteExpDateCaps = dict["expire_date_remote"] as? [String: Any] { + remoteExpireDateDays = remoteExpDateCaps["days"] as? Int ?? 1 + remoteEnforceExpireDate = remoteExpDateCaps["enforced"] as? Bool ?? false + } + } } private(set) var apiEnabled = false private(set) var resharing = false private(set) var defaultPermissions = 0 - private(set) var publicLink = PublicLinkCapabilities() - private(set) var internalShares = InternalCapabilities() - private(set) var remote = RemoteCapabilities() private(set) var email = EmailCapabilities(dict: [:]) + private(set) var publicLink = PublicLinkCapabilities(dict: [:]) }