using System;
namespace FrameworkDAL.DTO.EIPConversation
{
///
/// Admin CRUD DTO for MEIPROUTINGRULE.
/// Used by the EIPRoute management endpoints (GetRouteList, GetRoute, SaveRoute, DeleteRoute).
/// Distinct from EIPRoutingRuleDTO which is used by the routing engine.
/// MatchType: 1=EQUALS, 2=STARTS_WITH, 3=CONTAINS, 4=REGEX
///
public class EIPRoutingRuleAdminDTO
{
public int RoutingRuleId { get; set; }
public int TenantId { get; set; }
/// Numeric channel type — maps to EIPChannelType enum.
public int? ChannelType { get; set; }
/// FK to MEIPFLOWDEFINITION.FLOWDEFINITIONID.
public int FlowId { get; set; }
/// FlowCode resolved from MEIPFLOWDEFINITION join.
public string? TargetFlowCode { get; set; }
public int PriorityOrder { get; set; } = 1;
public string Pattern { get; set; } = string.Empty;
/// 1=EQUALS, 2=STARTS_WITH, 3=CONTAINS, 4=REGEX
public int MatchType { get; set; }
public int Status { get; set; } = 1;
public int Version { get; set; }
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; }
}
}