private async Task <bool> HandleMessage(IKafkaMessage <string, InitiateKycResponseModel> message) { var serializedValue = JsonConvert.SerializeObject(message.Value); _logger.LogDebug($"Consumed message in service \nkey: '{ message.Key }' \nvalue: '{ serializedValue }' at {DateTime.UtcNow}"); foreach (var header in message.Headers) { _logger.LogDebug($"Key: { header.Key }\tValue: { header.Value }"); } try { var request = new CheckMrzStatusRequest { UserId = message.Value.UserId, KycId = message.Value.KycId, TaskId = message.Value.MrzTaskId }; var payload = JsonConvert.SerializeObject(request); // Get token from Identity Server var accessToken = await _identityServerClient.RequestClientCredentialsTokenAsync(); // Set token in http client _httpClient.SetBearerToken(accessToken); var response = await _httpClient.PostAsync("api/kyc/checkmrzstatus", new StringContent(payload, Encoding.UTF8, "application/json")); return(response.IsSuccessStatusCode); } catch (Exception e) { _logger.LogError(e, e.Message); } return(false); }
public async Task <ActionResult <CheckMrzStatusResponse> > CheckMrzStatus(CheckMrzStatusRequest request) { var model = _mapper.Map <CheckMrzStatusRequestModel>(request); var result = await _kycService.CheckMrzTaskStatusAsync(model); var response = _mapper.Map <CheckMrzStatusResponse>(result); return(Ok(response)); }