@@ -32,11 +32,10 @@ public class SharedLinkSettings
3232 /// <para>Initializes a new instance of the <see cref="SharedLinkSettings" />
3333 /// class.</para>
3434 /// </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>
4039 /// <param name="expires">Expiration time of the shared link. By default the link won't
4140 /// expire.</param>
4241 /// <param name="audience">The new audience who can benefit from the access level
@@ -46,17 +45,21 @@ public class SharedLinkSettings
4645 /// field of `LinkPermissions.</param>
4746 /// <param name="access">Requested access level you want the audience to gain from this
4847 /// 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 ,
5051 string linkPassword = null ,
5152 sys . DateTime ? expires = null ,
5253 LinkAudience audience = null ,
53- RequestedLinkAccessLevel access = null )
54+ RequestedLinkAccessLevel access = null ,
55+ RequestedVisibility requestedVisibility = null )
5456 {
55- this . RequestedVisibility = requestedVisibility ;
57+ this . RequirePassword = requirePassword ;
5658 this . LinkPassword = linkPassword ;
5759 this . Expires = expires ;
5860 this . Audience = audience ;
5961 this . Access = access ;
62+ this . RequestedVisibility = requestedVisibility ;
6063 }
6164
6265 /// <summary>
@@ -71,14 +74,13 @@ public SharedLinkSettings()
7174 }
7275
7376 /// <summary>
74- /// <para>The requested access for this shared link .</para>
77+ /// <para>Boolean flag to enable or disable password protection .</para>
7578 /// </summary>
76- public RequestedVisibility RequestedVisibility { get ; protected set ; }
79+ public bool ? RequirePassword { get ; protected set ; }
7780
7881 /// <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>
8284 /// </summary>
8385 public string LinkPassword { get ; protected set ; }
8486
@@ -102,6 +104,12 @@ public SharedLinkSettings()
102104 /// </summary>
103105 public RequestedLinkAccessLevel Access { get ; protected set ; }
104106
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+
105113 #region Encoder class
106114
107115 /// <summary>
@@ -116,9 +124,9 @@ private class SharedLinkSettingsEncoder : enc.StructEncoder<SharedLinkSettings>
116124 /// <param name="writer">The writer.</param>
117125 public override void EncodeFields ( SharedLinkSettings value , enc . IJsonWriter writer )
118126 {
119- if ( value . RequestedVisibility != null )
127+ if ( value . RequirePassword != null )
120128 {
121- WriteProperty ( "requested_visibility " , value . RequestedVisibility , writer , global :: Dropbox . Api . Sharing . RequestedVisibility . Encoder ) ;
129+ WriteProperty ( "require_password " , value . RequirePassword . Value , writer , enc . BooleanEncoder . Instance ) ;
122130 }
123131 if ( value . LinkPassword != null )
124132 {
@@ -136,6 +144,10 @@ public override void EncodeFields(SharedLinkSettings value, enc.IJsonWriter writ
136144 {
137145 WriteProperty ( "access" , value . Access , writer , global ::Dropbox . Api . Sharing . RequestedLinkAccessLevel . Encoder ) ;
138146 }
147+ if ( value . RequestedVisibility != null )
148+ {
149+ WriteProperty ( "requested_visibility" , value . RequestedVisibility , writer , global ::Dropbox . Api . Sharing . RequestedVisibility . Encoder ) ;
150+ }
139151 }
140152 }
141153
@@ -168,8 +180,8 @@ protected override void SetField(SharedLinkSettings value, string fieldName, enc
168180 {
169181 switch ( fieldName )
170182 {
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 ) ;
173185 break ;
174186 case "link_password" :
175187 value . LinkPassword = enc . StringDecoder . Instance . Decode ( reader ) ;
@@ -183,6 +195,9 @@ protected override void SetField(SharedLinkSettings value, string fieldName, enc
183195 case "access" :
184196 value . Access = global ::Dropbox . Api . Sharing . RequestedLinkAccessLevel . Decoder . Decode ( reader ) ;
185197 break ;
198+ case "requested_visibility" :
199+ value . RequestedVisibility = global ::Dropbox . Api . Sharing . RequestedVisibility . Decoder . Decode ( reader ) ;
200+ break ;
186201 default :
187202 reader . Skip ( ) ;
188203 break ;
0 commit comments