namespace PlanTempusAdmin.Models; public class CaddyHost { public string Hostname { get; set; } = string.Empty; public string[] Addresses { get; set; } = Array.Empty(); public bool Tls { get; set; } public string? Upstream { get; set; } } public class CaddyConfig { public CaddyApps? Apps { get; set; } } public class CaddyApps { public CaddyHttpApp? Http { get; set; } } public class CaddyHttpApp { public Dictionary? Servers { get; set; } } public class CaddyServer { public string[]? Listen { get; set; } public CaddyRoute[]? Routes { get; set; } } public class CaddyRoute { public CaddyMatch[]? Match { get; set; } public CaddyHandle[]? Handle { get; set; } } public class CaddyMatch { public string[]? Host { get; set; } } public class CaddyHandle { public string Handler { get; set; } = string.Empty; public CaddyUpstream[]? Upstreams { get; set; } } public class CaddyUpstream { public string Dial { get; set; } = string.Empty; }