namespace Hc900Crawler.Core.Application.Feedforward;

/// <summary>
/// 측류 스트림별 "추종(ON/OFF)" 상태. ON이면 Supervisor가 매 주기 권장 WSP를 연속으로 씀.
/// </summary>
public sealed record FfTrackingState
{
    public int       ColumnId   { get; init; }
    public string    StreamKey  { get; init; } = "";
    public bool      Enabled    { get; init; }
    public DateTime? StartedAt  { get; init; }
    public string    Operator   { get; init; } = "manual";
}

public interface IFfTrackingStore
{
    void Set(FfTrackingState state);
    bool IsEnabled(int columnId, string streamKey);
    FfTrackingState? Get(int columnId, string streamKey);
    IReadOnlyCollection<FfTrackingState> GetAll();
}
