Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var CommandSet = &cli.Command{ Name: "admingo", Aliases: []string{"ag"}, Usage: "fast admin go 套件", Subcommands: []*cli.Command{ CreateModuleCmd, }, }
View Source
var CreateModuleCmd = command.NewCommand("module", "生成业务模块", &CreateModuleConfig{ OutDir: "internal/app", }, command.WithAlias([]string{"m"}), ).AddHandler( command.InlineHandler[*CreateModuleConfig](func(c *cli.Context, config *CreateModuleConfig) error { cwd, err := os.Getwd() if err != nil { return fmt.Errorf("get current working directory: %w", err) } gm, err := gomod.ParseGoMod(path.Join(cwd, "go.mod")) if err != nil { return err } projectName := gm.ProjectName() packageName := strings.ToLower(strcase.ToCamel(config.Name)) moduleName := packageName outputDir := path.Join(cwd, config.OutDir, packageName) outputPackage := path.Join(projectName, config.OutDir, packageName) e := task.NewParallelScheduler() e.AddTask( workflow.NewRenderEmbedTemplateWorkflow("templates/admingo/fx.go.tmpl", map[string]string{ "projectName": projectName, "moduleName": moduleName, "packageName": packageName, }, "fx", ".go", task.WithFolder(outputDir)), ) e.AddTask( workflow.NewRenderEmbedTemplateWorkflow("templates/admingo/converter.go.tmpl", map[string]string{ "packageName": packageName, "outputPackage": outputPackage, }, "converter", ".go", task.WithFolder(outputDir)), ) e.AddTask( workflow.NewRenderEmbedTemplateWorkflow("templates/admingo/schemas.go.tmpl", map[string]string{ "packageName": packageName, }, "schemas", ".go", task.WithFolder(outputDir)), ) e.AddTask( workflow.NewRenderEmbedTemplateWorkflow("templates/admingo/service.go.tmpl", map[string]string{ "packageName": packageName, }, "service", ".go", task.WithFolder(outputDir)), ) return e.Run() }), ).Create()
Functions ¶
This section is empty.
Types ¶
type CreateModuleConfig ¶
Click to show internal directories.
Click to hide internal directories.