From b4d9df06e16cdc994f422b5a027150452cf553df Mon Sep 17 00:00:00 2001 From: Helder de Jesus Santana Date: Fri, 7 Nov 2025 11:30:12 +0100 Subject: [PATCH] Generate correct initial state for delegate handlers --- tools/scaffolder/internal/generate/controller.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tools/scaffolder/internal/generate/controller.go b/tools/scaffolder/internal/generate/controller.go index 7075e1ca1f..59554b979b 100644 --- a/tools/scaffolder/internal/generate/controller.go +++ b/tools/scaffolder/internal/generate/controller.go @@ -267,6 +267,17 @@ func generateDelegatingStateHandlers(f *jen.File, controllerName, resourceName, "HandleDeletionRequested", "HandleDeleting", } + startStateMap := map[string]string{ + "HandleInitial": "StateInitial", + "HandleImportRequested": "StateImportRequested", + "HandleImported": "StateImported", + "HandleCreating": "StateCreating", + "HandleCreated": "StateCreated", + "HandleUpdating": "StateUpdating", + "HandleUpdated": "StateUpdated", + "HandleDeletionRequested": "StateDeletionRequested", + "HandleDeleting": "StateDeleting", + } for _, handlerName := range handlers { f.Comment(fmt.Sprintf("%s delegates to the version-specific handler", handlerName)) @@ -280,7 +291,7 @@ func generateDelegatingStateHandlers(f *jen.File, controllerName, resourceName, jen.List(jen.Id("handler"), jen.Id("err")).Op(":=").Id("h").Dot("getHandlerForResource").Call(jen.Id(strings.ToLower(resourceName))), jen.If(jen.Id("err").Op("!=").Nil()).Block( jen.Return(jen.Qual("github.com/mongodb/mongodb-atlas-kubernetes/v2/pkg/result", "Error").Call( - jen.Qual("github.com/mongodb/mongodb-atlas-kubernetes/v2/pkg/state", "StateInitial"), + jen.Qual("github.com/mongodb/mongodb-atlas-kubernetes/v2/pkg/state", startStateMap[handlerName]), jen.Id("err"), )), ), @@ -299,7 +310,7 @@ func generateDelegatingStateHandlers(f *jen.File, controllerName, resourceName, ) generateMapperFunctions(f, controllerName, resourceName, apiPkg, refsByKind) - + generateSetupWithManager(f, controllerName, resourceName, refsByKind) }