53 lines
1.4 KiB
C#
53 lines
1.4 KiB
C#
using TeleWave.Domain.Programming;
|
|
|
|
namespace TeleWave.Application.Programming.Templates;
|
|
|
|
public sealed record SlotDto(
|
|
Guid Id,
|
|
Guid LayerId,
|
|
int? Weekday,
|
|
TimeOnly TargetStart,
|
|
int TargetDurationMinutes,
|
|
string Title,
|
|
Daypart Daypart,
|
|
SlotKind SlotKind,
|
|
Guid? GroupId,
|
|
string? GroupName,
|
|
SlotStrategy? Strategy,
|
|
RepeatSource? RepeatSource,
|
|
SlotBlockMode BlockMode,
|
|
int BlockValue,
|
|
OverflowPolicy OverflowPolicy,
|
|
bool IsAnchor,
|
|
int MaxDriftMinutes,
|
|
int? SnapToMinutes,
|
|
Guid? JunctionBetweenId,
|
|
Guid? JunctionAfterId
|
|
);
|
|
|
|
public sealed record GridLayerDto(
|
|
Guid Id,
|
|
string Name,
|
|
int Priority,
|
|
bool IsEnabled,
|
|
bool IsBackground,
|
|
LayerApplicability? Applicability,
|
|
IReadOnlyList<SlotDto> Slots
|
|
);
|
|
|
|
public sealed record ScheduleTemplateDto(
|
|
Guid Id,
|
|
Guid ChannelId,
|
|
string Name,
|
|
Guid? FallbackGroupId,
|
|
Guid? DefaultJunctionId,
|
|
int Revision,
|
|
int AppliedRevision,
|
|
/// <summary>Есть ли правки правил, ещё не применённые к эфиру.</summary>
|
|
bool HasPendingChanges,
|
|
/// <summary>Время канала — сетка задаётся в нём, а не в UTC.</summary>
|
|
int UtcOffsetMinutes,
|
|
TimeOnly DayStartTime,
|
|
IReadOnlyList<GridLayerDto> Layers
|
|
);
|