namespace DnsmasqWebUI.Models.Hosts; /// /// Source kind for a hosts row. Used to distinguish editable managed rows from read-only sources. /// public enum HostsRowSourceKind { /// Managed hosts file (editable by the app). Managed, /// System hosts file (e.g. /etc/hosts). SystemHosts, /// Additional hosts file (addn-hosts=). AddnHosts, /// Hosts directory (hostsdir=). Hostsdir } /// /// Unified row model for the Hosts page. Preserves source awareness while allowing a single rich table. /// public sealed record HostsPageRow( string Id, HostsRowSourceKind SourceKind, string SourcePath, bool IsEditable, bool IsActive, string? InactiveReason, string Address, IReadOnlyList Names, IReadOnlyList EffectiveNames, bool IsComment, int LineNumber);