Publishing in the Management API (#14774)

* make CoreScopeProvider available for derived classes

* Create publish controller

* Add publish functionality

* Remove unneeded using

* Implement publish for multiple cultures

* support multiple cultures in controler

* Dont validate properties

* Refactor to use PublishingOperationStatus

* refactor to use proper publish async methods

* Refactor publish logic into own service

* Commit some demo code

* Add notes about what errors can happen when publishing

* Rework ContentPublishingService and introduce explicit Publish and PublishBranch methods in ContentService

* Fix merge

* Allow the publishing strategy to do its job

* Improved check for unsaved changes

* Make the old content controller work (as best possible)

* Remove SaveAndPublish (SaveAndPublishBranch) from all tests

* Proper guards for invalid cultures when publishing

* Fix edge cases for property validation and content unpublishing + add unpublishing to ContentPublishingService

* Clear out a few TODOs - we'll accept the behavior for now

* Unpublish controller

* Fix merge

* Fix branch publish notifications

* Added extra test for publishing unpublished cultures and added FIXME comments for when we fix the state of published cultures in content

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>
This commit is contained in:
Kenn Jacobsen
2023-11-22 12:52:08 +01:00
committed by GitHub
parent 42dd2da579
commit 012b43a1c2
41 changed files with 2017 additions and 567 deletions

View File

@@ -47,11 +47,12 @@ internal class ContentVersionCleanupServiceTest : UmbracoIntegrationTest
ContentTypeService.Save(contentTypeA);
var content = ContentBuilder.CreateSimpleContent(contentTypeA);
ContentService.SaveAndPublish(content);
ContentService.Save(content);
ContentService.Publish(content, Array.Empty<string>());
for (var i = 0; i < 10; i++)
{
ContentService.SaveAndPublish(content);
ContentService.Publish(content, Array.Empty<string>());
}
var before = GetReport();