#nullable enable
using Baya.Application.Models.Common;
using Baya.Application.Models.Verification;
using Mediator;

namespace Baya.Application.Features.Verification.Commands.UpsertStepType;

/// <summary>
/// Admin create/update of a pipeline step-type. Adding a step is one row (the pipeline is data-driven).
/// <paramref name="Id"/> null creates; otherwise updates. <c>Code</c> is immutable once the step-type is in
/// use by a nurse verification.
/// </summary>
public record AdminUpsertStepTypeCommand(
    long? Id,
    string Code,
    string DisplayName,
    string? Description,
    bool IsRequired,
    bool IsAutomated,
    string? AutomationProvider,
    int SortOrder,
    bool IsActive) : IRequest<OperationResult<VerificationStepTypeDto>>;
