diff --git a/src/Umbraco.PublishedCache.HybridCache/Services/MediaCacheService.cs b/src/Umbraco.PublishedCache.HybridCache/Services/MediaCacheService.cs index 78e456dbf0b1..e1009173461b 100644 --- a/src/Umbraco.PublishedCache.HybridCache/Services/MediaCacheService.cs +++ b/src/Umbraco.PublishedCache.HybridCache/Services/MediaCacheService.cs @@ -1,4 +1,4 @@ -using Microsoft.Extensions.Caching.Hybrid; +using Microsoft.Extensions.Caching.Hybrid; using Microsoft.Extensions.Options; using Umbraco.Cms.Core; using Umbraco.Cms.Core.Models; @@ -8,6 +8,7 @@ using Umbraco.Cms.Infrastructure.HybridCache.Factories; using Umbraco.Cms.Infrastructure.HybridCache.Persistence; using Umbraco.Cms.Infrastructure.HybridCache.Serialization; +using Umbraco.Extensions; namespace Umbraco.Cms.Infrastructure.HybridCache.Services; @@ -20,6 +21,7 @@ internal class MediaCacheService : IMediaCacheService private readonly IPublishedContentFactory _publishedContentFactory; private readonly ICacheNodeFactory _cacheNodeFactory; private readonly IEnumerable _seedKeyProviders; + private readonly IPublishedModelFactory _publishedModelFactory; private readonly CacheSettings _cacheSettings; private HashSet? _seedKeys; @@ -51,6 +53,7 @@ public MediaCacheService( IPublishedContentFactory publishedContentFactory, ICacheNodeFactory cacheNodeFactory, IEnumerable seedKeyProviders, + IPublishedModelFactory publishedModelFactory, IOptions cacheSettings) { _databaseCacheRepository = databaseCacheRepository; @@ -60,6 +63,7 @@ public MediaCacheService( _publishedContentFactory = publishedContentFactory; _cacheNodeFactory = cacheNodeFactory; _seedKeyProviders = seedKeyProviders; + _publishedModelFactory = publishedModelFactory; _cacheSettings = cacheSettings.Value; } @@ -78,7 +82,7 @@ public MediaCacheService( async cancel => await _databaseCacheRepository.GetMediaSourceAsync(idAttempt.Result)); scope.Complete(); - return contentCacheNode is null ? null : _publishedContentFactory.ToIPublishedMedia(contentCacheNode); + return contentCacheNode is null ? null : _publishedContentFactory.ToIPublishedMedia(contentCacheNode).CreateModel(_publishedModelFactory); } public async Task GetByIdAsync(int id) @@ -94,7 +98,7 @@ public MediaCacheService( $"{keyAttempt.Result}", // Unique key to the cache entry async cancel => await _databaseCacheRepository.GetMediaSourceAsync(id)); scope.Complete(); - return contentCacheNode is null ? null : _publishedContentFactory.ToIPublishedMedia(contentCacheNode); + return contentCacheNode is null ? null : _publishedContentFactory.ToIPublishedMedia(contentCacheNode).CreateModel(_publishedModelFactory); } public async Task HasContentByIdAsync(int id) @@ -144,7 +148,7 @@ public async Task SeedAsync(CancellationToken cancellationToken) foreach (Guid key in SeedKeys) { - if(cancellationToken.IsCancellationRequested) + if (cancellationToken.IsCancellationRequested) { break; } @@ -187,7 +191,8 @@ public void Rebuild(IReadOnlyCollection contentTypeIds) private HybridCacheEntryOptions GetSeedEntryOptions() => new() { - Expiration = _cacheSettings.SeedCacheDuration, LocalCacheExpiration = _cacheSettings.SeedCacheDuration, + Expiration = _cacheSettings.SeedCacheDuration, + LocalCacheExpiration = _cacheSettings.SeedCacheDuration, }; private string GetCacheKey(Guid key, bool preview) => preview ? $"{key}+draft" : $"{key}"; diff --git a/src/Umbraco.Web.UI.Client b/src/Umbraco.Web.UI.Client index 7d5d6558e353..00e5576244a1 160000 --- a/src/Umbraco.Web.UI.Client +++ b/src/Umbraco.Web.UI.Client @@ -1 +1 @@ -Subproject commit 7d5d6558e3532f18d1220983e11ee19fceea745d +Subproject commit 00e5576244a11e0fc1ea9aa2b79d3deba04e1609