Files

46 lines
909 B
Go
Executable File

package dev
import (
"github.com/bitmagnet-io/bitmagnet/internal/database"
"github.com/bitmagnet-io/bitmagnet/internal/plugin/app"
"github.com/bitmagnet-io/bitmagnet/internal/plugin/cmd"
"github.com/bitmagnet-io/bitmagnet/pkg/i18n"
"github.com/bitmagnet-io/bitmagnet/pkg/plugin"
"go.uber.org/fx"
"go.uber.org/zap"
)
func NewCommand() plugin.Command {
return func(appBuilder app.Builder) cmd.Command {
return &Command{
App: cmd.NewApp[CommandDeps](appBuilder),
}
}
}
type CommandDeps struct {
fx.In
DBProvider database.RunnerProvider
I18nProvider i18n.MessageProvider
Logger *zap.Logger
}
type Command struct {
cmd.Cmd `cmd:"name=dev,doc=Development utilities"`
cmd.App[CommandDeps]
}
func (c *Command) Subcommands() []cmd.Command {
return []cmd.Command{
&GormGenCommand{
App: c.App,
},
&MigrateCommand{
App: c.App,
},
&I18nCommand{
App: c.App,
},
}
}