Add initialiser from dictionary for EmailCapabilities
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 13 Mar 2024 11:08:07 +0000 (19:08 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 17 Apr 2024 08:39:00 +0000 (16:39 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareCapabilities.swift

index 421fdf1dfe0c6fcb8665cfd35637e537b2088b34..b8081117f1f7e725c959b8656a41219d65a91489 100644 (file)
@@ -12,6 +12,13 @@ struct ShareCapabilities {
     struct EmailCapabilities {
         private(set) var passwordEnabled = false
         private(set) var passwordEnforced = false
+
+        init(dict: [String: Any]) {
+            if let passwordCapabilities = dict["password"] as? [String : Any] {
+                passwordEnabled = passwordCapabilities["enabled"] as? Bool ?? false
+                passwordEnforced = passwordCapabilities["enforced"] as? Bool ?? false
+            }
+        }
     }
 
     struct PublicLinkCapabilities {
@@ -38,8 +45,8 @@ struct ShareCapabilities {
     private(set) var apiEnabled = false
     private(set) var resharing = false
     private(set) var defaultPermissions = 0
-    private(set) var email = EmailCapabilities()
     private(set) var publicLink = PublicLinkCapabilities()
     private(set) var internalShares = InternalCapabilities()
     private(set) var remote = RemoteCapabilities()
+    private(set) var email = EmailCapabilities(dict: [:])
 }