using System.Text.Json.Serialization;
using TrafficLightsSignalR.Schema;

namespace TrafficLightsSignalR
{
    /*
    public record TrafficLightsState
    {
        public Period CurrentPeriod { get; init; }
        public State CurrentState { get; init; }
        public int CurrentStateIndex { get; init; }
        public double SecondsUntilChangeover { get; init; }
        public long NextChangeoverTimestampMs { get; init; }
        public string CurrentSimulationTime { get; init; } // UTC
        public double TimeFactor { get; init; }
        public long CurrentSimulationTimestampMs { get; init; } // UNIX epoch timestamp (UTC in milliseconds)
        public long StartSimulationTimestampMs { get; init; } // UNIX epoch timestamp (UTC in milliseconds)

    }
    */
    public record TrafficLightState(
        Period CurrentPeriod,
        State CurrentState,
        int CurrentStateIndex,
        double SecondsUntilChangeover,
        long NextChangeoverTimestampMs,
        string CurrentSimulationTime,
        double TimeFactor,
        long CurrentSimulationTimestampMs,
        long StartSimulationTimestampMs);
}
