refactor: put all --ipns-base options in one place
Adin Schmahmann committed
Sep 8, 2020 at 13:08 UTC
6cbda0f62fbd2481b0ae2e0d0ce518576992ad1e
4 files changed
+18
-15
core/commands/keyencode/keyencode.go
+4
-1
@@ -1,11 +1,14 @@
1
package keyencode
2
3
import (
4
+ cmds "github.com/ipfs/go-ipfs-cmds"
5
peer "github.com/libp2p/go-libp2p-core/peer"
6
mbase "github.com/multiformats/go-multibase"
7
)
8
8
-const IPNSKeyFormatOptionName = "ipns-base"
9
+const ipnsKeyFormatOptionName = "ipns-base"
10
+
11
+var OptionIPNSBase = cmds.StringOption(ipnsKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36")
12
13
type KeyEncoder struct {
14
baseEnc *mbase.Encoder
core/commands/keystore.go
+10
-10
@@ -81,7 +81,7 @@ var keyGenCmd = &cmds.Command{
81
Options: []cmds.Option{
82
cmds.StringOption(keyStoreTypeOptionName, "t", "type of the key to create: rsa, ed25519").WithDefault(keyStoreAlgorithmDefault),
83
cmds.IntOption(keyStoreSizeOptionName, "s", "size of the key to generate"),
84
- cmds.StringOption(ke.IPNSKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36"),
84
+ ke.OptionIPNSBase,
85
},
86
Arguments: []cmds.Argument{
87
cmds.StringArg("name", true, false, "name of key to create"),
@@ -108,7 +108,7 @@ var keyGenCmd = &cmds.Command{
108
if sizefound {
109
opts = append(opts, options.Key.Size(size))
110
}
111
- keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.IPNSKeyFormatOptionName].(string))
111
+ keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.OptionIPNSBase.Name()].(string))
112
if err != nil {
113
return err
114
}
@@ -223,7 +223,7 @@ var keyImportCmd = &cmds.Command{
223
Tagline: "Import a key and prints imported key id",
224
},
225
Options: []cmds.Option{
226
- cmds.StringOption(ke.IPNSKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36"),
226
+ ke.OptionIPNSBase,
227
},
228
Arguments: []cmds.Argument{
229
cmds.StringArg("name", true, false, "name to associate with key in keychain"),
@@ -236,7 +236,7 @@ var keyImportCmd = &cmds.Command{
236
return fmt.Errorf("cannot import key with name 'self'")
237
}
238
239
- keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.IPNSKeyFormatOptionName].(string))
239
+ keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.OptionIPNSBase.Name()].(string))
240
if err != nil {
241
return err
242
}
@@ -303,10 +303,10 @@ var keyListCmd = &cmds.Command{
303
},
304
Options: []cmds.Option{
305
cmds.BoolOption("l", "Show extra information about keys."),
306
- cmds.StringOption(ke.IPNSKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36"),
306
+ ke.OptionIPNSBase,
307
},
308
Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
309
- keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.IPNSKeyFormatOptionName].(string))
309
+ keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.OptionIPNSBase.Name()].(string))
310
if err != nil {
311
return err
312
}
@@ -352,14 +352,14 @@ var keyRenameCmd = &cmds.Command{
352
},
353
Options: []cmds.Option{
354
cmds.BoolOption(keyStoreForceOptionName, "f", "Allow to overwrite an existing key."),
355
- cmds.StringOption(ke.IPNSKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36"),
355
+ ke.OptionIPNSBase,
356
},
357
Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
358
api, err := cmdenv.GetApi(env, req)
359
if err != nil {
360
return err
361
}
362
- keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.IPNSKeyFormatOptionName].(string))
362
+ keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.OptionIPNSBase.Name()].(string))
363
if err != nil {
364
return err
365
}
@@ -402,14 +402,14 @@ var keyRmCmd = &cmds.Command{
402
},
403
Options: []cmds.Option{
404
cmds.BoolOption("l", "Show extra information about keys."),
405
- cmds.StringOption(ke.IPNSKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36"),
405
+ ke.OptionIPNSBase,
406
},
407
Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
408
api, err := cmdenv.GetApi(env, req)
409
if err != nil {
410
return err
411
}
412
- keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.IPNSKeyFormatOptionName].(string))
412
+ keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.OptionIPNSBase.Name()].(string))
413
if err != nil {
414
return err
415
}
core/commands/name/ipnsps.go
+2
-2
@@ -74,10 +74,10 @@ var ipnspsSubsCmd = &cmds.Command{
74
Tagline: "Show current name subscriptions",
75
},
76
Options: []cmds.Option{
77
- cmds.StringOption(ke.IPNSKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36"),
77
+ ke.OptionIPNSBase,
78
},
79
Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
80
- keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.IPNSKeyFormatOptionName].(string))
80
+ keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.OptionIPNSBase.Name()].(string))
81
if err != nil {
82
return err
83
}
core/commands/name/publish.go
+2
-2
@@ -83,14 +83,14 @@ Alternatively, publish an <ipfs-path> using a valid PeerID (as listed by
83
cmds.StringOption(ttlOptionName, "Time duration this record should be cached for. Uses the same syntax as the lifetime option. (caution: experimental)"),
84
cmds.StringOption(keyOptionName, "k", "Name of the key to be used or a valid PeerID, as listed by 'ipfs key list -l'.").WithDefault("self"),
85
cmds.BoolOption(quieterOptionName, "Q", "Write only final hash."),
86
- cmds.StringOption(ke.IPNSKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36"),
86
+ ke.OptionIPNSBase,
87
},
88
Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
89
api, err := cmdenv.GetApi(env, req)
90
if err != nil {
91
return err
92
}
93
- keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.IPNSKeyFormatOptionName].(string))
93
+ keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.OptionIPNSBase.Name()].(string))
94
if err != nil {
95
return err
96
}