public async Task <ActionResult <UserDto> > AddUserAsync([FromBody] OrganizationUserPasswordDto input)
    {
        // Map.
        var user = _mapper.Map <User>(input);

        // Act.
        // FUTURE: Do in 1 call.
        user = await _userRepository.AddGetAsync(user);

        await _signInService.SetPasswordAsync(user.Id, input.Password);

        await _organizationUserRepository.AddAsync(_appContext.TenantId, user.Id, input.OrganizationRole);

        // Map.
        var output = _mapper.Map <UserDto>(user);

        // Return.
        return(Ok(output));
    }
Exemple #2
0
    public async Task <IActionResult> ChangePasswordAsync([FromBody] ChangePasswordDto input)
    {
        // Act.
        if (!await _signInService.CheckPasswordAsync(_appContext.UserId, input.OldPassword))
        {
            throw new InvalidCredentialException();
        }

        await _signInService.SetPasswordAsync(_appContext.UserId, input.NewPassword);

        // Return.
        return(NoContent());
    }