namespace GB5Shared.GOP.GBQueryExecutor.DTOs { // Maps to MGBQUERYINTENTPROFILE (seeded — no TENANTID, global intent definitions) public class GBQueryIntentProfileDTO { public int IntentProfileId { get; set; } public string IntentCode { get; set; } = string.Empty; public byte QueryIntent { get; set; } // 1=Lookup,2=Validate,3=Compute,4=Report,5=AlertCondition,6=PeriodClose public int HardRowCap { get; set; } // absolute ceiling — SELECT TOP wraps the template public int HardTimeoutMs { get; set; } // CancellationToken timeout ceiling public int SoftRowCap { get; set; } // advisory — warning logged when exceeded public int SoftTimeoutMs { get; set; } public byte JoinsDepthAllowed { get; set; } // 0=None,1=Allowlisted,2=Unrestricted public string? RequiresPermission { get; set; } public bool RequiresDualApproval { get; set; } public int Status { get; set; } } }