Files
grafana-zabbix/pkg/zabbixapi/migration.go
yesoreyeram 374c83d17d initial fix
2025-01-03 09:18:37 +00:00

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
}