* Applying [ApiController] to ManagementApiControllerBase and the rest derive it from it
* Removing [ApiController] from deriving controllers
* Removing [ApiVersion("1.0")] from controller base
* Cleanup
* [ApiController] from deriving DeliveryApiControllerBase controller
* Removed the "New" from all policy names now that the legacy backoffice is gone.
* more policy renaming
* more policy renaming
* Uncommenting tests
* Cleanup
* Removing unused policy names
* Renaming AdminUserEditsRequireAdmin to a more meaningful UserPermissionByResource
* Completing TODO and some alphabetical rearranging
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
* Refactor to accept multiple cultures
* Add test
* Move logic into service
* Remember to complete scope
* Move scope creation.
* Add test
* Close scope on early return
* Handle invalid cultures with bad request
* Handle valid cultures based on content
* Change return type if a culture is required
* Refactor content publishing service to have 1 unpublish method
* Update tests
* Return better error
* Scope completes
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Only use datetimeoffset in API
* Updated publish endpoint to take schedule information
* Fixed test builds
* OpenApi updates
* Update OpenApi schema
* Fixed issues with publishing.
* Added validation before publishing. Had to move a lot of classes to core.
* added missing files
* Added validation info to error
* Typo
* Clean up and adding missing result
* Updating to AvailableCultures instead of PublishedCultures
* Handle time needs to be in the future
* validate only cultures that needs to be published
* Fix typos
* Filter out cultures that we are not trying to publish from the validation errors
* Don't filter out only the available cultures, to accommodate non-created variants
* Only allow publish of existing cultures
* Fixed issues found in test
* fixed build
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
* Clean up ContentControllerBase and move document related operations to DocumentControllerBase
* Rename content to document
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
* 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
* Implement allowed children of root
* Allow children by key controller
* Update to be document controlller instead
* Fix AllowedChildrenOfRootDocumentController
* Create GetAllAsync method in ContentTypeServiceBaseOfTRepositoryTItemTService
* Revert "Create GetAllAsync method in ContentTypeServiceBaseOfTRepositoryTItemTService"
This reverts commit b01b5b924099e58bb53246e4b4ba5fa15358d0cd.
* Implement attemp pattern in IContentTypeService
* Create IContentCreatingService
* Use new contentCreatingService in controller
* Revert if statement
* Use total from attempt
* Throw exceptions instead of returning attempt
* Wrap in scope
* Rename to GetAllowedChildrenContentTypesAsync
* Fix summary
* Removed unneccessary await Task.FromResult
---------
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Updated API version package and moved attribute to each controller as it cannot be inherited.
* Ignore "$type" on types implementing interfaces in the delivery api
* CRUD API for media + get by ID for media types
* A little housekeeping for documents (align with media)
* Update Open API json
* Add messages to NotFound results (both content and media)
* Review changes; use same model for content and media URLs + return bad request when trying to move something to trash that is already in trash
* Fix bad merge + rename base (response) classes appropriately between both media and content types