namespace adas_core.module.Relays.Models;

/// <summary>
/// Represents the settings for a relay device, including caching behavior, refresh intervals, and data source URLs. 
/// These settings allow for flexible configuration of the relay's operation, enabling it to optimize performance and ensure up-to-date information based on the specified parameters.
/// </summary>
public class RelaySettings
{
    /// <summary>
    /// Indicates whether the relay should cache the data it retrieves. If true, the relay will store the data locally to improve performance and reduce the number of requests to the source. If false, the relay will fetch fresh data from the source every time it is requested.
    /// </summary>
    public bool Cache { get; set; }

    /// <summary>
    /// The time interval, in seconds, at which the relay should refresh its cached data. If null, the relay will use a default refresh interval.
    /// </summary>
    public int? RefreshTime { get; set; }

    /// <summary>
    /// The URL from which the relay should retrieve data. This can be an API endpoint or a recording URL. If null, the relay will use a default source.
    /// </summary>  
    public string? RecordingOrApiUrl { get; set; }
}