package serve import ( "dynatron.me/x/blasphem/internal/common" "dynatron.me/x/blasphem/pkg/config" "dynatron.me/x/blasphem/pkg/server" "github.com/spf13/cobra" ) type ServeOptions struct { cfg *config.Config } func Command(cfg *config.Config) *cobra.Command { opts := makeOptions(cfg) serveCmd := &cobra.Command{ Use: "serve", Short: "starts the " + common.AppName + " server", RunE: common.RunE(opts), } return serveCmd } func makeOptions(cfg *config.Config) *ServeOptions { return &ServeOptions{ cfg: cfg, } } func (o *ServeOptions) Options(_ *cobra.Command, args []string) error { return nil } func (o *ServeOptions) Execute() error { server, err := server.New(o.cfg) if err != nil { return err } err = server.Go() if err != nil { return err } return nil }