mirror of
https://github.com/rancher/norman.git
synced 2025-08-12 04:32:03 +00:00
Add CodeName to Move Mapper
This commit is contained in:
parent
51ea2cd7f6
commit
c0cece100c
@ -8,7 +8,7 @@ func NewMetadataMapper() types.Mapper {
|
|||||||
return types.Mappers{
|
return types.Mappers{
|
||||||
ChangeType{Field: "name", Type: "dnsLabel"},
|
ChangeType{Field: "name", Type: "dnsLabel"},
|
||||||
Drop{Field: "generateName"},
|
Drop{Field: "generateName"},
|
||||||
Move{From: "uid", To: "uuid"},
|
Move{From: "uid", To: "uuid", CodeName: "UUID"},
|
||||||
Drop{Field: "resourceVersion"},
|
Drop{Field: "resourceVersion"},
|
||||||
Drop{Field: "generation"},
|
Drop{Field: "generation"},
|
||||||
Move{From: "creationTimestamp", To: "created"},
|
Move{From: "creationTimestamp", To: "created"},
|
||||||
|
@ -12,9 +12,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type Move struct {
|
type Move struct {
|
||||||
From, To string
|
From, To, CodeName string
|
||||||
DestDefined bool
|
DestDefined bool
|
||||||
NoDeleteFromField bool
|
NoDeleteFromField bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m Move) FromInternal(data map[string]interface{}) {
|
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 {
|
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
|
toSchema.ResourceFields[toFieldName] = fromField
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/rancher/norman/types"
|
"github.com/rancher/norman/types"
|
||||||
|
"github.com/rancher/norman/types/convert"
|
||||||
"github.com/rancher/norman/types/definition"
|
"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 {
|
for name, field := range schema.ResourceFields {
|
||||||
if definition.IsReferenceType(field.Type) && strings.HasSuffix(name, "Name") {
|
if definition.IsReferenceType(field.Type) && strings.HasSuffix(name, "Name") {
|
||||||
newName := strings.TrimSuffix(name, "Name") + "Id"
|
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 {
|
if err := move.ModifySchema(schema, schemas); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -37,7 +39,8 @@ func (r *RenameReference) ModifySchema(schema *types.Schema, schemas *types.Sche
|
|||||||
mappers = append(mappers, move)
|
mappers = append(mappers, move)
|
||||||
} else if definition.IsArrayType(field.Type) && definition.IsReferenceType(definition.SubType(field.Type)) && strings.HasSuffix(name, "Names") {
|
} else if definition.IsArrayType(field.Type) && definition.IsReferenceType(definition.SubType(field.Type)) && strings.HasSuffix(name, "Names") {
|
||||||
newName := strings.TrimSuffix(name, "Names") + "Ids"
|
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 {
|
if err := move.ModifySchema(schema, schemas); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user