From 2f5fe23f70b1e5a721e3ee632e978ecfca324f46 Mon Sep 17 00:00:00 2001 From: "Felipe C. Gehrke" Date: Tue, 3 Sep 2024 02:54:57 -0300 Subject: [PATCH] added namespace check to proxy_store create --- pkg/stores/proxy/proxy_store.go | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/pkg/stores/proxy/proxy_store.go b/pkg/stores/proxy/proxy_store.go index d998a071..3acafebf 100644 --- a/pkg/stores/proxy/proxy_store.go +++ b/pkg/stores/proxy/proxy_store.go @@ -422,13 +422,22 @@ func (s *Store) Create(apiOp *types.APIRequest, schema *types.APISchema, params } name := types.Name(input) - ns := types.Namespace(input) - if name == "" && input.String("metadata", "generateName") == "" { - input.SetNested(schema.ID[0:1]+"-", "metadata", "generatedName") + namespace := types.Namespace(input) + generateName := input.String("metadata", "generateName") + + if name == "" && generateName == "" { + input.SetNested(schema.ID[0:1]+"-", "metadata", "generateName") } - if ns == "" && apiOp.Namespace != "" { - ns = apiOp.Namespace - input.SetNested(ns, "metadata", "namespace") + + if namespace == "" { + if apiOp.Namespace == "" { + return nil, nil, validation.ErrorCode{ + Status: http.StatusUnprocessableEntity, + Code: "metadata.namespace or apiOp.namespace are required", + } + } + + input.SetNested(apiOp.Namespace, "metadata", "namespace") } gvk := attributes.GVK(schema)