using TeleWave.Domain.Media;

namespace TeleWave.Application.Library.Interstitials;

/// <summary>
/// Ролик на экране «Ролики». Это то же <c>Show(Kind = Interstitial)</c>, но показывается по-другому:
/// у ролика нет ни года, ни постера, ни серий — важна длительность, поэтому она приходит сразу,
/// а не вторым запросом за медиа-ассетом.
/// </summary>
public sealed record InterstitialDto(
    Guid Id,
    string Name,
    Guid? MediaAssetId,
    MediaAssetStatus? AssetStatus,
    double? DurationSeconds,
    DateTimeOffset CreatedAt
);

/// <summary>
/// Рекламный блок — коллекция, целиком собранная из роликов. Отдельного типа под блок нет
/// (см. 3.7): блок и есть коллекция, здесь она показывается со своей суммарной длительностью.
/// </summary>
public sealed record InterstitialBlockDto(
    Guid Id,
    string Name,
    int ItemCount,
    double DurationSeconds
);
