示例#1
0
        public async Task <ActionResult <ChandlerUser> > RegisterAccountAsync([FromBody] AccountDetailsBody details)
        {
            if (string.IsNullOrEmpty(details.Email) || string.IsNullOrEmpty(details.Username) || string.IsNullOrEmpty(details.Password))
            {
                return(this.BadRequest("Parameters cannot be null or empty"));
            }
            var user = await this.Helper.FindUserAsync(details.Username, details.Email);

            if (user != null)
            {
                return(this.BadRequest("Email is already registered"));
            }
            var newusr = new ChandlerUser()
            {
                UserName = details.Username,
                Email    = details.Email
            };
            var idenres = await this.UserManager.CreateAsync(newusr, details.Password);

            if (idenres.Succeeded)
            {
                return(Ok(newusr));
            }
            else
            {
                return(this.StatusCode(500, $"Unable to register new user: {idenres.Errors.First().Description}"));
            }
        }
示例#2
0
        /// <summary>
        /// Check db for admin users, if none, add a new one from config options
        /// </summary>
        /// <returns></returns>
        public async Task CheckForDefaultAdminAsync()
        {
            var newusr = new ChandlerUser()
            {
                UserName  = this.Config.SiteConfig.AdminUsername,
                Email     = this.Config.SiteConfig.AdminEmail,
                AdminInfo = new AdminInfo()
                {
                    IsServerAdmin = true
                }
            };

            var res = await this.UserManager.CreateAsync(newusr, this.Config.SiteConfig.AdminPassword);

            if (!res.Succeeded)
            {
                throw new Exception(res.Errors.First().Description);
            }
        }