diff --git a/src/ReC.API/Middleware/ExceptionHandlingMiddleware.cs b/src/ReC.API/Middleware/ExceptionHandlingMiddleware.cs index edb3684..478f18d 100644 --- a/src/ReC.API/Middleware/ExceptionHandlingMiddleware.cs +++ b/src/ReC.API/Middleware/ExceptionHandlingMiddleware.cs @@ -123,6 +123,40 @@ public class ExceptionHandlingMiddleware }; break; + case UpdateObjectFailedException updateFailedEx: + logger.LogError( + updateFailedEx, + "Update operation failed during request processing. {procedure}", + JsonSerializer.Serialize( + updateFailedEx.Procedure, + options: new() { WriteIndented = true } + )); + + context.Response.StatusCode = (int)HttpStatusCode.InternalServerError; + details = new() + { + Title = "Update Operation Failed", + Detail = updateFailedEx.Message + }; + break; + + case DeleteObjectFailedException deleteFailedEx: + logger.LogError( + deleteFailedEx, + "Delete operation failed during request processing. {procedure}", + JsonSerializer.Serialize( + deleteFailedEx.Procedure, + options: new() { WriteIndented = true } + )); + + context.Response.StatusCode = (int)HttpStatusCode.InternalServerError; + details = new() + { + Title = "Delete Operation Failed", + Detail = deleteFailedEx.Message + }; + break; + default: logger.LogError(exception, "Unhandled exception occurred."); context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;