1
0
mirror of https://github.com/rancher/norman.git synced 2025-08-01 15:28:11 +00:00

Add support for list in annotation field

This commit is contained in:
Darren Shepherd 2017-12-29 15:10:20 -07:00
parent 2bd0ed6014
commit 16783cf1d3

View File

@ -11,6 +11,7 @@ import (
type AnnotationField struct {
Field string
Object bool
List bool
IgnoreDefinition bool
}
@ -24,6 +25,12 @@ func (e AnnotationField) FromInternal(data map[string]interface{}) {
v = data
}
}
if e.List {
var data []interface{}
if err := json.Unmarshal([]byte(convert.ToString(v)), &data); err == nil {
v = data
}
}
data[e.Field] = v
}
@ -32,7 +39,7 @@ func (e AnnotationField) FromInternal(data map[string]interface{}) {
func (e AnnotationField) ToInternal(data map[string]interface{}) {
v, ok := data[e.Field]
if ok {
if e.Object {
if e.Object || e.List {
if bytes, err := json.Marshal(v); err == nil {
v = string(bytes)
}