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}")); } }
/// <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); } }