using Tiku.Application.Assets;
using Tiku.Application.Content;

namespace Tiku.Api.Controllers;

public sealed class TenantContentCapabilitySet(
    IContentEntryManagementService contentEntries,
    IContentNodeManagementService contentNodes,
    IQuestionCollectionManagementService questionCollections,
    IPracticeBlueprintManagementService practiceBlueprints,
    IAssetCatalogManagementService assetCatalog,
    IAssetUploadManagementService assetUploads,
    IAssetLifecycleManagementService assetLifecycle,
    IAssetAuditQueryService assetAudit,
    IAssetImportJobQueryService assetImports)
{
    internal IContentEntryManagementService ContentEntries { get; } = contentEntries;
    internal IContentNodeManagementService ContentNodes { get; } = contentNodes;
    internal IQuestionCollectionManagementService QuestionCollections { get; } = questionCollections;
    internal IPracticeBlueprintManagementService PracticeBlueprints { get; } = practiceBlueprints;
    internal IAssetCatalogManagementService AssetCatalog { get; } = assetCatalog;
    internal IAssetUploadManagementService AssetUploads { get; } = assetUploads;
    internal IAssetLifecycleManagementService AssetLifecycle { get; } = assetLifecycle;
    internal IAssetAuditQueryService AssetAudit { get; } = assetAudit;
    internal IAssetImportJobQueryService AssetImports { get; } = assetImports;
}
