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:
parent
2bd0ed6014
commit
16783cf1d3
@ -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)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user