namespace ZB.MOM.WW.ScadaBridge.AuditLog.Configuration;
///
/// Per-target redaction override applied additively on top of
/// and the
/// /
/// caps. Targets are identified by the script-facing external-system /
/// database / notification-list / inbound-API-key name.
///
public sealed class PerTargetRedactionOverride
{
/// Optional payload cap override (bytes); null inherits the global cap.
public int? CapBytes { get; set; }
/// Additional body redactor regex patterns (appended to the global list).
public List? AdditionalBodyRedactors { get; set; }
///
/// Opt-in SQL parameter redaction: case-insensitive regex matched against
/// each SQL parameter NAME in the AuditingDbCommand RequestSummary
/// JSON ({"sql":"...","parameters":{"@name":"value", ...}}); values
/// whose name matches are replaced with <redacted>. Null (the
/// default) means parameter values are captured verbatim. Only applied to
///
/// rows.
///
public string? RedactSqlParamsMatching { get; set; }
///
/// When true, the inbound API audit row for this target records
/// request/response headers and metadata (status, duration, actor, etc.)
/// but the request and response body strings are omitted
/// (RequestSummary / ResponseSummary are left null). The
/// audit row itself is always emitted — only the body content is suppressed.
/// Null (the default, equivalent to false) means body capture
/// proceeds normally up to .
///
public bool SkipBodyCapture { get; set; }
}