setup

package
v0.0.0-...-9ad592c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 22, 2021 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var StartCmd = &cobra.Command{
	Use:          "setup",
	Short:        "Set up data for the application",
	Example:      "{execfile} init -c config/settings.yml",
	SilenceUsage: true,
	PreRun: func(cmd *cobra.Command, args []string) {
		lib.SetConfigPath(configFile)
	},
	Run: func(cmd *cobra.Command, args []string) {
		config := lib.NewConfig()
		logger := lib.NewLogger(config)
		db := lib.NewDatabase(config, logger)

		menuService := services.NewMenuService(
			logger,
			repository.NewMenuRepository(db, logger),
			repository.NewMenuActionRepository(db, logger),
			repository.NewMenuActionResourceRepository(db, logger),
		)

		if !file.IsFile(menuFile) {
			logger.Zap.Fatal("menu file does not exist")
		}

		fs, err := os.Open(menuFile)
		if err != nil {
			logger.Zap.Fatalf("menu file could not be opened: %v", err)
		}

		defer fs.Close()

		var menuTrees models.MenuTrees
		yd := yaml.NewDecoder(fs)
		if err = yd.Decode(&menuTrees); err != nil {
			logger.Zap.Fatalf("menu file decode error: %v", err)
		}

		if err = menuService.CreateMenus("", menuTrees); err != nil {
			logger.Zap.Fatalf("menu file init err: %v", err)
		}

		logger.Zap.Info("menu file import successfully")
	},
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL