@@ -32,11 +32,10 @@ public class SharedLinkSettings
32
32
/// <para>Initializes a new instance of the <see cref="SharedLinkSettings" />
33
33
/// class.</para>
34
34
/// </summary>
35
- /// <param name="requestedVisibility">The requested access for this shared
36
- /// link.</param>
37
- /// <param name="linkPassword">If <paramref name="requestedVisibility" /> is <see
38
- /// cref="Dropbox.Api.Sharing.RequestedVisibility.Password" /> this is needed to
39
- /// specify the password to access the link.</param>
35
+ /// <param name="requirePassword">Boolean flag to enable or disable password
36
+ /// protection.</param>
37
+ /// <param name="linkPassword">If <paramref name="requirePassword" /> is true, this is
38
+ /// needed to specify the password to access the link.</param>
40
39
/// <param name="expires">Expiration time of the shared link. By default the link won't
41
40
/// expire.</param>
42
41
/// <param name="audience">The new audience who can benefit from the access level
@@ -46,17 +45,21 @@ public class SharedLinkSettings
46
45
/// field of `LinkPermissions.</param>
47
46
/// <param name="access">Requested access level you want the audience to gain from this
48
47
/// link. Note, modifying access level for an existing link is not supported.</param>
49
- public SharedLinkSettings ( RequestedVisibility requestedVisibility = null ,
48
+ /// <param name="requestedVisibility">Use <paramref name="audience" /> instead. The
49
+ /// requested access for this shared link.</param>
50
+ public SharedLinkSettings ( bool ? requirePassword = null ,
50
51
string linkPassword = null ,
51
52
sys . DateTime ? expires = null ,
52
53
LinkAudience audience = null ,
53
- RequestedLinkAccessLevel access = null )
54
+ RequestedLinkAccessLevel access = null ,
55
+ RequestedVisibility requestedVisibility = null )
54
56
{
55
- this . RequestedVisibility = requestedVisibility ;
57
+ this . RequirePassword = requirePassword ;
56
58
this . LinkPassword = linkPassword ;
57
59
this . Expires = expires ;
58
60
this . Audience = audience ;
59
61
this . Access = access ;
62
+ this . RequestedVisibility = requestedVisibility ;
60
63
}
61
64
62
65
/// <summary>
@@ -71,14 +74,13 @@ public SharedLinkSettings()
71
74
}
72
75
73
76
/// <summary>
74
- /// <para>The requested access for this shared link .</para>
77
+ /// <para>Boolean flag to enable or disable password protection .</para>
75
78
/// </summary>
76
- public RequestedVisibility RequestedVisibility { get ; protected set ; }
79
+ public bool ? RequirePassword { get ; protected set ; }
77
80
78
81
/// <summary>
79
- /// <para>If <see cref="RequestedVisibility" /> is <see
80
- /// cref="Dropbox.Api.Sharing.RequestedVisibility.Password" /> this is needed to
81
- /// specify the password to access the link.</para>
82
+ /// <para>If <see cref="RequirePassword" /> is true, this is needed to specify the
83
+ /// password to access the link.</para>
82
84
/// </summary>
83
85
public string LinkPassword { get ; protected set ; }
84
86
@@ -102,6 +104,12 @@ public SharedLinkSettings()
102
104
/// </summary>
103
105
public RequestedLinkAccessLevel Access { get ; protected set ; }
104
106
107
+ /// <summary>
108
+ /// <para>Use <see cref="Audience" /> instead. The requested access for this shared
109
+ /// link.</para>
110
+ /// </summary>
111
+ public RequestedVisibility RequestedVisibility { get ; protected set ; }
112
+
105
113
#region Encoder class
106
114
107
115
/// <summary>
@@ -116,9 +124,9 @@ private class SharedLinkSettingsEncoder : enc.StructEncoder<SharedLinkSettings>
116
124
/// <param name="writer">The writer.</param>
117
125
public override void EncodeFields ( SharedLinkSettings value , enc . IJsonWriter writer )
118
126
{
119
- if ( value . RequestedVisibility != null )
127
+ if ( value . RequirePassword != null )
120
128
{
121
- WriteProperty ( "requested_visibility " , value . RequestedVisibility , writer , global :: Dropbox . Api . Sharing . RequestedVisibility . Encoder ) ;
129
+ WriteProperty ( "require_password " , value . RequirePassword . Value , writer , enc . BooleanEncoder . Instance ) ;
122
130
}
123
131
if ( value . LinkPassword != null )
124
132
{
@@ -136,6 +144,10 @@ public override void EncodeFields(SharedLinkSettings value, enc.IJsonWriter writ
136
144
{
137
145
WriteProperty ( "access" , value . Access , writer , global ::Dropbox . Api . Sharing . RequestedLinkAccessLevel . Encoder ) ;
138
146
}
147
+ if ( value . RequestedVisibility != null )
148
+ {
149
+ WriteProperty ( "requested_visibility" , value . RequestedVisibility , writer , global ::Dropbox . Api . Sharing . RequestedVisibility . Encoder ) ;
150
+ }
139
151
}
140
152
}
141
153
@@ -168,8 +180,8 @@ protected override void SetField(SharedLinkSettings value, string fieldName, enc
168
180
{
169
181
switch ( fieldName )
170
182
{
171
- case "requested_visibility " :
172
- value . RequestedVisibility = global :: Dropbox . Api . Sharing . RequestedVisibility . Decoder . Decode ( reader ) ;
183
+ case "require_password " :
184
+ value . RequirePassword = enc . BooleanDecoder . Instance . Decode ( reader ) ;
173
185
break ;
174
186
case "link_password" :
175
187
value . LinkPassword = enc . StringDecoder . Instance . Decode ( reader ) ;
@@ -183,6 +195,9 @@ protected override void SetField(SharedLinkSettings value, string fieldName, enc
183
195
case "access" :
184
196
value . Access = global ::Dropbox . Api . Sharing . RequestedLinkAccessLevel . Decoder . Decode ( reader ) ;
185
197
break ;
198
+ case "requested_visibility" :
199
+ value . RequestedVisibility = global ::Dropbox . Api . Sharing . RequestedVisibility . Decoder . Decode ( reader ) ;
200
+ break ;
186
201
default :
187
202
reader . Skip ( ) ;
188
203
break ;
0 commit comments