Files
TeleWave/backend/src/TeleWave.Application/Programming/Templates/TemplateDtos.cs
T

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