#nullable enable using ErsatzTV.Core.Domain.Filler; namespace ErsatzTV.Core.Api.Channels; /// A single guide programme for the JSON EPG grid. public record ChannelGuideProgrammeResponseModel( DateTimeOffset Start, DateTimeOffset Stop, string Title, string? SubTitle, string? Category, FillerKind FillerKind); /// One channel's guide programmes for the requested window. public record ChannelGuideChannelResponseModel( string Number, string Name, // Rooted, directly-usable logo URL for the SPA's ; null when the channel has no logo // (SPA then renders the generated initials fallback). See ErsatzTV.Application Channels.Mapper.GetLogoUrl. string? Logo, List Programmes); /// The JSON channel-guide response: the resolved window plus per-channel programme arrays. public record ChannelGuideResponseModel( DateTimeOffset Start, DateTimeOffset End, List Channels);