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

namespace FacebookService.API.Application.Queries;

/// <summary>
/// EN: Query to get a ChatbotFlow by ID with nodes.
/// VI: Query để lấy một ChatbotFlow theo ID với nodes.
/// </summary>
/// <param name="FlowId">EN: Flow ID / VI: ID flow</param>
public record GetChatbotFlowByIdQuery(Guid FlowId) : IRequest<ChatbotFlowDto?>;

/// <summary>
/// EN: Query to get chatbot flows for a shop.
/// VI: Query để lấy danh sách chatbot flows của shop.
/// </summary>
/// <param name="ShopId">EN: Shop ID / VI: ID shop</param>
/// <param name="ActiveOnly">EN: Only return active flows / VI: Chỉ lấy flows đang hoạt động</param>
public record GetChatbotFlowsQuery(
    Guid ShopId,
    bool ActiveOnly = false
) : IRequest<IReadOnlyList<ChatbotFlowSummaryDto>>;
