From 9ddd83c343becc545545a00d299fa0a5a989ef82 Mon Sep 17 00:00:00 2001 From: Darren Shepherd Date: Tue, 27 Apr 2021 17:08:38 -0700 Subject: [PATCH] Fix openapi schema to steve schema generation --- pkg/schema/converter/openapi.go | 3 +-- pkg/schema/converter/openapiv3.go | 7 ++++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkg/schema/converter/openapi.go b/pkg/schema/converter/openapi.go index ae39a5d..9ef1649 100644 --- a/pkg/schema/converter/openapi.go +++ b/pkg/schema/converter/openapi.go @@ -97,8 +97,7 @@ func toField(schema proto.Schema) schemas.Field { case *proto.Map: f.Type = "map[" + toField(v.SubType).Type + "]" case *proto.Kind: - parts := v.Path.Get() - f.Type = parts[len(parts)-1] + f.Type = v.Path.String() case proto.Reference: sub := v.SubSchema() if p, ok := sub.(*proto.Primitive); ok { diff --git a/pkg/schema/converter/openapiv3.go b/pkg/schema/converter/openapiv3.go index 2292fad..d9082dd 100644 --- a/pkg/schema/converter/openapiv3.go +++ b/pkg/schema/converter/openapiv3.go @@ -3,7 +3,7 @@ package converter import ( "github.com/rancher/apiserver/pkg/types" "github.com/rancher/wrangler/pkg/schemas" - "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" + v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" ) func modelV3ToSchema(name string, k *v1.JSONSchemaProps, schemasMap map[string]*types.APISchema) *types.APISchema { @@ -27,9 +27,10 @@ func modelV3ToSchema(name string, k *v1.JSONSchemaProps, schemasMap map[string]* } } - if _, ok := schemasMap[s.ID]; !ok { - schemasMap[s.ID] = &s + if existing, ok := schemasMap[s.ID]; ok && len(existing.Attributes) > 0 { + s.Attributes = existing.Attributes } + schemasMap[s.ID] = &s for k, v := range s.ResourceFields { if types.ReservedFields[k] {