using ErsatzTV.Core; using ErsatzTV.Core.Domain; namespace ErsatzTV.Application.Playouts; public record CreatePlayout(int ChannelId, PlayoutScheduleKind ScheduleKind) : IRequest>; public record CreateClassicPlayout(int ChannelId, int ProgramScheduleId) : CreatePlayout(ChannelId, PlayoutScheduleKind.Classic); public record CreateBlockPlayout(int ChannelId) : CreatePlayout(ChannelId, PlayoutScheduleKind.Block); public record CreateSequentialPlayout(int ChannelId, string ScheduleFile) : CreatePlayout(ChannelId, PlayoutScheduleKind.Sequential); public record CreateScriptedPlayout(int ChannelId, string ScheduleFile) : CreatePlayout(ChannelId, PlayoutScheduleKind.Scripted); public record CreateExternalJsonPlayout(int ChannelId, string ScheduleFile) : CreatePlayout(ChannelId, PlayoutScheduleKind.ExternalJson);