using System.Collections.Generic; using Umbraco.Core.Models; using Umbraco.Web.PublishedCache.NuCache; namespace Umbraco.Infrastructure.PublishedCache.Persistence { public interface INuCacheContentRepository { void DeleteContentItem(IContentBase item); IEnumerable GetAllContentSources(); IEnumerable GetAllMediaSources(); IEnumerable GetBranchContentSources(int id); IEnumerable GetBranchMediaSources(int id); ContentNodeKit GetContentSource(int id); ContentNodeKit GetMediaSource(int id); IEnumerable GetTypeContentSources(IEnumerable ids); IEnumerable GetTypeMediaSources(IEnumerable ids); /// /// Refreshes the nucache database row for the /// void RefreshContent(IContent content); /// /// Refreshes the nucache database row for the (used for media/members) /// void RefreshEntity(IContentBase content); /// /// Rebuilds the caches for content, media and/or members based on the content type ids specified /// /// The operation batch size to process the items /// If not null will process content for the matching content types, if empty will process all content /// If not null will process content for the matching media types, if empty will process all media /// If not null will process content for the matching members types, if empty will process all members void Rebuild( int groupSize = 5000, IReadOnlyCollection contentTypeIds = null, IReadOnlyCollection mediaTypeIds = null, IReadOnlyCollection memberTypeIds = null); bool VerifyContentDbCache(); bool VerifyMediaDbCache(); bool VerifyMemberDbCache(); } }