|
1 | 1 | package cmd |
2 | 2 |
|
3 | 3 | import ( |
| 4 | + "github.com/claudiodangelis/qrcp/application" |
4 | 5 | "github.com/spf13/cobra" |
5 | 6 | ) |
6 | 7 |
|
| 8 | +var app application.App |
| 9 | + |
7 | 10 | func init() { |
| 11 | + app = application.New() |
8 | 12 | rootCmd.AddCommand(sendCmd) |
9 | 13 | rootCmd.AddCommand(receiveCmd) |
10 | 14 | rootCmd.AddCommand(configCmd) |
11 | 15 | rootCmd.AddCommand(versionCmd) |
12 | 16 | rootCmd.AddCommand(completionCmd) |
| 17 | + configCmd.AddCommand(migrateCmd) |
13 | 18 | // Global command flags |
14 | | - rootCmd.PersistentFlags().BoolVarP(&quietFlag, "quiet", "q", false, "only print errors") |
15 | | - rootCmd.PersistentFlags().BoolVarP(&keepaliveFlag, "keep-alive", "k", false, "keep server alive after transferring") |
16 | | - rootCmd.PersistentFlags().BoolVarP(&listallinterfacesFlag, "list-all-interfaces", "l", false, "list all available interfaces when choosing the one to use") |
17 | | - rootCmd.PersistentFlags().IntVarP(&portFlag, "port", "p", 0, "port to use for the server") |
18 | | - rootCmd.PersistentFlags().StringVar(&pathFlag, "path", "", "path to use. Defaults to a random string") |
19 | | - rootCmd.PersistentFlags().StringVarP(&interfaceFlag, "interface", "i", "", "network interface to use for the server") |
20 | | - rootCmd.PersistentFlags().StringVarP(&fqdnFlag, "fqdn", "d", "", "fully-qualified domain name to use for the resulting URLs") |
21 | | - rootCmd.PersistentFlags().BoolVarP(&zipFlag, "zip", "z", false, "zip content before transferring") |
22 | | - rootCmd.PersistentFlags().StringVarP(&configFlag, "config", "c", "", "path to the config file, defaults to $XDG_CONFIG_HOME/qrcp/config.json") |
23 | | - rootCmd.PersistentFlags().BoolVarP(&browserFlag, "browser", "b", false, "display the QR code in a browser window") |
24 | | - rootCmd.PersistentFlags().BoolVarP(&secureFlag, "secure", "s", false, "use https connection") |
25 | | - rootCmd.PersistentFlags().StringVar(&tlscertFlag, "tls-cert", "", "path to TLS certificate to use with HTTPS") |
26 | | - rootCmd.PersistentFlags().StringVar(&tlskeyFlag, "tls-key", "", "path to TLS private key to use with HTTPS") |
| 19 | + rootCmd.PersistentFlags().BoolVarP(&app.Flags.Quiet, "quiet", "q", false, "only print errors") |
| 20 | + rootCmd.PersistentFlags().BoolVarP(&app.Flags.KeepAlive, "keep-alive", "k", false, "keep server alive after transferring") |
| 21 | + rootCmd.PersistentFlags().BoolVarP(&app.Flags.ListAllInterfaces, "list-all-interfaces", "l", false, "list all available interfaces when choosing the one to use") |
| 22 | + rootCmd.PersistentFlags().IntVarP(&app.Flags.Port, "port", "p", 0, "port to use for the server") |
| 23 | + rootCmd.PersistentFlags().StringVar(&app.Flags.Path, "path", "", "path to use. Defaults to a random string") |
| 24 | + rootCmd.PersistentFlags().StringVarP(&app.Flags.Interface, "interface", "i", "", "network interface to use for the server") |
| 25 | + rootCmd.PersistentFlags().StringVar(&app.Flags.Bind, "bind", "", "address to bind the web server to") |
| 26 | + rootCmd.PersistentFlags().StringVarP(&app.Flags.FQDN, "fqdn", "d", "", "fully-qualified domain name to use for the resulting URLs") |
| 27 | + rootCmd.PersistentFlags().BoolVarP(&app.Flags.Zip, "zip", "z", false, "zip content before transferring") |
| 28 | + rootCmd.PersistentFlags().StringVarP(&app.Flags.Config, "config", "c", "", "path to the config file, defaults to $XDG_CONFIG_HOME/qrcp/config.json") |
| 29 | + rootCmd.PersistentFlags().BoolVarP(&app.Flags.Browser, "browser", "b", false, "display the QR code in a browser window") |
| 30 | + rootCmd.PersistentFlags().BoolVarP(&app.Flags.Secure, "secure", "s", false, "use https connection") |
| 31 | + rootCmd.PersistentFlags().StringVar(&app.Flags.TlsCert, "tls-cert", "", "path to TLS certificate to use with HTTPS") |
| 32 | + rootCmd.PersistentFlags().StringVar(&app.Flags.TlsKey, "tls-key", "", "path to TLS private key to use with HTTPS") |
27 | 33 | // Receive command flags |
28 | | - receiveCmd.PersistentFlags().StringVarP(&outputFlag, "output", "o", "", "output directory for receiving files") |
| 34 | + receiveCmd.PersistentFlags().StringVarP(&app.Flags.Output, "output", "o", "", "output directory for receiving files") |
29 | 35 | } |
30 | 36 |
|
31 | | -// Flags |
32 | | -var zipFlag bool |
33 | | -var portFlag int |
34 | | -var interfaceFlag string |
35 | | -var outputFlag string |
36 | | -var keepaliveFlag bool |
37 | | -var quietFlag bool |
38 | | -var fqdnFlag string |
39 | | -var pathFlag string |
40 | | -var listallinterfacesFlag bool |
41 | | -var configFlag string |
42 | | -var browserFlag bool |
43 | | -var secureFlag bool |
44 | | -var tlscertFlag string |
45 | | -var tlskeyFlag string |
46 | | - |
47 | 37 | // The root command (`qrcp`) is like a shortcut of the `send` command |
48 | 38 | var rootCmd = &cobra.Command{ |
49 | 39 | Use: "qrcp", |
|
0 commit comments