using Tiku.Application.Content;
using Tiku.Application.QuestionBanks;
using Tiku.Application.Security;
using Tiku.Infrastructure.Persistence;

namespace Tiku.Infrastructure.Content;

internal sealed record ContentManagementDependencies(
    IQuestionBankPersistence QuestionBankPersistence,
    IQuestionReferenceService questionReferenceService,
    ICurrentAccessContext currentAccessContext);

internal abstract partial class ContentManagementServiceBase(ContentManagementDependencies dependencies)
{
    protected IQuestionBankPersistence questionBankPersistence { get; } = dependencies.QuestionBankPersistence;
    protected IQuestionReferenceService questionReferenceService { get; } = dependencies.questionReferenceService;
    protected ICurrentAccessContext currentAccessContext { get; } = dependencies.currentAccessContext;
    protected const int DefaultLimit = 100;
    protected const int MaxLimit = 1000;
}
