namespace ScadaLink.Commons.Entities.ExternalSystems;

public class ExternalSystemDefinition
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string EndpointUrl { get; set; }
    public string AuthType { get; set; }
    public string? AuthConfiguration { get; set; }
    public int MaxRetries { get; set; }
    public TimeSpan RetryDelay { get; set; }

    public ExternalSystemDefinition(string name, string endpointUrl, string authType)
    {
        Name = name ?? throw new ArgumentNullException(nameof(name));
        EndpointUrl = endpointUrl ?? throw new ArgumentNullException(nameof(endpointUrl));
        AuthType = authType ?? throw new ArgumentNullException(nameof(authType));
    }
}
