in src/Services/Infection/Infection.WebApi/Controllers/InfectionController.cs [100:128]
public async Task<IActionResult> AcceptStatusChange([FromBody] AcceptRequest acceptRequest)
{
try
{
var userToken = User.FindFirst("sub")?.Value;
OperationResult operationResult = await infectionService.AcceptStatusAsync(userToken, acceptRequest);
switch (operationResult.Status)
{
case StatusCodes.Status200OK:
logger.LogInformation("Change request is accepted");
return Ok();
case StatusCodes.Status404NotFound:
logger.LogWarning(operationResult.ErrorMessage);
return ActionError(operationResult.Status, new InnerError(ErrorTarget.AcceptStatusCodeNotFound, operationResult.ErrorMessage));
case StatusCodes.Status406NotAcceptable:
logger.LogWarning(operationResult.ErrorMessage);
return ActionError(operationResult.Status, new InnerError(ErrorTarget.AcceptStatusCodeExpired, operationResult.ErrorMessage));
}
logger.LogError(operationResult.ErrorMessage);
return InternalServerError(new InnerError(ErrorTarget.AcceptStatusFailed, "Unhandled exception."));
}
catch (Exception e)
{
logger.LogError(e, $"Unhandled exception: {e.Message}");
return InternalServerError(new InnerError(ErrorTarget.AcceptStatusRejected, "Unhandled exception."));
}
}