using Tiku.Application.Assets;
using Tiku.Application.PlatformAdmin;
using Tiku.Application.Security;
using Tiku.Application.Tenancy;

namespace Tiku.Infrastructure.PlatformAdmin;

internal sealed class PlatformQuestionImportService(
    ICurrentAccessContext currentAccessContext,
    ITenantExecutionScope tenantExecutionScope)
    : PlatformQuestionBankServiceBase(currentAccessContext, tenantExecutionScope), IPlatformQuestionImportService
{
    public Task<PlatformQuestionImportResult> PreviewImportAsync(
        PlatformAdminActor actor,
        PlatformQuestionImportCommand command,
        CancellationToken cancellationToken = default) =>
        PreviewImportCoreAsync(actor, command, cancellationToken);

    public Task<PlatformQuestionImportResult> ExecuteImportAsync(
        PlatformAdminActor actor,
        PlatformQuestionImportCommand command,
        CancellationToken cancellationToken = default) =>
        ExecuteImportCoreAsync(actor, command, cancellationToken);

    public Task<ContentImportJobDetail> GetImportAsync(
        PlatformAdminActor actor,
        Guid jobId,
        CancellationToken cancellationToken = default) =>
        GetImportCoreAsync(actor, jobId, cancellationToken);
}
