using System; namespace ytLive.Models; /// The creator-editable broadcast metadata (TASK: broadcast pull-out). /// These map onto the YouTube liveBroadcast resource's snippet/status parts — /// the fields that stay mutable for the whole life of the broadcast. Fields /// that only exist pre-launch (scheduledStartTime, contentDetails) are NOT /// here by design; see ai.md "Broadcast metadata side pull-out". public sealed record BroadcastMetadata { public string Title { get; set; } = string.Empty; public string Description { get; set; } = string.Empty; public string TagsCsv { get; set; } = string.Empty; /// "private" / "unlisted" / "public". public string Visibility { get; set; } = "private"; public bool MadeForKids { get; set; } /// Set at Go Live (insert); read-only in the form. public DateTime? ScheduledStartTime { get; set; } }