using System.Collections.Generic;
namespace FrameworkDAL.DTO.EIPConversation
{
///
/// Declared on a flow step to control how an API response is parsed and presented.
/// Flow authors set this alongside ApiConfig on CALL_API steps or on standalone PRESENT steps.
///
public class EIPResponseFormatDTO
{
///
/// How to present the data: TABLE | CARD | LIST | TEXT.
/// TEXT means pass the raw string through ResponseMessage only (no structured data built).
///
public string Type { get; set; } = "TEXT";
///
/// Dot-notation path into the stored variable to reach the array or object.
/// Example: "Body.Items", "Data.Result", "Body".
/// Empty/null → use the root of the stored JSON directly.
///
public string? DataPath { get; set; }
///
/// Fields to display and their order. When null/empty, the engine auto-derives up to 8
/// fields from the first row's JSON properties.
///
public List? Fields { get; set; }
/// Maximum rows to include in Rows. Prevents flooding the UI. Default 20.
public int MaxRows { get; set; } = 20;
/// For CARD: JSON property name to use as the card title.
public string? TitleField { get; set; }
}
}