using System.IO;
using Wino.Core.Domain.Entities.Shared;

namespace Wino.Core.Domain.Models.Connectivity;

public class ImapClientPoolOptions
{
    public Stream ProtocolLog { get; }
    public CustomServerInformation ServerInformation { get; }
    public bool IsTestPool { get; }

    protected ImapClientPoolOptions(CustomServerInformation serverInformation, Stream protocolLog, bool isTestPool)
    {
        ServerInformation = serverInformation;
        ProtocolLog = protocolLog;
        IsTestPool = isTestPool;
    }

    public static ImapClientPoolOptions CreateDefault(CustomServerInformation serverInformation, Stream protocolLog)
        => new(serverInformation, protocolLog, false);

    public static ImapClientPoolOptions CreateTestPool(CustomServerInformation serverInformation, Stream protocolLog)
        => new(serverInformation, protocolLog, true);
}
