// ========================================================================== // 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 Squidex.Domain.Apps.Entities.Apps; using Squidex.Domain.Apps.Entities.Rules; using Squidex.Domain.Apps.Entities.Schemas; using Squidex.Infrastructure.Security; namespace Squidex.Domain.Apps.Entities { public interface IAppProvider { Task<(IAppEntity?, ISchemaEntity?)> GetAppWithSchemaAsync(Guid appId, Guid id, bool canCache = false); Task GetAppAsync(Guid appId, bool canCache = false); Task GetAppAsync(string appName, bool canCache = false); Task> GetUserAppsAsync(string userId, PermissionSet permissions); Task GetSchemaAsync(Guid appId, Guid id, bool allowDeleted, bool canCache = false); Task GetSchemaAsync(Guid appId, string name, bool canCache = false); Task> GetSchemasAsync(Guid appId); Task> GetRulesAsync(Guid appId); } }