package flag import ( clientFlag "forge.cadoles.com/cadoles/bouncer/internal/command/admin/flag" "forge.cadoles.com/cadoles/bouncer/internal/store" "github.com/pkg/errors" "github.com/urfave/cli/v2" ) const FlagProxyName = "proxy-name" func WithProxyFlags(flags ...cli.Flag) []cli.Flag { baseFlags := clientFlag.ComposeFlags( &cli.StringFlag{ Name: FlagProxyName, Usage: "use `PROXY_NAME` as targeted proxy", Value: "", Required: true, }, ) flags = append(flags, baseFlags...) return flags } func AssertProxyName(ctx *cli.Context) (store.ProxyName, error) { rawProxyName := ctx.String(FlagProxyName) name, err := store.ValidateName(rawProxyName) if err != nil { return "", errors.WithStack(err) } return store.ProxyName(name), nil }