85 lines
2.2 KiB
Go
85 lines
2.2 KiB
Go
package zabbixapi
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/grafana/grafana-plugin-sdk-go/backend/log"
|
|
)
|
|
|
|
func normalizeParams(ctx context.Context, method string, params ZabbixAPIParams, version int) ZabbixAPIParams {
|
|
logger := log.New().FromContext(ctx)
|
|
logger.Debug("performing query params migration", "method", method, "version", version)
|
|
switch method {
|
|
case "trigger.get":
|
|
newKey := "selectHostGroups"
|
|
deprecatedKey := "selectGroups"
|
|
deprecatedKeyValue, deprecatedKeyExists := params[deprecatedKey]
|
|
newKeyValue, newKeyExists := params[newKey]
|
|
if version < 70 && newKeyExists {
|
|
if deprecatedKeyExists {
|
|
delete(params, newKey)
|
|
}
|
|
if !deprecatedKeyExists {
|
|
params[deprecatedKey] = newKeyValue
|
|
delete(params, newKey)
|
|
}
|
|
}
|
|
if version >= 70 && deprecatedKeyExists {
|
|
if newKeyExists {
|
|
delete(params, deprecatedKey)
|
|
}
|
|
if !newKeyExists {
|
|
params[newKey] = deprecatedKeyValue
|
|
delete(params, deprecatedKey)
|
|
}
|
|
}
|
|
case "event.get":
|
|
newKey := "selectAcknowledges"
|
|
deprecatedKey := "select_acknowledges"
|
|
deprecatedKeyValue, deprecatedKeyExists := params[deprecatedKey]
|
|
newKeyValue, newKeyExists := params[newKey]
|
|
if version < 70 && newKeyExists {
|
|
if deprecatedKeyExists {
|
|
delete(params, newKey)
|
|
}
|
|
if !deprecatedKeyExists {
|
|
params[deprecatedKey] = newKeyValue
|
|
delete(params, newKey)
|
|
}
|
|
}
|
|
if version >= 70 && deprecatedKeyExists {
|
|
if newKeyExists {
|
|
delete(params, deprecatedKey)
|
|
}
|
|
if !newKeyExists {
|
|
params[newKey] = deprecatedKeyValue
|
|
delete(params, deprecatedKey)
|
|
}
|
|
}
|
|
case "hostgroup.get":
|
|
newKey := "with_hosts"
|
|
deprecatedKey := "real_hosts"
|
|
deprecatedKeyValue, deprecatedKeyExists := params[deprecatedKey]
|
|
newKeyValue, newKeyExists := params[newKey]
|
|
if version < 70 && newKeyExists {
|
|
if deprecatedKeyExists {
|
|
delete(params, newKey)
|
|
}
|
|
if !deprecatedKeyExists {
|
|
params[deprecatedKey] = newKeyValue
|
|
delete(params, newKey)
|
|
}
|
|
}
|
|
if version >= 70 && deprecatedKeyExists {
|
|
if newKeyExists {
|
|
delete(params, deprecatedKey)
|
|
}
|
|
if !newKeyExists {
|
|
params[newKey] = deprecatedKeyValue
|
|
delete(params, deprecatedKey)
|
|
}
|
|
}
|
|
}
|
|
return params
|
|
}
|