public async Task <ActionResult <List <HearingsByUsernameForDeletionResponse> > > GetHearingsByUsernameForDeletionAsync([FromQuery] string username) { try { var response = await _bookingsApiClient.GetHearingsByUsernameForDeletionAsync(username); return(Ok(response)); } catch (BookingsApiException e) { switch (e.StatusCode) { case (int)HttpStatusCode.NotFound: return(NotFound()); case (int)HttpStatusCode.Unauthorized: return(Unauthorized()); default: throw; } } }
private async Task <bool> CheckPersonExistsInBookingsAsync(string username) { try { _logger.LogDebug("Attempting to check if {username} exists in Bookings API", username); await _bookingsApiClient.GetHearingsByUsernameForDeletionAsync(username); _logger.LogDebug("{username} exists in Bookings API", username); return(true); } catch (BookingsApiException e) { _logger.LogError(e, "Failed to get person {username} in User API. Status Code {StatusCode} - Message {Message}", username, e.StatusCode, e.Response); if (e.StatusCode == (int)HttpStatusCode.NotFound) { _logger.LogWarning(e, "{username} not found. Status Code {StatusCode} - Message {Message}", username, e.StatusCode, e.Response); return(false); } throw; } }