public async Task AcceptStatusChange()

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."));
            }
        }