55 lines
1.1 KiB
Go
55 lines
1.1 KiB
Go
package configmigrate
|
|
|
|
import "github.com/AdguardTeam/golibs/errors"
|
|
|
|
// migrateTo15 performs the following changes:
|
|
//
|
|
// # BEFORE:
|
|
// 'schema_version': 14
|
|
// 'dns':
|
|
// # …
|
|
// 'querylog_enabled': true
|
|
// 'querylog_file_enabled': true
|
|
// 'querylog_interval': '2160h'
|
|
// 'querylog_size_memory': 1000
|
|
// 'querylog':
|
|
// # …
|
|
// # …
|
|
//
|
|
// # AFTER:
|
|
// 'schema_version': 15
|
|
// 'dns':
|
|
// # …
|
|
// 'querylog':
|
|
// 'enabled': true
|
|
// 'file_enabled': true
|
|
// 'interval': '2160h'
|
|
// 'size_memory': 1000
|
|
// 'ignored': []
|
|
// # …
|
|
// # …
|
|
func migrateTo15(diskConf yobj) (err error) {
|
|
diskConf["schema_version"] = 15
|
|
|
|
dns, ok, err := fieldVal[yobj](diskConf, "dns")
|
|
if !ok {
|
|
return err
|
|
}
|
|
|
|
qlog := map[string]any{
|
|
"ignored": yarr{},
|
|
"enabled": true,
|
|
"file_enabled": true,
|
|
"interval": "2160h",
|
|
"size_memory": 1000,
|
|
}
|
|
diskConf["querylog"] = qlog
|
|
|
|
return errors.Join(
|
|
moveVal[bool](dns, qlog, "querylog_enabled", "enabled"),
|
|
moveVal[bool](dns, qlog, "querylog_file_enabled", "file_enabled"),
|
|
moveVal[any](dns, qlog, "querylog_interval", "interval"),
|
|
moveVal[int](dns, qlog, "querylog_size_memory", "size_memory"),
|
|
)
|
|
}
|