From fa817f5f214e25cf89387fa5f6bdc20f7229b191 Mon Sep 17 00:00:00 2001 From: Darren Shepherd Date: Wed, 17 Jan 2018 22:46:51 -0700 Subject: [PATCH] Add preference type --- apis/management.cattle.io/v3/schema/schema.go | 18 +++++++++++++++++- apis/management.cattle.io/v3/user_types.go | 15 +++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 apis/management.cattle.io/v3/user_types.go diff --git a/apis/management.cattle.io/v3/schema/schema.go b/apis/management.cattle.io/v3/schema/schema.go index cb69c4ba..67ded7a3 100644 --- a/apis/management.cattle.io/v3/schema/schema.go +++ b/apis/management.cattle.io/v3/schema/schema.go @@ -27,7 +27,8 @@ var ( Init(catalogTypes). Init(authnTypes). Init(schemaTypes). - Init(stackTypes) + Init(stackTypes). + Init(userTypes) ) func schemaTypes(schemas *types.Schemas) *types.Schemas { @@ -232,3 +233,18 @@ func stackTypes(schema *types.Schemas) *types.Schemas { } }) } + +func userTypes(schema *types.Schemas) *types.Schemas { + return schema. + AddMapperForType(&Version, v3.Preference{}). + MustImportAndCustomize(&Version, v3.Preference{}, func(schema *types.Schema) { + schema.MustCustomizeField("name", func(f types.Field) types.Field { + f.Required = true + return f + }) + schema.MustCustomizeField("namespaceId", func(f types.Field) types.Field { + f.Required = false + return f + }) + }) +} diff --git a/apis/management.cattle.io/v3/user_types.go b/apis/management.cattle.io/v3/user_types.go new file mode 100644 index 00000000..c8aadb9d --- /dev/null +++ b/apis/management.cattle.io/v3/user_types.go @@ -0,0 +1,15 @@ +package v3 + +import ( + "github.com/rancher/norman/types" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +type Preference struct { + types.Namespaced + + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Value string `json:"value" norman:"required"` +}