using System;
namespace FrameworkDAL.DTO.EIPConversation
{
///
/// Admin CRUD DTO for MEIPRESTACTIONCFG (HTTP config for REST-calling actions —
/// CRUD_OPERATION / CALL_EXTERNAL_API handlers). Deliberately excludes BASEURL — the
/// runtime-only EIPRestActionCfgDTO has a BaseUrl field, but the live GB5DEMO schema has
/// no BASEURL column (confirmed via INFORMATION_SCHEMA 2026-08-25; the migration that adds
/// it, EIPRestActionCfg_AddBaseUrl.sql, has never actually been applied here) — adding that
/// column is a separate decision, not part of this round.
///
public class EIPRestActionCfgAdminDTO
{
public int RestActionCfgId { get; set; }
public int TenantId { get; set; } = -1;
/// FK -> MEIPACTIONREGISTRY.ACTIONID.
public int ActionId { get; set; }
/// 1=POST, 2=GET, 3=PUT, 4=PATCH, 5=DELETE.
public byte HttpMethod { get; set; } = 1;
public string EndpointPath { get; set; } = string.Empty;
public string? PayloadTemplate { get; set; }
public string? HeadersJson { get; set; }
public short TimeoutSeconds { get; set; } = 30;
public short ConfigVersion { get; set; } = 1;
/// 0=No, 1=Yes.
public byte IsActive { get; set; } = 1;
public short Version { get; set; }
public byte Status { get; set; } = 1;
public int? CreatedById { get; set; }
public string? CreatedByName { get; set; }
public DateTime CreatedOn { get; set; }
public int? ModifiedById { get; set; }
public string? ModifiedByName { get; set; }
public DateTime? ModifiedOn { get; set; }
// Display-only, resolved via JOIN on list/get.
public string? ActionCode { get; set; }
}
}