From 5e557ece0d90322ede8ac1ff25a5e7cef21e48e3 Mon Sep 17 00:00:00 2001 From: Manuel Carbajal Date: Fri, 11 Jul 2025 17:36:20 -0600 Subject: [PATCH 1/2] fix: add model pages dependency --- bootstrap/bootstrap.go | 2 +- cmd/gen.go | 2 +- controllers/echoimpl/fixtures/web_controller.txt | 2 +- controllers/echoimpl/templates/web_controller.tmpl | 2 +- deps/deps.go | 7 ++++++- deps/deps_test.go | 6 +++++- deps/structs.go | 3 ++- testfixtures/fixtures.go | 2 +- 8 files changed, 18 insertions(+), 8 deletions(-) diff --git a/bootstrap/bootstrap.go b/bootstrap/bootstrap.go index eb7d79e..768f06e 100644 --- a/bootstrap/bootstrap.go +++ b/bootstrap/bootstrap.go @@ -201,7 +201,7 @@ func InitProject(input InitProjectInput) (string, error) { DevEnvironment: "dev", TestEnvironment: "test", GoVersion: "1.24", - GoDeps: deps.Init(input.ModuleName), + GoDeps: deps.Init(input.ModuleName, ""), } ) for _, dir := range initialFiles { diff --git a/cmd/gen.go b/cmd/gen.go index c9dae98..c16fe5a 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -64,7 +64,7 @@ gomancer gen Client name:string dob:time:optional status:enum/active/deactivated } log.Debug("input generated", "input", input) - goDeps, inCreation := deps.Init(input.ModuleInfo.Name), deps.InCreation(input.ModuleInfo.Name, input.PackageEntityName) + goDeps, inCreation := deps.Init(input.ModuleInfo.Name, input.LowerNoSpaceCase), deps.InCreation(input.ModuleInfo.Name, input.PackageEntityName) if err := models.GenerateModel(input, goDeps); err != nil { log.Error(err) diff --git a/controllers/echoimpl/fixtures/web_controller.txt b/controllers/echoimpl/fixtures/web_controller.txt index e55fa3a..66df5ef 100644 --- a/controllers/echoimpl/fixtures/web_controller.txt +++ b/controllers/echoimpl/fixtures/web_controller.txt @@ -5,7 +5,7 @@ import ( validate "github.com/gookit/validate" i18n "github.com/invopop/ctxi18n/i18n" http "net/http" - posttestpages "github.com/user/project_name/cmd/service/controllers/posttestpages" + posttestpages "github.com/user/project_name/cmd/service/controllers/posttestpages" toast "github.com/user/project_name/core/coretpls/toast" validator "github.com/user/project_name/core/validator" diff --git a/controllers/echoimpl/templates/web_controller.tmpl b/controllers/echoimpl/templates/web_controller.tmpl index 94d20b0..7023a4d 100644 --- a/controllers/echoimpl/templates/web_controller.tmpl +++ b/controllers/echoimpl/templates/web_controller.tmpl @@ -5,7 +5,7 @@ import ( {{.GoDeps.GookitValidate.GenerateImportString}} {{.GoDeps.I18n.GenerateImportString}} {{.GoDeps.Std.Net.Http.GenerateImportString}} - {{$pagesPackage}} "{{print .GoDeps.Project.Cmd.Controllers.Path "/" $pagesPackage}}" + {{.GoDeps.Project.Cmd.Controllers.ModelPages.GenerateImportString}} {{.GoDeps.Project.Core.CoreTpls.Toast.GenerateImportString}} {{.GoDeps.Project.Core.Validator.GenerateImportString}} diff --git a/deps/deps.go b/deps/deps.go index cce3795..755c73e 100644 --- a/deps/deps.go +++ b/deps/deps.go @@ -6,7 +6,8 @@ import ( "path" ) -func Init(moduleName string) Container { +func Init(moduleName, lowerNoSpaceCase string) Container { + modelPagesPackageName := fmt.Sprintf("%spages", lowerNoSpaceCase) return Container{ Echo: Echo{ Dependency: Dependency{ @@ -194,6 +195,10 @@ func Init(moduleName string) Container { Path: buildPath(moduleName, "cmd", "service", "controllers"), Alias: "controllers", }, + ModelPages: Dependency{ + Path: buildPath(moduleName, "cmd", "service", "controllers", modelPagesPackageName), + Alias: modelPagesPackageName, + }, InitPages: Dependency{ Path: buildPath(moduleName, "cmd", "service", "controllers", "initpages"), Alias: "initpages", diff --git a/deps/deps_test.go b/deps/deps_test.go index 18e3442..236d743 100644 --- a/deps/deps_test.go +++ b/deps/deps_test.go @@ -14,7 +14,7 @@ var _ = Describe("Deps", func() { var container deps.Container BeforeEach(func() { - container = deps.Init(testfixtures.ModelBinaryIdSuccess.ModuleInfo.Name) + container = deps.Init(testfixtures.ModelBinaryIdSuccess.ModuleInfo.Name, testfixtures.ModelBinaryIdSuccess.TransformedText.LowerNoSpaceCase) }) Describe("InCreation", func() { @@ -311,6 +311,10 @@ var _ = Describe("Deps", func() { Expect(container.Project.Cmd.Service.Controllers.Path).To(Equal(testfixtures.TestPath + "/cmd/service/controllers")) container.Project.Cmd.Service.Controllers.ImportAlias(file) + Expect(container.Project.Cmd.Service.Controllers.ModelPages.Alias).To(Equal("posttestpages")) + Expect(container.Project.Cmd.Service.Controllers.ModelPages.Path).To(Equal(testfixtures.TestPath + "/cmd/service/controllers/posttestpages")) + container.Project.Cmd.Service.Controllers.ModelPages.ImportAlias(file) + Expect(container.Project.Cmd.Service.Controllers.InitPages.Alias).To(Equal("initpages")) Expect(container.Project.Cmd.Service.Controllers.InitPages.Path).To(Equal(testfixtures.TestPath + "/cmd/service/controllers/initpages")) container.Project.Cmd.Service.Controllers.ImportAlias(file) diff --git a/deps/structs.go b/deps/structs.go index 7eededd..1947552 100644 --- a/deps/structs.go +++ b/deps/structs.go @@ -49,7 +49,8 @@ type ( } Controllers struct { Dependency - InitPages Dependency + InitPages Dependency + ModelPages Dependency } Components struct { diff --git a/testfixtures/fixtures.go b/testfixtures/fixtures.go index 344f010..ee4127b 100644 --- a/testfixtures/fixtures.go +++ b/testfixtures/fixtures.go @@ -320,6 +320,6 @@ var ( }, } - ModelSuccessDepsContainer = deps.Init(ModelBinaryIdSuccess.ModuleInfo.Name) + ModelSuccessDepsContainer = deps.Init(ModelBinaryIdSuccess.ModuleInfo.Name, ModelBinaryIdSuccess.TransformedText.LowerNoSpaceCase) ModelSuccessDepInCreation = deps.InCreation(ModelBinaryIdSuccess.ModuleInfo.Name, ModelBinaryIdSuccess.PackageEntityName) ) From 291659cac58891c8d7d0e3ffd3842faed967d238 Mon Sep 17 00:00:00 2001 From: Manuel Carbajal Date: Fri, 11 Jul 2025 21:42:27 -0600 Subject: [PATCH 2/2] fix: change web controller verbs methods for patch and put --- controllers/echoimpl/fixtures/web_controller.txt | 4 ++-- controllers/echoimpl/templates/web_controller.tmpl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/controllers/echoimpl/fixtures/web_controller.txt b/controllers/echoimpl/fixtures/web_controller.txt index 66df5ef..3b3cbc6 100644 --- a/controllers/echoimpl/fixtures/web_controller.txt +++ b/controllers/echoimpl/fixtures/web_controller.txt @@ -45,9 +45,9 @@ func (c *PostTestWebController) SetUpRoutes(group *echo.Group) { // Creates a user postTestGroup.POST("", c.SaveHandler) // Patch user - postTestGroup.PATCH("/:id", c.SaveHandler) + postTestGroup.PATCH("/:id", c.PartialUpdateByIdHandler) // Updates all user - postTestGroup.PUT("/:id", c.PartialUpdateByIdHandler) + postTestGroup.PUT("/:id", c.SaveHandler) // Deletes a user postTestGroup.DELETE("/:id", c.DeleteByIdHandler) } diff --git a/controllers/echoimpl/templates/web_controller.tmpl b/controllers/echoimpl/templates/web_controller.tmpl index 7023a4d..518af79 100644 --- a/controllers/echoimpl/templates/web_controller.tmpl +++ b/controllers/echoimpl/templates/web_controller.tmpl @@ -45,9 +45,9 @@ func (c *{{.PascalCase}}WebController) SetUpRoutes(group *echo.Group) { // Creates a user {{.CamelCase}}Group.POST("", c.SaveHandler) // Patch user - {{.CamelCase}}Group.PATCH("/:id", c.SaveHandler) + {{.CamelCase}}Group.PATCH("/:id", c.PartialUpdateByIdHandler) // Updates all user - {{.CamelCase}}Group.PUT("/:id", c.PartialUpdateByIdHandler) + {{.CamelCase}}Group.PUT("/:id", c.SaveHandler) // Deletes a user {{.CamelCase}}Group.DELETE("/:id", c.DeleteByIdHandler) }