using System;
namespace FrameworkDAL.DTO.EIPConversation
{
///
/// Admin CRUD DTO for MEIPACTIONREGISTRY (pluggable action handler registry).
/// Distinct from the stale runtime-only EIPActionRegistryDTO (wrong field names —
/// Name/ImplementationClass/Status-as-string — never used by anything but its own QB).
///
public class EIPActionRegistryAdminDTO
{
public int ActionId { get; set; }
public int TenantId { get; set; } = -1;
public string ActionCode { get; set; } = string.Empty;
public string ActionName { get; set; } = string.Empty;
public string? AssemblyName { get; set; }
public string? ClassName { get; set; }
/// 0=No, 1=Yes — can be safely retried without side effects.
public byte IsIdempotent { get; set; } = 1;
public int TimeoutMs { get; set; } = 5000;
public short ActionVersion { get; set; } = 1;
/// 0=No, 1=Yes.
public byte IsActive { get; set; } = 1;
public short Version { get; set; }
/// 0..5, standard STATUS convention (1=active).
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; }
}
}