using TeleWave.Domain.Broadcast; namespace TeleWave.Application.Broadcast; public sealed record ChannelSummaryDto(Guid Id, string Name, string Slug, bool IsEnabled); public sealed record ChannelShowDto( Guid Id, Guid ShowId, string ShowName, int Weight, BlockMode BlockMode, int BlockValue, bool IsEnabled, int NextEpisodeIndex ); public sealed record ChannelAdDto(Guid Id, Guid MediaAssetId, string? AssetName, int Position); public sealed record ChannelJingleDto(Guid Id, Guid MediaAssetId, string? AssetName, int Position); public sealed record OverrideShowDto(Guid ShowId, string ShowName, int Weight); public sealed record ProgrammingOverrideDto( Guid Id, OverrideMode Mode, DateTimeOffset StartsAtUtc, DateTimeOffset EndsAtUtc, IReadOnlyList Shows ); public sealed record BumperSettingsDto( BumperMode Mode, int DurationSeconds, string BackgroundColor, string BackgroundColor2, string AccentColor, string TextColor, BumperFont Font, string NowLabel, string NextLabel, int MinIntervalMinutes, bool OnlyBetweenDifferentShows, bool HasBackground, bool HasMusic ); public sealed record ChannelDto( Guid Id, string Name, string Slug, bool IsEnabled, AdInsertion AdInsertion, int AdsPerBreak, bool BumpersEnabled, BumperSettingsDto Bumper, Guid? FillerAssetId, IReadOnlyList Shows, IReadOnlyList Ads, IReadOnlyList Jingles, IReadOnlyList Overrides );