template.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package gogen
  2. import (
  3. "fmt"
  4. "github.com/urfave/cli"
  5. "github.com/zeromicro/go-zero/tools/goctl/util/pathx"
  6. )
  7. const (
  8. category = "api"
  9. configTemplateFile = "config.tpl"
  10. contextTemplateFile = "context.tpl"
  11. etcTemplateFile = "etc.tpl"
  12. handlerTemplateFile = "handler.tpl"
  13. logicTemplateFile = "logic.tpl"
  14. mainTemplateFile = "main.tpl"
  15. middlewareImplementCodeFile = "middleware.tpl"
  16. routesTemplateFile = "routes.tpl"
  17. routesAdditionTemplateFile = "route-addition.tpl"
  18. typesTemplateFile = "types.tpl"
  19. )
  20. var templates = map[string]string{
  21. configTemplateFile: configTemplate,
  22. contextTemplateFile: contextTemplate,
  23. etcTemplateFile: etcTemplate,
  24. handlerTemplateFile: handlerTemplate,
  25. logicTemplateFile: logicTemplate,
  26. mainTemplateFile: mainTemplate,
  27. middlewareImplementCodeFile: middlewareImplementCode,
  28. routesTemplateFile: routesTemplate,
  29. routesAdditionTemplateFile: routesAdditionTemplate,
  30. typesTemplateFile: typesTemplate,
  31. }
  32. // Category returns the category of the api files.
  33. func Category() string {
  34. return category
  35. }
  36. // Clean cleans the generated deployment files.
  37. func Clean() error {
  38. return pathx.Clean(category)
  39. }
  40. // GenTemplates generates api template files.
  41. func GenTemplates(_ *cli.Context) error {
  42. return pathx.InitTemplates(category, templates)
  43. }
  44. // RevertTemplate reverts the given template file to the default value.
  45. func RevertTemplate(name string) error {
  46. content, ok := templates[name]
  47. if !ok {
  48. return fmt.Errorf("%s: no such file name", name)
  49. }
  50. return pathx.CreateTemplate(category, name, content)
  51. }
  52. // Update updates the template files to the templates built in current goctl.
  53. func Update() error {
  54. err := Clean()
  55. if err != nil {
  56. return err
  57. }
  58. return pathx.InitTemplates(category, templates)
  59. }