package args import "git.ostiwe.com/ostiwe-com/status/version" type ServerCmd struct { Port string `arg:"-p,--port" help:"Port to listen on" default:"8080"` } type MigrationCreate struct { Name string `arg:"-n,--name" help:"Name of migration"` } type Migration struct { Create *MigrationCreate `arg:"subcommand:create" help:"Create migration"` } type ServerDocumentationCmd struct { Port string `arg:"-p,--port" help:"Port to listen on" default:"8081"` Plain bool `arg:"--plain" help:"Enable plain text output" default:"true"` PlainFormat string `arg:"--plain-format" help:"Set format for output (json, yaml)" default:"yaml"` } type AppArgs struct { Server *ServerCmd `arg:"subcommand:server" help:"Start the api server"` ServerDocumentation *ServerDocumentationCmd `arg:"subcommand:server-docs" help:"Generate documentation for api server and start documentation server"` Migration *Migration `arg:"subcommand:migration" help:"Migration utils"` } func (AppArgs) Version() string { return version.AppVersion() }