Fixed: Tag deletion via api if tag is still in use

This commit is contained in:
Taloth Saldono
2019-06-15 20:11:50 +02:00
committed by Qstick
parent d41ae7b172
commit a99ee41f38
4 changed files with 58 additions and 11 deletions
@@ -24,26 +24,20 @@ namespace Lidarr.Http.ErrorManagement
{
_logger.Trace("Handling Exception");
var apiException = exception as ApiException;
if (apiException != null)
if (exception is ApiException apiException)
{
_logger.Warn(apiException, "API Error");
return apiException.ToErrorResponse(context);
}
var validationException = exception as ValidationException;
if (validationException != null)
if (exception is ValidationException validationException)
{
_logger.Warn("Invalid request {0}", validationException.Message);
return validationException.Errors.AsResponse(context, HttpStatusCode.BadRequest);
}
var clientException = exception as NzbDroneClientException;
if (clientException != null)
if (exception is NzbDroneClientException clientException)
{
return new ErrorModel
{
@@ -52,9 +46,25 @@ namespace Lidarr.Http.ErrorManagement
}.AsResponse(context, (HttpStatusCode)clientException.StatusCode);
}
var sqLiteException = exception as SQLiteException;
if (exception is ModelNotFoundException notFoundException)
{
return new ErrorModel
{
Message = exception.Message,
Description = exception.ToString()
}.AsResponse(context, HttpStatusCode.NotFound);
}
if (sqLiteException != null)
if (exception is ModelConflictException conflictException)
{
return new ErrorModel
{
Message = exception.Message,
Description = exception.ToString()
}.AsResponse(context, HttpStatusCode.Conflict);
}
if (exception is SQLiteException sqLiteException)
{
if (context.Request.Method == "PUT" || context.Request.Method == "POST")
{