using Journal.Core.Dtos;

namespace Journal.Core.Services.Speech;

public sealed class DisabledS2TService(string message = "S2T is disabled.") : IS2TService
{
    private readonly string _message = string.IsNullOrWhiteSpace(message) ? "S2T is disabled." : message.Trim();

    public Task<S2TStartResultDto> StartAsync(CancellationToken cancellationToken = default)
        => Task.FromResult(new S2TStartResultDto(false, "stopped", _message));

    public Task<S2TStopResultDto> StopAsync(CancellationToken cancellationToken = default)
        => Task.FromResult(new S2TStopResultDto(false, "stopped", _message));

    public Task<S2TPollResultDto> PollAsync(int maxItems = 8, CancellationToken cancellationToken = default)
        => Task.FromResult(new S2TPollResultDto([], false, "stopped", _message));
}
