Property level validation for Management API (#15644)
* Property level validation for content - initial implementation * Always succeed create/update regardless of property level validation errors * Move old complex editor validation classes to Web.BackOffice so they will be deleted * Include operation status and property validation errors in ProblemDetails * Refactor property validation to its own service(s) * Make the problem details builder a little more generic towards extensions * Validation for item and branch publish * Moved malplaced test * Get rid of a TODO * Integration tests for content validation service * Simplify validation service * Add missing response types to create and update for document and media * Remove test that no longer applies * Use "errors" for model validation errors (property validation errors) * Split create/update and validation into their own endpoints * Fix forward merge * Correct wrong assumption for missing properties * Remove localization from validation error messages - decreases dependencies, adds a lot of obsolete constructors * Reuse existing validation service + support custom error messages * Fix merge errors * Review comments
This commit is contained in:
@@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Umbraco.Cms.Api.Common.Attributes;
|
||||
using Umbraco.Cms.Api.Common.Builders;
|
||||
using Umbraco.Cms.Api.Common.Filters;
|
||||
using Umbraco.Cms.Api.Common.Mvc.ActionResults;
|
||||
using Umbraco.Cms.Api.Management.DependencyInjection;
|
||||
@@ -52,4 +53,8 @@ public abstract class ManagementApiControllerBase : Controller, IUmbracoFeature
|
||||
/// </remarks>
|
||||
// Duplicate code copied between Management API and Delivery API.
|
||||
protected IActionResult Forbidden() => new StatusCodeResult(StatusCodes.Status403Forbidden);
|
||||
|
||||
protected IActionResult OperationStatusResult<TEnum>(TEnum status, Func<ProblemDetailsBuilder, IActionResult> result)
|
||||
where TEnum : Enum
|
||||
=> result(new ProblemDetailsBuilder().WithOperationStatus(status));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user