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

namespace Baya.Application.Features.Reviews.Commands.ModerateReview;

/// <summary>An admin/moderator transitions a review: <c>publish</c> | <c>hide</c> | <c>reject</c> |
/// <c>unpublish</c>. Every transition recomputes the nurse aggregate from source and refreshes the search
/// index in the same transaction. Hide/reject require a reason.</summary>
public record ModerateReviewCommand(long ReviewId, string Action, string? Reason)
    : IRequest<OperationResult<ModerateReviewResult>>;
