Add ShareCapabilities struct
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 13 Mar 2024 10:16:51 +0000 (18:16 +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 [new file with mode: 0644]
shell_integration/MacOSX/NextcloudIntegration/NextcloudIntegration.xcodeproj/project.pbxproj

diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareCapabilities.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareCapabilities.swift
new file mode 100644 (file)
index 0000000..c952075
--- /dev/null
@@ -0,0 +1,28 @@
+//
+//  ShareCapabilities.swift
+//  FileProviderUIExt
+//
+//  Created by Claudio Cambra on 13/3/24.
+//
+
+import Foundation
+
+struct ShareCapabilities {
+    private(set) var shareApiEnabled = false
+    private(set) var shareEmailPasswordEnabled = false
+    private(set) var shareEmailPasswordEnforced = false
+    private(set) var sharePublicLinkEnabled = false
+    private(set) var sharePublicLinkAllowUpload = false
+    private(set) var sharePublicLinkSupportsUploadOnly = false
+    private(set) var sharePublicLinkAskOptionalPassword = false
+    private(set) var sharePublicLinkEnforcePassword = false
+    private(set) var sharePublicLinkEnforceExpireDate = 0
+    private(set) var sharePublicLinkExpireDateDays = false
+    private(set) var shareInternalEnforceExpireDate = false
+    private(set) var shareInternalExpireDateDays = 0
+    private(set) var shareRemoteEnforceExpireDate = false
+    private(set) var shareRemoteExpireDateDays = 0
+    private(set) var sharePublicLinkMultiple = false
+    private(set) var shareResharing = false
+    private(set) var shareDefaultPermissions = 0
+}
index 2bfe9c6944a448486d6a91f16c7e4986ddeb3afe..98460d511d39b80f5ea98a39ce64a4825beedce4 100644 (file)
@@ -16,6 +16,7 @@
                5318AD9529BF438F00CBB71C /* NextcloudLocalFileMetadataTable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5318AD9429BF438F00CBB71C /* NextcloudLocalFileMetadataTable.swift */; };
                5318AD9729BF493600CBB71C /* FileProviderMaterialisedEnumerationObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5318AD9629BF493600CBB71C /* FileProviderMaterialisedEnumerationObserver.swift */; };
                5318AD9929BF58D000CBB71C /* NKError+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5318AD9829BF58D000CBB71C /* NKError+Extensions.swift */; };
+               534F812F2BA1B3D80068D145 /* ShareCapabilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 534F812E2BA1B3D80068D145 /* ShareCapabilities.swift */; };
                5350E4E92B0C534A00F276CB /* ClientCommunicationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5350E4E82B0C534A00F276CB /* ClientCommunicationService.swift */; };
                5352B36629DC14970011CE03 /* NextcloudFilesDatabaseManager+Directories.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5352B36529DC14970011CE03 /* NextcloudFilesDatabaseManager+Directories.swift */; };
                5352B36829DC17D60011CE03 /* NextcloudFilesDatabaseManager+LocalFiles.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5352B36729DC17D60011CE03 /* NextcloudFilesDatabaseManager+LocalFiles.swift */; };
                5318AD9429BF438F00CBB71C /* NextcloudLocalFileMetadataTable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NextcloudLocalFileMetadataTable.swift; sourceTree = "<group>"; };
                5318AD9629BF493600CBB71C /* FileProviderMaterialisedEnumerationObserver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileProviderMaterialisedEnumerationObserver.swift; sourceTree = "<group>"; };
                5318AD9829BF58D000CBB71C /* NKError+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NKError+Extensions.swift"; sourceTree = "<group>"; };
+               534F812E2BA1B3D80068D145 /* ShareCapabilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareCapabilities.swift; sourceTree = "<group>"; };
                5350E4E72B0C514400F276CB /* ClientCommunicationProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ClientCommunicationProtocol.h; sourceTree = "<group>"; };
                5350E4E82B0C534A00F276CB /* ClientCommunicationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClientCommunicationService.swift; sourceTree = "<group>"; };
                5350E4EA2B0C9CE100F276CB /* FileProviderExt-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "FileProviderExt-Bridging-Header.h"; sourceTree = "<group>"; };
                        children = (
                                5376307B2B85E2E00026BFAB /* Extensions */,
                                53B979802B84C81F002DA742 /* DocumentActionViewController.swift */,
+                               534F812E2BA1B3D80068D145 /* ShareCapabilities.swift */,
                                5374FD432B95EE1400C78D54 /* ShareController.swift */,
                                53FE14662B8F78B6006C4193 /* ShareOptionsView.swift */,
                                53FE14582B8E3F6C006C4193 /* ShareTableItemView.swift */,
                                5374FD442B95EE1400C78D54 /* ShareController.swift in Sources */,
                                53FE145B2B8F1305006C4193 /* NKShare+Extensions.swift in Sources */,
                                53FE14592B8E3F6C006C4193 /* ShareTableItemView.swift in Sources */,
+                               534F812F2BA1B3D80068D145 /* ShareCapabilities.swift in Sources */,
                                53FE14552B8E28E9006C4193 /* NextcloudAccount.swift in Sources */,
                                5376307D2B85E2ED0026BFAB /* Logger+Extensions.swift in Sources */,
                                53FE14502B8E0658006C4193 /* ShareTableViewDataSource.swift in Sources */,