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

Add CodeName to Move Mapper

This commit is contained in:
Darren Shepherd 2018-06-19 21:22:51 -07:00
parent 51ea2cd7f6
commit c0cece100c
3 changed files with 14 additions and 7 deletions

View File

@ -8,7 +8,7 @@ func NewMetadataMapper() types.Mapper {
return types.Mappers{
ChangeType{Field: "name", Type: "dnsLabel"},
Drop{Field: "generateName"},
Move{From: "uid", To: "uuid"},
Move{From: "uid", To: "uuid", CodeName: "UUID"},
Drop{Field: "resourceVersion"},
Drop{Field: "generation"},
Move{From: "creationTimestamp", To: "created"},

View File

@ -12,9 +12,9 @@ import (
)
type Move struct {
From, To string
DestDefined bool
NoDeleteFromField bool
From, To, CodeName string
DestDefined bool
NoDeleteFromField bool
}
func (m Move) FromInternal(data map[string]interface{}) {
@ -53,7 +53,11 @@ func (m Move) ModifySchema(s *types.Schema, schemas *types.Schemas) error {
}
if !m.DestDefined {
fromField.CodeName = convert.Capitalize(toFieldName)
if m.CodeName == "" {
fromField.CodeName = convert.Capitalize(toFieldName)
} else {
fromField.CodeName = m.CodeName
}
toSchema.ResourceFields[toFieldName] = fromField
}

View File

@ -4,6 +4,7 @@ import (
"strings"
"github.com/rancher/norman/types"
"github.com/rancher/norman/types/convert"
"github.com/rancher/norman/types/definition"
)
@ -29,7 +30,8 @@ func (r *RenameReference) ModifySchema(schema *types.Schema, schemas *types.Sche
for name, field := range schema.ResourceFields {
if definition.IsReferenceType(field.Type) && strings.HasSuffix(name, "Name") {
newName := strings.TrimSuffix(name, "Name") + "Id"
move := Move{From: name, To: newName}
newCodeName := convert.Capitalize(strings.TrimSuffix(name, "Name") + "ID")
move := Move{From: name, To: newName, CodeName: newCodeName}
if err := move.ModifySchema(schema, schemas); err != nil {
return err
}
@ -37,7 +39,8 @@ func (r *RenameReference) ModifySchema(schema *types.Schema, schemas *types.Sche
mappers = append(mappers, move)
} else if definition.IsArrayType(field.Type) && definition.IsReferenceType(definition.SubType(field.Type)) && strings.HasSuffix(name, "Names") {
newName := strings.TrimSuffix(name, "Names") + "Ids"
move := Move{From: name, To: newName}
newCodeName := convert.Capitalize(strings.TrimSuffix(name, "Names") + "IDs")
move := Move{From: name, To: newName, CodeName: newCodeName}
if err := move.ModifySchema(schema, schemas); err != nil {
return err
}