#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);