public async Task <IActionResult> Register([FromBody] ClientAddOrUpdateModel clientModel) { //throw new System.Exception("sadasdasd"); string refresh_token = _tekonManager.GenerateRefreshToken(); var registeredClient = await _clientService.RegisterAsync(clientModel, refresh_token); string access_token = _tekonManager.GenerateAccessToken(registeredClient.Id); return(Ok(new { client = registeredClient, access_token, refresh_token })); }
public async Task <bool> UpdateClientAsync(ClientAddOrUpdateModel client) { if (!await ClientExists(client.Id)) { return(false); } var updatebleProps = new[] { nameof(Client.DateOfBirth), nameof(Client.FirstName), nameof(Client.LastName), nameof(Client.PasswordHash) }; var clientToUpdate = _mapper.Map <Client>(client); clientToUpdate.PasswordHash = _passwordService.ComputeHash(client.Password); return(await _clientRepository.UpdateAsync(clientToUpdate, updatebleProps)); }
public async Task <ClientReadModel> RegisterAsync(ClientAddOrUpdateModel client, string refreshToken) { var clientToSave = _mapper.Map <Client>(client); clientToSave.Id = Guid.NewGuid(); clientToSave.Created = DateTime.Now; clientToSave.PasswordHash = _passwordService.ComputeHash(client.Password); await _clientRepository.BeginTransactionAsync(); try { await _clientRepository.AddAsync(clientToSave); await AddRefreshTokenAsync(clientToSave.Id, refreshToken); _clientRepository.CommitTransaction(); return(_mapper.Map <ClientReadModel>(clientToSave)); } catch (Exception) { _clientRepository.RollbackTransaction(); throw; } }
public async Task <IActionResult> Update([FromBody] ClientAddOrUpdateModel clientModel) { var updated = await _clientService.UpdateClientAsync(clientModel); return(updated ? (IActionResult)Ok() : BadRequest()); }