Skip to content

Commit 2f1ca96

Browse files
committed
- OCCapabilities: add support for block_password_removal extension of password policy capabilities
1 parent f219336 commit 2f1ca96

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

ownCloudSDK/Connection/Capabilities/OCCapabilities.h

+5
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,11 @@ typedef NSNumber* OCCapabilityBool;
114114
@property(readonly,nullable,nonatomic) OCCapabilityBool publicSharingPasswordEnforcedForReadWrite; //!< Controls whether a password is required for read-write links
115115
@property(readonly,nullable,nonatomic) OCCapabilityBool publicSharingPasswordEnforcedForReadWriteDelete; //!< Controls whether a password is required for read-write-delete links
116116
@property(readonly,nullable,nonatomic) OCCapabilityBool publicSharingPasswordEnforcedForUploadOnly; //!< Controls whether a password is required for upload-only links
117+
@property(readonly,nullable,nonatomic) OCCapabilityBool publicSharingPasswordBlockRemovalForReadOnly; //!< Controls whether the removal of a password is blocked for read-only links
118+
@property(readonly,nullable,nonatomic) OCCapabilityBool publicSharingPasswordBlockRemovalForReadWrite; //!< Controls whether the removal of a password is blocked for read-write links
119+
@property(readonly,nullable,nonatomic) OCCapabilityBool publicSharingPasswordBlockRemovalForReadWriteDelete; //!< Controls whether the removal of a password is blocked for read-write-delete links
120+
@property(readonly,nullable,nonatomic) OCCapabilityBool publicSharingPasswordBlockRemovalForUploadOnly; //!< Controls whether the removal of a password is blocked for upload-only links
121+
117122
@property(readonly,nullable,nonatomic) OCCapabilityBool publicSharingExpireDateAddDefaultDate; //!< Controls whether a *default* expiration date should be set
118123
@property(readonly,nullable,nonatomic) OCCapabilityBool publicSharingExpireDateEnforceDateAndDaysDeterminesLastAllowedDate; //!< Controls whether .publicSharingDefaultExpireDateDays is enforced as maximum expiration date. Also, when set, an expiration date is REQUIRED.
119124
@property(readonly,nullable,nonatomic) NSNumber *publicSharingDefaultExpireDateDays;

ownCloudSDK/Connection/Capabilities/OCCapabilities.m

+27
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
#import "OCMacros.h"
2121
#import "OCConnection.h"
2222

23+
#define WithDefault(val,def) (((val)==nil)?(def):(val))
24+
2325
static NSInteger _defaultSharingSearchMinLength = 2;
2426

2527
@interface OCCapabilities()
@@ -101,6 +103,11 @@ @implementation OCCapabilities
101103
@dynamic publicSharingPasswordEnforcedForReadWrite;
102104
@dynamic publicSharingPasswordEnforcedForReadWriteDelete;
103105
@dynamic publicSharingPasswordEnforcedForUploadOnly;
106+
@dynamic publicSharingPasswordBlockRemovalForReadOnly;
107+
@dynamic publicSharingPasswordBlockRemovalForReadWrite;
108+
@dynamic publicSharingPasswordBlockRemovalForReadWriteDelete;
109+
@dynamic publicSharingPasswordBlockRemovalForUploadOnly;
110+
104111
@dynamic publicSharingExpireDateAddDefaultDate;
105112
@dynamic publicSharingExpireDateEnforceDateAndDaysDeterminesLastAllowedDate;
106113
@dynamic publicSharingDefaultExpireDateDays;
@@ -657,6 +664,26 @@ - (OCCapabilityBool)publicSharingPasswordEnforcedForUploadOnly
657664
return (OCTypedCast(_capabilities[@"files_sharing"][@"public"][@"password"][@"enforced_for"][@"upload_only"], NSNumber));
658665
}
659666

667+
- (OCCapabilityBool)publicSharingPasswordBlockRemovalForReadOnly
668+
{
669+
return (WithDefault(OCTypedCast(_capabilities[@"files_sharing"][@"public"][@"password"][@"block_password_removal"][@"read_only"], NSNumber), @NO));
670+
}
671+
672+
- (OCCapabilityBool)publicSharingPasswordBlockRemovalForReadWrite
673+
{
674+
return (WithDefault(OCTypedCast(_capabilities[@"files_sharing"][@"public"][@"password"][@"block_password_removal"][@"read_write"], NSNumber), @NO));
675+
}
676+
677+
- (OCCapabilityBool)publicSharingPasswordBlockRemovalForReadWriteDelete
678+
{
679+
return (WithDefault(OCTypedCast(_capabilities[@"files_sharing"][@"public"][@"password"][@"block_password_removal"][@"read_write_delete"], NSNumber), @NO));
680+
}
681+
682+
- (OCCapabilityBool)publicSharingPasswordBlockRemovalForUploadOnly
683+
{
684+
return (WithDefault(OCTypedCast(_capabilities[@"files_sharing"][@"public"][@"password"][@"block_password_removal"][@"upload_only"], NSNumber), @NO));
685+
}
686+
660687
- (OCCapabilityBool)publicSharingExpireDateAddDefaultDate
661688
{
662689
return (OCTypedCast(_capabilities[@"files_sharing"][@"public"][@"expire_date"][@"enabled"], NSNumber));

0 commit comments

Comments
 (0)