예제 #1
0
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="MemberAddArg" /> class.</para>
        /// </summary>
        /// <param name="memberEmail">The member email</param>
        /// <param name="memberGivenName">Member's first name.</param>
        /// <param name="memberSurname">Member's last name.</param>
        /// <param name="memberExternalId">External ID for member.</param>
        /// <param name="sendWelcomeEmail">Whether to send a welcome email to the member. If
        /// send_welcome_email is false, no email invitation will be sent to the user. This may
        /// be useful for apps using single sign-on (SSO) flows for onboarding that want to
        /// handle announcements themselves.</param>
        /// <param name="role">The role</param>
        public MemberAddArg(string memberEmail,
                            string memberGivenName,
                            string memberSurname,
                            string memberExternalId = null,
                            bool sendWelcomeEmail   = true,
                            AdminTier role          = null)
        {
            if (memberEmail == null)
            {
                throw new sys.ArgumentNullException("memberEmail");
            }
            else if (!re.Regex.IsMatch(memberEmail, @"\A(?:^['&A-Za-z0-9._%+-]+@[A-Za-z0-9-][A-Za-z0-9.-]*.[A-Za-z]{2,15}$)\z"))
            {
                throw new sys.ArgumentOutOfRangeException("memberEmail");
            }

            if (memberGivenName == null)
            {
                throw new sys.ArgumentNullException("memberGivenName");
            }
            else if (memberGivenName.Length < 1 || !re.Regex.IsMatch(memberGivenName, @"\A(?:[^/:?*<>""|]*)\z"))
            {
                throw new sys.ArgumentOutOfRangeException("memberGivenName");
            }

            if (memberSurname == null)
            {
                throw new sys.ArgumentNullException("memberSurname");
            }
            else if (memberSurname.Length < 1 || !re.Regex.IsMatch(memberSurname, @"\A(?:[^/:?*<>""|]*)\z"))
            {
                throw new sys.ArgumentOutOfRangeException("memberSurname");
            }

            if (memberExternalId != null && (memberExternalId.Length > 64))
            {
                throw new sys.ArgumentOutOfRangeException("memberExternalId");
            }

            if (role == null)
            {
                role = AdminTier.MemberOnly.Instance;
            }

            this.MemberEmail      = memberEmail;
            this.MemberGivenName  = memberGivenName;
            this.MemberSurname    = memberSurname;
            this.MemberExternalId = memberExternalId;
            this.SendWelcomeEmail = sendWelcomeEmail;
            this.Role             = role;
        }
예제 #2
0
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="TeamMemberInfo" /> class.</para>
        /// </summary>
        /// <param name="profile">Profile of a user as a member of a team.</param>
        /// <param name="role">The user's role in the team.</param>
        public TeamMemberInfo(TeamMemberProfile profile,
                              AdminTier role)
        {
            if (profile == null)
            {
                throw new sys.ArgumentNullException("profile");
            }

            if (role == null)
            {
                throw new sys.ArgumentNullException("role");
            }

            this.Profile = profile;
            this.Role    = role;
        }
예제 #3
0
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="MembersSetPermissionsResult" />
        /// class.</para>
        /// </summary>
        /// <param name="teamMemberId">The member ID of the user to which the change was
        /// applied.</param>
        /// <param name="role">The role after the change.</param>
        public MembersSetPermissionsResult(string teamMemberId,
                                           AdminTier role)
        {
            if (teamMemberId == null)
            {
                throw new sys.ArgumentNullException("teamMemberId");
            }

            if (role == null)
            {
                throw new sys.ArgumentNullException("role");
            }

            this.TeamMemberId = teamMemberId;
            this.Role         = role;
        }
예제 #4
0
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="MembersSetPermissionsArg" />
        /// class.</para>
        /// </summary>
        /// <param name="user">Identity of user whose role will be set.</param>
        /// <param name="newRole">The new role of the member.</param>
        public MembersSetPermissionsArg(UserSelectorArg user,
                                        AdminTier newRole)
        {
            if (user == null)
            {
                throw new sys.ArgumentNullException("user");
            }

            if (newRole == null)
            {
                throw new sys.ArgumentNullException("newRole");
            }

            this.User    = user;
            this.NewRole = newRole;
        }
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="MemberAddArg" /> class.</para>
        /// </summary>
        /// <param name="memberEmail">The member email</param>
        /// <param name="memberGivenName">Member's first name.</param>
        /// <param name="memberSurname">Member's last name.</param>
        /// <param name="memberExternalId">External ID for member.</param>
        /// <param name="memberPersistentId">Persistent ID for member. This field is only
        /// available to teams using persistent ID SAML configuration.</param>
        /// <param name="sendWelcomeEmail">Whether to send a welcome email to the member. If
        /// send_welcome_email is false, no email invitation will be sent to the user. This may
        /// be useful for apps using single sign-on (SSO) flows for onboarding that want to
        /// handle announcements themselves.</param>
        /// <param name="role">The role</param>
        /// <param name="isDirectoryRestricted">Whether a user is directory restricted.</param>
        public MemberAddArg(string memberEmail,
                            string memberGivenName     = null,
                            string memberSurname       = null,
                            string memberExternalId    = null,
                            string memberPersistentId  = null,
                            bool sendWelcomeEmail      = true,
                            AdminTier role             = null,
                            bool?isDirectoryRestricted = null)
        {
            if (memberEmail == null)
            {
                throw new sys.ArgumentNullException("memberEmail");
            }
            if (memberEmail.Length > 255)
            {
                throw new sys.ArgumentOutOfRangeException("memberEmail", "Length should be at most 255");
            }
            if (!re.Regex.IsMatch(memberEmail, @"\A(?:^['&A-Za-z0-9._%+-]+@[A-Za-z0-9-][A-Za-z0-9.-]*.[A-Za-z]{2,15}$)\z"))
            {
                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'");
            }

            if (memberGivenName != null)
            {
                if (memberGivenName.Length > 100)
                {
                    throw new sys.ArgumentOutOfRangeException("memberGivenName", "Length should be at most 100");
                }
                if (!re.Regex.IsMatch(memberGivenName, @"\A(?:[^/:?*<>""|]*)\z"))
                {
                    throw new sys.ArgumentOutOfRangeException("memberGivenName", @"Value should match pattern '\A(?:[^/:?*<>""|]*)\z'");
                }
            }

            if (memberSurname != null)
            {
                if (memberSurname.Length > 100)
                {
                    throw new sys.ArgumentOutOfRangeException("memberSurname", "Length should be at most 100");
                }
                if (!re.Regex.IsMatch(memberSurname, @"\A(?:[^/:?*<>""|]*)\z"))
                {
                    throw new sys.ArgumentOutOfRangeException("memberSurname", @"Value should match pattern '\A(?:[^/:?*<>""|]*)\z'");
                }
            }

            if (memberExternalId != null)
            {
                if (memberExternalId.Length > 64)
                {
                    throw new sys.ArgumentOutOfRangeException("memberExternalId", "Length should be at most 64");
                }
            }

            if (role == null)
            {
                role = global::Dropbox.Api.Team.AdminTier.MemberOnly.Instance;
            }
            this.MemberEmail        = memberEmail;
            this.MemberGivenName    = memberGivenName;
            this.MemberSurname      = memberSurname;
            this.MemberExternalId   = memberExternalId;
            this.MemberPersistentId = memberPersistentId;
            this.SendWelcomeEmail   = sendWelcomeEmail;
            this.Role = role;
            this.IsDirectoryRestricted = isDirectoryRestricted;
        }