using ErsatzTV.Application.Scheduling;

namespace ErsatzTV.Controllers.Api.Requests;

public record ReplaceTemplateRequest(string Name, List<TemplateItemRequest> Items)
{
    public ReplaceTemplateItems ToCommand(int templateGroupId, int templateId, Option<Seq<int>> expectedVersions = default) =>
        new(
            templateGroupId,
            templateId,
            Name,
            (Items ?? []).Select(item => item.ToReplaceItem()).ToList(),
            expectedVersions);
}
