#nullable enable
using ErsatzTV.Core.Domain;
using ErsatzTV.Core.Domain.Scheduling;

namespace ErsatzTV.Core.Api.Scheduling;

public record DecoResponseModel(
    int Id,
    int DecoGroupId,
    string DecoGroupName,
    string Name,
    DecoMode WatermarkMode,
    List<int> WatermarkIds,
    bool UseWatermarkDuringFiller,
    DecoMode GraphicsElementsMode,
    List<int> GraphicsElementIds,
    bool UseGraphicsElementsDuringFiller,
    DecoMode BreakContentMode,
    List<DecoBreakContentResponseModel> BreakContent,
    DecoMode DefaultFillerMode,
    CollectionType DefaultFillerCollectionType,
    int? DefaultFillerCollectionId,
    int? DefaultFillerMediaItemId,
    int? DefaultFillerMultiCollectionId,
    int? DefaultFillerSmartCollectionId,
    string? DefaultFillerSelectionName,
    bool DefaultFillerTrimToFit,
    DecoMode DeadAirFallbackMode,
    CollectionType DeadAirFallbackCollectionType,
    int? DeadAirFallbackCollectionId,
    int? DeadAirFallbackMediaItemId,
    int? DeadAirFallbackMultiCollectionId,
    int? DeadAirFallbackSmartCollectionId,
    string? DeadAirFallbackSelectionName);
