-- HTTP 审计白名单规则（仅命中规则时写审计日志，受 http-audit.whitelist-only 控制）
SET NAMES utf8mb4;

CREATE TABLE `sys_http_audit_rule` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `rule_type` varchar(32) NOT NULL COMMENT 'URI / IP / REQUEST_BODY',
  `match_mode` varchar(32) NOT NULL COMMENT 'EQUAL / PREFIX / CONTAINS / REGEX',
  `pattern` varchar(2048) NOT NULL COMMENT '匹配内容',
  `direction` varchar(16) NOT NULL DEFAULT 'IN' COMMENT 'IN入站 OUT出站 BOTH双向',
  `request_max_chars` int(11) DEFAULT NULL COMMENT '-1全量 NULL用http-audit默认',
  `response_max_chars` int(11) DEFAULT NULL COMMENT '-1全量 NULL用http-audit默认',
  `enabled` tinyint(4) NOT NULL DEFAULT '1' COMMENT '1 启用 0 停用',
  `record_all` tinyint(4) NOT NULL DEFAULT '0' COMMENT '1=入站+出站全记(whitelist-only下)',
  `sort_order` int(11) NOT NULL DEFAULT '0' COMMENT '排序（小在前）',
  `remark` varchar(512) DEFAULT NULL COMMENT '备注',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除',
  PRIMARY KEY (`id`),
  KEY `idx_enabled_deleted` (`enabled`,`deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='HTTP审计白名单规则';
