@@ -13,7 +13,8 @@ namespace Dropbox.Api.Team
1313 /// <summary>
1414 /// <para>The member add arg object</para>
1515 /// </summary>
16- public class MemberAddArg
16+ /// <seealso cref="Global::Dropbox.Api.Team.MemberAddArgBase" />
17+ public class MemberAddArg : MemberAddArgBase
1718 {
1819 #pragma warning disable 108
1920
@@ -40,74 +41,23 @@ public class MemberAddArg
4041 /// send_welcome_email is false, no email invitation will be sent to the user. This may
4142 /// be useful for apps using single sign-on (SSO) flows for onboarding that want to
4243 /// handle announcements themselves.</param>
43- /// <param name="role">The role</param>
4444 /// <param name="isDirectoryRestricted">Whether a user is directory restricted.</param>
45+ /// <param name="role">The role</param>
4546 public MemberAddArg ( string memberEmail ,
4647 string memberGivenName = null ,
4748 string memberSurname = null ,
4849 string memberExternalId = null ,
4950 string memberPersistentId = null ,
5051 bool sendWelcomeEmail = true ,
51- AdminTier role = null ,
52- bool ? isDirectoryRestricted = null )
52+ bool ? isDirectoryRestricted = null ,
53+ AdminTier role = null )
54+ : base ( memberEmail , memberGivenName , memberSurname , memberExternalId , memberPersistentId , sendWelcomeEmail , isDirectoryRestricted )
5355 {
54- if ( memberEmail == null )
55- {
56- throw new sys . ArgumentNullException ( "memberEmail" ) ;
57- }
58- if ( memberEmail . Length > 255 )
59- {
60- throw new sys . ArgumentOutOfRangeException ( "memberEmail" , "Length should be at most 255" ) ;
61- }
62- if ( ! re . Regex . IsMatch ( memberEmail , @"\A(?:^['&A-Za-z0-9._%+-]+@[A-Za-z0-9-][A-Za-z0-9.-]*\.[A-Za-z]{2,15}$)\z" ) )
63- {
64- throw new sys . ArgumentOutOfRangeException ( "memberEmail" , @"Value should match pattern '\A(?:^['&A-Za-z0-9._%+-]+@[A-Za-z0-9-][A-Za-z0-9.-]*\.[A-Za-z]{2,15}$)\z'" ) ;
65- }
66-
67- if ( memberGivenName != null )
68- {
69- if ( memberGivenName . Length > 100 )
70- {
71- throw new sys . ArgumentOutOfRangeException ( "memberGivenName" , "Length should be at most 100" ) ;
72- }
73- if ( ! re . Regex . IsMatch ( memberGivenName , @"\A(?:[^/:?*<>""|]*)\z" ) )
74- {
75- throw new sys . ArgumentOutOfRangeException ( "memberGivenName" , @"Value should match pattern '\A(?:[^/:?*<>""|]*)\z'" ) ;
76- }
77- }
78-
79- if ( memberSurname != null )
80- {
81- if ( memberSurname . Length > 100 )
82- {
83- throw new sys . ArgumentOutOfRangeException ( "memberSurname" , "Length should be at most 100" ) ;
84- }
85- if ( ! re . Regex . IsMatch ( memberSurname , @"\A(?:[^/:?*<>""|]*)\z" ) )
86- {
87- throw new sys . ArgumentOutOfRangeException ( "memberSurname" , @"Value should match pattern '\A(?:[^/:?*<>""|]*)\z'" ) ;
88- }
89- }
90-
91- if ( memberExternalId != null )
92- {
93- if ( memberExternalId . Length > 64 )
94- {
95- throw new sys . ArgumentOutOfRangeException ( "memberExternalId" , "Length should be at most 64" ) ;
96- }
97- }
98-
9956 if ( role == null )
10057 {
10158 role = global ::Dropbox . Api . Team . AdminTier . MemberOnly . Instance ;
10259 }
103- this . MemberEmail = memberEmail ;
104- this . MemberGivenName = memberGivenName ;
105- this . MemberSurname = memberSurname ;
106- this . MemberExternalId = memberExternalId ;
107- this . MemberPersistentId = memberPersistentId ;
108- this . SendWelcomeEmail = sendWelcomeEmail ;
10960 this . Role = role ;
110- this . IsDirectoryRestricted = isDirectoryRestricted ;
11161 }
11262
11363 /// <summary>
@@ -118,54 +68,14 @@ public MemberAddArg(string memberEmail,
11868 [ sys . ComponentModel . EditorBrowsable ( sys . ComponentModel . EditorBrowsableState . Never ) ]
11969 public MemberAddArg ( )
12070 {
121- this . SendWelcomeEmail = true ;
12271 this . Role = global ::Dropbox . Api . Team . AdminTier . MemberOnly . Instance ;
12372 }
12473
125- /// <summary>
126- /// <para>Gets the member email of the member add arg</para>
127- /// </summary>
128- public string MemberEmail { get ; protected set ; }
129-
130- /// <summary>
131- /// <para>Member's first name.</para>
132- /// </summary>
133- public string MemberGivenName { get ; protected set ; }
134-
135- /// <summary>
136- /// <para>Member's last name.</para>
137- /// </summary>
138- public string MemberSurname { get ; protected set ; }
139-
140- /// <summary>
141- /// <para>External ID for member.</para>
142- /// </summary>
143- public string MemberExternalId { get ; protected set ; }
144-
145- /// <summary>
146- /// <para>Persistent ID for member. This field is only available to teams using
147- /// persistent ID SAML configuration.</para>
148- /// </summary>
149- public string MemberPersistentId { get ; protected set ; }
150-
151- /// <summary>
152- /// <para>Whether to send a welcome email to the member. If send_welcome_email is
153- /// false, no email invitation will be sent to the user. This may be useful for apps
154- /// using single sign-on (SSO) flows for onboarding that want to handle announcements
155- /// themselves.</para>
156- /// </summary>
157- public bool SendWelcomeEmail { get ; protected set ; }
158-
15974 /// <summary>
16075 /// <para>Gets the role of the member add arg</para>
16176 /// </summary>
16277 public AdminTier Role { get ; protected set ; }
16378
164- /// <summary>
165- /// <para>Whether a user is directory restricted.</para>
166- /// </summary>
167- public bool ? IsDirectoryRestricted { get ; protected set ; }
168-
16979 #region Encoder class
17080
17181 /// <summary>
@@ -198,11 +108,11 @@ public override void EncodeFields(MemberAddArg value, enc.IJsonWriter writer)
198108 WriteProperty ( "member_persistent_id" , value . MemberPersistentId , writer , enc . StringEncoder . Instance ) ;
199109 }
200110 WriteProperty ( "send_welcome_email" , value . SendWelcomeEmail , writer , enc . BooleanEncoder . Instance ) ;
201- WriteProperty ( "role" , value . Role , writer , global ::Dropbox . Api . Team . AdminTier . Encoder ) ;
202111 if ( value . IsDirectoryRestricted != null )
203112 {
204113 WriteProperty ( "is_directory_restricted" , value . IsDirectoryRestricted . Value , writer , enc . BooleanEncoder . Instance ) ;
205114 }
115+ WriteProperty ( "role" , value . Role , writer , global ::Dropbox . Api . Team . AdminTier . Encoder ) ;
206116 }
207117 }
208118
@@ -253,12 +163,12 @@ protected override void SetField(MemberAddArg value, string fieldName, enc.IJson
253163 case "send_welcome_email" :
254164 value . SendWelcomeEmail = enc . BooleanDecoder . Instance . Decode ( reader ) ;
255165 break ;
256- case "role" :
257- value . Role = global ::Dropbox . Api . Team . AdminTier . Decoder . Decode ( reader ) ;
258- break ;
259166 case "is_directory_restricted" :
260167 value . IsDirectoryRestricted = enc . BooleanDecoder . Instance . Decode ( reader ) ;
261168 break ;
169+ case "role" :
170+ value . Role = global ::Dropbox . Api . Team . AdminTier . Decoder . Decode ( reader ) ;
171+ break ;
262172 default :
263173 reader . Skip ( ) ;
264174 break ;
0 commit comments