using FluentValidation;
using LiteCqrs;
using TeleWave.Application.Common.Models;

namespace TeleWave.Application.Programming.Templates.CreateSlot;

public sealed record CreateSlotCommand(Guid LayerId, SlotInput Input) : ICommand<Result<Guid>>;

public sealed class CreateSlotCommandValidator : AbstractValidator<CreateSlotCommand>
{
    public CreateSlotCommandValidator() =>
        RuleFor(x => x.Input).NotNull().SetValidator(new SlotInputValidator());
}
