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

namespace Tiku.Infrastructure.PlatformAdmin;

internal sealed class PlatformQuestionAssetService(
    ICurrentAccessContext currentAccessContext,
    ITenantExecutionScope tenantExecutionScope)
    : PlatformQuestionBankServiceBase(currentAccessContext, tenantExecutionScope), IPlatformQuestionAssetService
{
    public Task<AssetUploadSignResult> SignQuestionAssetUploadAsync(
        PlatformAdminActor actor,
        AssetUploadSignCommand command,
        CancellationToken cancellationToken = default) =>
        SignQuestionAssetUploadCoreAsync(actor, command, cancellationToken);

    public Task<AssetUploadConfirmResult> ConfirmQuestionAssetUploadAsync(
        PlatformAdminActor actor,
        AssetUploadConfirmCommand command,
        CancellationToken cancellationToken = default) =>
        ConfirmQuestionAssetUploadCoreAsync(actor, command, cancellationToken);
}
