dns clickhouse改造

This commit is contained in:
robin
2026-02-10 19:30:44 +08:00
parent 4812ad5aaf
commit 1bb8140a41
47 changed files with 2815 additions and 174 deletions

View File

@@ -84,6 +84,33 @@ func ParseStorageTypeAndWriteTargets(selectedType string) (baseType string, writ
return baseType, writeTargets
}
// ResolveWriteTargetsByType 仅根据策略类型与 disableDefaultDB 计算写入目标(不依赖 writeTargets 字段)
func ResolveWriteTargetsByType(policyType string, disableDefaultDB bool) *AccessLogWriteTargets {
t := &AccessLogWriteTargets{}
switch policyType {
case AccessLogStorageTypeFileMySQL:
t.File = true
t.MySQL = true
case AccessLogStorageTypeFileClickhouse:
t.File = true
t.ClickHouse = true
case AccessLogStorageTypeFileMySQLClickhouse:
t.File = true
t.MySQL = true
t.ClickHouse = true
case AccessLogStorageTypeFile:
t.File = true
t.MySQL = !disableDefaultDB
default:
t.MySQL = !disableDefaultDB
}
if !t.File && !t.MySQL && !t.ClickHouse {
t.File = true
t.MySQL = true
}
return t
}
// ComposeStorageTypeDisplay 根据策略的 Type + WriteTargets 得到下拉框显示用的类型 code用于编辑页回显
func ComposeStorageTypeDisplay(policyType string, writeTargets *AccessLogWriteTargets) string {
if policyType != AccessLogStorageTypeFile {