// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschränkt) // All rights reserved. Licensed under the MIT license. // ========================================================================== using System; using System.Collections.Generic; using System.Threading.Tasks; using NodaTime; using Squidex.Domain.Apps.Entities.Apps; using Squidex.Domain.Apps.Entities.Schemas; using Squidex.Infrastructure; using Squidex.Infrastructure.Queries; namespace Squidex.Domain.Apps.Entities.Contents.Repositories { public interface IContentRepository { Task> QueryAsync(IAppEntity app, HashSet ids, SearchScope scope); Task> QueryAsync(IAppEntity app, ISchemaEntity schema, HashSet ids, SearchScope scope); Task> QueryAsync(IAppEntity app, ISchemaEntity schema, ClrQuery query, SearchScope scope); Task> QueryIdsAsync(Guid appId, Guid schemaId, FilterNode filterNode); Task> QueryIdsAsync(Guid appId, HashSet ids, SearchScope scope); Task HasReferrersAsync(Guid contentId); Task FindContentAsync(IAppEntity app, ISchemaEntity schema, Guid id, SearchScope scope); Task ResetScheduledAsync(Guid contentId); Task QueryScheduledWithoutDataAsync(Instant now, Func callback); } }