2026-03-16 18:06:59 +03:00

50 lines
1.1 KiB
Go

package main
import (
"flag"
"scripts/internal/command"
"scripts/internal/config"
e "scripts/pkg/errors"
"scripts/pkg/logger"
l "scripts/pkg/logger"
)
const defaultConfigPath = "config.json"
func main() {
var (
commandName string
confPath string
)
flag.StringVar(&confPath, "config", defaultConfigPath, "path to config file")
flag.StringVar(&commandName, "c", "", "command name")
flag.Parse()
config.MustLoad(confPath)
if commandName == "" {
l.Log.Fatal().Msg("flag '-c' required")
}
logger.MustInit()
command.InitSripts()
cmd, exists := command.Scripts[commandName]
if !exists {
l.Log.Warn().Err(e.ErrCommandNotFound).Str("command", commandName).Send()
l.Log.Info().Msg("selected command - 'help'")
if err := command.Scripts["help"].Exec(); err != nil {
l.Log.Fatal().Err(err).Str("command", commandName).Msg("failed to use help command")
}
return
}
l.Log.Info().Msgf("selected command - %s", commandName)
if err := cmd.Exec(); err != nil {
l.Log.Error().Err(err).Str("command", commandName).Msg("failed to execude command")
return
}
}