mirror of
https://github.com/rancher/steve.git
synced 2025-07-10 13:23:30 +00:00
37 lines
728 B
Go
37 lines
728 B
Go
package server
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/rancher/norman/pkg/types"
|
|
"github.com/rancher/norman/pkg/types/convert"
|
|
"github.com/rancher/norman/pkg/types/values"
|
|
)
|
|
|
|
func newDefaultMapper() types.Mapper {
|
|
return &defaultMapper{}
|
|
}
|
|
|
|
type defaultMapper struct {
|
|
types.EmptyMapper
|
|
}
|
|
|
|
func (d *defaultMapper) FromInternal(data map[string]interface{}) {
|
|
if t, ok := data["type"]; ok {
|
|
data["_type"] = t
|
|
}
|
|
|
|
if _, ok := data["id"]; ok || data == nil {
|
|
return
|
|
}
|
|
|
|
name := convert.ToString(values.GetValueN(data, "metadata", "name"))
|
|
namespace := convert.ToString(values.GetValueN(data, "metadata", "namespace"))
|
|
|
|
if namespace == "" {
|
|
data["id"] = name
|
|
} else {
|
|
data["id"] = fmt.Sprintf("%s/%s", namespace, name)
|
|
}
|
|
}
|