Ejemplo n.º 1
0
        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)));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 public static CreateUserDTO MakeSimpleCreateUserDto(ApiUserDTO apiUser)
 {
     return(new()
     {
         user = apiUser,
         organizationId = TestEnvironment.DefaultOrganizationId,
         sendMailOnCreation = false
     });
 }
Ejemplo n.º 5
0
        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" }));
        }
Ejemplo n.º 6
0
 private static async Task DisableApiAccessForUserAsync(ApiUserDTO userDto, int id)
 {
     userDto.HasApiAccess = false;
     await HttpApi.PatchOdataUserAsync(userDto, id);
 }