Determine urls at save and publish time (#17033)

* Started work on service

* temp work

* temp commit

* Temp commit

* Added more routing logic

* Fixed tests

* Refactor and prepare for isdraft

* Work on drafts

* Fixed tests

* Move to enlistment to ensure caches is only updated on scope complete

* Clean up and handle null cultures

* Added functionality to the INavigationQueryService to get root keys

* Added migration

* Fixed issue with navigation

* Added migration

* Temp commit, move to cache refreshers.

* Fixed issues

* List urls

* fix build

* Fixed integration tests

* Refactor to create new content finder instead of changing the old

* rollback wrong commited line

* Clean up, and use docuemnt url service for index

* Fixed List endpoin

* Do not use Navigation service in methods intended by management api

* Fixed examine tests

* Make methods virtual

* Use domain from published request

* Use hybrid cache from new content finder

* Eliminate nucache usage

* Fixed issue with delivery api and url generation

* Fixed linux tests

* Added hybrid cache to all integration tests
This commit is contained in:
Bjarke Berg
2024-09-27 09:12:19 +02:00
committed by GitHub
parent 3180ab3ed0
commit 734b3cce2c
50 changed files with 2087 additions and 145 deletions

View File

@@ -10,16 +10,19 @@ namespace Umbraco.Cms.Core.Cache;
public sealed class DomainCacheRefresher : PayloadCacheRefresherBase<DomainCacheRefresherNotification, DomainCacheRefresher.JsonPayload>
{
private readonly IPublishedSnapshotService _publishedSnapshotService;
private readonly IDomainCacheService _domainCacheService;
public DomainCacheRefresher(
AppCaches appCaches,
IJsonSerializer serializer,
IPublishedSnapshotService publishedSnapshotService,
IEventAggregator eventAggregator,
ICacheRefresherNotificationFactory factory)
ICacheRefresherNotificationFactory factory,
IDomainCacheService domainCacheService)
: base(appCaches, serializer, eventAggregator, factory)
{
_publishedSnapshotService = publishedSnapshotService;
_domainCacheService = domainCacheService;
}
#region Json
@@ -62,6 +65,8 @@ public sealed class DomainCacheRefresher : PayloadCacheRefresherBase<DomainCache
// notify
_publishedSnapshotService.Notify(payloads);
_domainCacheService.Refresh(payloads);
// then trigger event
base.Refresh(payloads);
}