namespace SatelliteProvider.Common.Configs;

public class MapConfig
{
    public string Service { get; set; } = null!;
    public string ApiKey { get; set; } = null!;

    // AZ-371 / C18 — Google Maps tile constants promoted from source literals.
    // AZ-377 / C24 — DefaultTileSizePixels is the canonical pixel size of a Google Maps tile;
    // sites that cannot inject IOptions<MapConfig> (e.g. DataAccess.TileRepository) reference it
    // directly so the value still has one source of truth.
    public const int DefaultTileSizePixels = 256;
    public int TileSizePixels { get; set; } = DefaultTileSizePixels;
    public int[] AllowedZoomLevels { get; set; } = new[] { 15, 16, 17, 18, 19 };
    public int RetryBaseDelaySeconds { get; set; } = 1;
    public int RetryMaxDelaySeconds { get; set; } = 30;
}
