public async Task <IActionResult> SignUp([FromBody] ApiUserDTO user) { if (ModelState.IsValid && user.Password.Equals(user.ConfirmPassword)) { var apiUser = new ApiUser { CreateDate = DateTime.Now, Del = false, Verified = false, Email = user.Email, UserName = user.Email }; var result = await _userManager.CreateAsync(apiUser, user.Password); await _userManager.AddToRoleAsync(apiUser, "User"); if (result.Succeeded) { return(Ok()); } return(BadRequest(result.Errors)); } return(BadRequest(ModelState.Values.Select(x => x.Errors))); }
public static async Task <int> CreateOdataUserAsync(ApiUserDTO userDto, OrganizationRole role, int organizationId = TestEnvironment.DefaultOrganizationId) { var cookie = await GetCookieAsync(OrganizationRole.GlobalAdmin); var createUserDto = ObjectCreateHelper.MakeSimpleCreateUserDto(userDto); int userId; using (var createdResponse = await PostWithCookieAsync(TestEnvironment.CreateUrl("odata/Users/Users.Create"), cookie, createUserDto)) { Assert.Equal(HttpStatusCode.Created, createdResponse.StatusCode); var response = await createdResponse.ReadResponseBodyAsAsync <UserDTO>(); userId = response.Id; Assert.Equal(userDto.Email, response.Email); } using (var addedRole = await SendAssignRoleToUserAsync(userId, role, organizationId)) { Assert.Equal(HttpStatusCode.Created, addedRole.StatusCode); } return(userId); }
public static async Task <HttpResponseMessage> PatchOdataUserAsync(ApiUserDTO userDto, int userId) { var cookie = await GetCookieAsync(OrganizationRole.GlobalAdmin); using var patch = await PatchWithCookieAsync(TestEnvironment.CreateUrl($"odata/Users({userId})"), cookie, userDto); Assert.Equal(HttpStatusCode.NoContent, patch.StatusCode); return(patch); }
public static CreateUserDTO MakeSimpleCreateUserDto(ApiUserDTO apiUser) { return(new() { user = apiUser, organizationId = TestEnvironment.DefaultOrganizationId, sendMailOnCreation = false }); }
public async Task <IActionResult> Authenticate([FromBody] ApiUserDTO apiUserDto) { var command = new AuthenticateAPIClientCommand(apiUserDto.Username, apiUserDto.Password, appSettings.Secret); var result = await mediator.Send(command); if (result.IsSuccessful) { apiUserDto.Token = result.IssuedToken; return(Ok(apiUserDto)); } return(Unauthorized(new { message = "Username or password is incorrect" })); }
private static async Task DisableApiAccessForUserAsync(ApiUserDTO userDto, int id) { userDto.HasApiAccess = false; await HttpApi.PatchOdataUserAsync(userDto, id); }