using MediatR;
using FacebookService.API.Application.Dtos;

namespace FacebookService.API.Application.Commands;

/// <summary>
/// EN: Command to create a new ChatbotFlow.
/// VI: Command để tạo một ChatbotFlow mới.
/// </summary>
/// <param name="ShopId">EN: Shop ID / VI: ID shop</param>
/// <param name="Name">EN: Flow name / VI: Tên flow</param>
/// <param name="TriggerType">EN: Trigger type (GetStarted, Keyword, Postback, Fallback) / VI: Loại trigger</param>
/// <param name="TriggerValue">EN: Trigger value (keyword, payload, etc.) / VI: Giá trị trigger</param>
public record CreateChatbotFlowCommand(
    Guid ShopId,
    string Name,
    string TriggerType,
    string TriggerValue
) : IRequest<CreateChatbotFlowCommandResult>;

/// <summary>
/// EN: Result of CreateChatbotFlowCommand.
/// VI: Kết quả của CreateChatbotFlowCommand.
/// </summary>
public record CreateChatbotFlowCommandResult(Guid Id, bool Success);
