Skip to content

Commit d947a4e

Browse files
committed
Take credentials as command argument (#102)
allow to specify credentials when using the 'command' package as a go dependency - remove the config retrieval from the command package - the retrieval of the config is now done in the cli package - each command will take credentials as argument
1 parent a634ea3 commit d947a4e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+216
-142
lines changed

cli/dashboard/create.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"github.com/arduino/arduino-cli/cli/errorcodes"
2626
"github.com/arduino/arduino-cli/cli/feedback"
2727
"github.com/arduino/arduino-cloud-cli/command/dashboard"
28+
"github.com/arduino/arduino-cloud-cli/internal/config"
2829
"github.com/sirupsen/logrus"
2930
"github.com/spf13/cobra"
3031
)
@@ -56,6 +57,12 @@ func initCreateCommand() *cobra.Command {
5657
func runCreateCommand(cmd *cobra.Command, args []string) {
5758
logrus.Infof("Creating dashboard from template %s", createFlags.template)
5859

60+
cred, err := config.RetrieveCredentials()
61+
if err != nil {
62+
feedback.Errorf("Error during dashboard create: retrieving credentials: %v", err)
63+
os.Exit(errorcodes.ErrGeneric)
64+
}
65+
5966
params := &dashboard.CreateParams{
6067
Template: createFlags.template,
6168
Override: createFlags.override,
@@ -64,7 +71,7 @@ func runCreateCommand(cmd *cobra.Command, args []string) {
6471
params.Name = &createFlags.name
6572
}
6673

67-
dashboard, err := dashboard.Create(params)
74+
dashboard, err := dashboard.Create(params, cred)
6875
if err != nil {
6976
feedback.Errorf("Error during dashboard create: %v", err)
7077
os.Exit(errorcodes.ErrGeneric)

cli/dashboard/delete.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"github.com/arduino/arduino-cli/cli/errorcodes"
2424
"github.com/arduino/arduino-cli/cli/feedback"
2525
"github.com/arduino/arduino-cloud-cli/command/dashboard"
26+
"github.com/arduino/arduino-cloud-cli/internal/config"
2627
"github.com/sirupsen/logrus"
2728
"github.com/spf13/cobra"
2829
)
@@ -46,8 +47,14 @@ func initDeleteCommand() *cobra.Command {
4647
func runDeleteCommand(cmd *cobra.Command, args []string) {
4748
logrus.Infof("Deleting dashboard %s", deleteFlags.id)
4849

50+
cred, err := config.RetrieveCredentials()
51+
if err != nil {
52+
feedback.Errorf("Error during dashboard delete: retrieving credentials: %v", err)
53+
os.Exit(errorcodes.ErrGeneric)
54+
}
55+
4956
params := &dashboard.DeleteParams{ID: deleteFlags.id}
50-
err := dashboard.Delete(params)
57+
err = dashboard.Delete(params, cred)
5158
if err != nil {
5259
feedback.Errorf("Error during dashboard delete: %v", err)
5360
os.Exit(errorcodes.ErrGeneric)

cli/dashboard/extract.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"github.com/arduino/arduino-cli/cli/errorcodes"
2424
"github.com/arduino/arduino-cli/cli/feedback"
2525
"github.com/arduino/arduino-cloud-cli/command/dashboard"
26+
"github.com/arduino/arduino-cloud-cli/internal/config"
2627
"github.com/sirupsen/logrus"
2728
"github.com/spf13/cobra"
2829
"gopkg.in/yaml.v3"
@@ -48,11 +49,17 @@ func initExtractCommand() *cobra.Command {
4849
func runExtractCommand(cmd *cobra.Command, args []string) {
4950
logrus.Infof("Extracting template from dashboard %s", extractFlags.id)
5051

52+
cred, err := config.RetrieveCredentials()
53+
if err != nil {
54+
feedback.Errorf("Error during dashboard extract: retrieving credentials: %v", err)
55+
os.Exit(errorcodes.ErrGeneric)
56+
}
57+
5158
params := &dashboard.ExtractParams{
5259
ID: extractFlags.id,
5360
}
5461

55-
template, err := dashboard.Extract(params)
62+
template, err := dashboard.Extract(params, cred)
5663
if err != nil {
5764
feedback.Errorf("Error during template extraction: %v", err)
5865
os.Exit(errorcodes.ErrGeneric)

cli/dashboard/list.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
"github.com/arduino/arduino-cli/cli/feedback"
2727
"github.com/arduino/arduino-cli/table"
2828
"github.com/arduino/arduino-cloud-cli/command/dashboard"
29+
"github.com/arduino/arduino-cloud-cli/internal/config"
2930
"github.com/sirupsen/logrus"
3031
"github.com/spf13/cobra"
3132
)
@@ -53,7 +54,13 @@ func initListCommand() *cobra.Command {
5354
func runListCommand(cmd *cobra.Command, args []string) {
5455
logrus.Info("Listing dashboards")
5556

56-
dash, err := dashboard.List()
57+
cred, err := config.RetrieveCredentials()
58+
if err != nil {
59+
feedback.Errorf("Error during dashboard list: retrieving credentials: %v", err)
60+
os.Exit(errorcodes.ErrGeneric)
61+
}
62+
63+
dash, err := dashboard.List(cred)
5764
if err != nil {
5865
feedback.Errorf("Error during dashboard list: %v", err)
5966
os.Exit(errorcodes.ErrGeneric)

cli/device/create.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
"github.com/arduino/arduino-cli/cli/errorcodes"
2525
"github.com/arduino/arduino-cli/cli/feedback"
2626
"github.com/arduino/arduino-cloud-cli/command/device"
27+
"github.com/arduino/arduino-cloud-cli/internal/config"
2728
"github.com/sirupsen/logrus"
2829
"github.com/spf13/cobra"
2930
)
@@ -51,6 +52,12 @@ func initCreateCommand() *cobra.Command {
5152
func runCreateCommand(cmd *cobra.Command, args []string) {
5253
logrus.Infof("Creating device with name %s", createFlags.name)
5354

55+
cred, err := config.RetrieveCredentials()
56+
if err != nil {
57+
feedback.Errorf("Error during device create: retrieving credentials: %v", err)
58+
os.Exit(errorcodes.ErrGeneric)
59+
}
60+
5461
params := &device.CreateParams{
5562
Name: createFlags.name,
5663
}
@@ -61,7 +68,7 @@ func runCreateCommand(cmd *cobra.Command, args []string) {
6168
params.FQBN = &createFlags.fqbn
6269
}
6370

64-
dev, err := device.Create(params)
71+
dev, err := device.Create(params, cred)
6572
if err != nil {
6673
feedback.Errorf("Error during device create: %v", err)
6774
os.Exit(errorcodes.ErrGeneric)

cli/device/creategeneric.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
"github.com/arduino/arduino-cli/cli/errorcodes"
2525
"github.com/arduino/arduino-cli/cli/feedback"
2626
"github.com/arduino/arduino-cloud-cli/command/device"
27+
"github.com/arduino/arduino-cloud-cli/internal/config"
2728
"github.com/sirupsen/logrus"
2829
"github.com/spf13/cobra"
2930
)
@@ -49,12 +50,18 @@ func initCreateGenericCommand() *cobra.Command {
4950
func runCreateGenericCommand(cmd *cobra.Command, args []string) {
5051
logrus.Infof("Creating generic device with name %s", createGenericFlags.name)
5152

53+
cred, err := config.RetrieveCredentials()
54+
if err != nil {
55+
feedback.Errorf("Error during device create-generic: retrieving credentials: %v", err)
56+
os.Exit(errorcodes.ErrGeneric)
57+
}
58+
5259
params := &device.CreateGenericParams{
5360
Name: createGenericFlags.name,
5461
FQBN: createGenericFlags.fqbn,
5562
}
5663

57-
dev, err := device.CreateGeneric(params)
64+
dev, err := device.CreateGeneric(params, cred)
5865
if err != nil {
5966
feedback.Errorf("Error during device create-generic: %v", err)
6067
os.Exit(errorcodes.ErrGeneric)

cli/device/createlora.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
"github.com/arduino/arduino-cli/cli/errorcodes"
2525
"github.com/arduino/arduino-cli/cli/feedback"
2626
"github.com/arduino/arduino-cloud-cli/command/device"
27+
"github.com/arduino/arduino-cloud-cli/internal/config"
2728
"github.com/sirupsen/logrus"
2829
"github.com/spf13/cobra"
2930
)
@@ -55,6 +56,12 @@ func initCreateLoraCommand() *cobra.Command {
5556
func runCreateLoraCommand(cmd *cobra.Command, args []string) {
5657
logrus.Infof("Creating LoRa device with name %s", createLoraFlags.name)
5758

59+
cred, err := config.RetrieveCredentials()
60+
if err != nil {
61+
feedback.Errorf("Error during device create-lora: retrieving credentials: %v", err)
62+
os.Exit(errorcodes.ErrGeneric)
63+
}
64+
5865
params := &device.CreateLoraParams{
5966
CreateParams: device.CreateParams{
6067
Name: createLoraFlags.name,
@@ -68,7 +75,7 @@ func runCreateLoraCommand(cmd *cobra.Command, args []string) {
6875
params.FQBN = &createLoraFlags.fqbn
6976
}
7077

71-
dev, err := device.CreateLora(params)
78+
dev, err := device.CreateLora(params, cred)
7279
if err != nil {
7380
feedback.Errorf("Error during device create-lora: %v", err)
7481
os.Exit(errorcodes.ErrGeneric)

cli/device/delete.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"github.com/arduino/arduino-cli/cli/errorcodes"
2424
"github.com/arduino/arduino-cli/cli/feedback"
2525
"github.com/arduino/arduino-cloud-cli/command/device"
26+
"github.com/arduino/arduino-cloud-cli/internal/config"
2627
"github.com/sirupsen/logrus"
2728
"github.com/spf13/cobra"
2829
)
@@ -54,12 +55,18 @@ func initDeleteCommand() *cobra.Command {
5455
func runDeleteCommand(cmd *cobra.Command, args []string) {
5556
logrus.Infof("Deleting device %s", deleteFlags.id)
5657

58+
cred, err := config.RetrieveCredentials()
59+
if err != nil {
60+
feedback.Errorf("Error during device delete: retrieving credentials: %v", err)
61+
os.Exit(errorcodes.ErrGeneric)
62+
}
63+
5764
params := &device.DeleteParams{Tags: deleteFlags.tags}
5865
if deleteFlags.id != "" {
5966
params.ID = &deleteFlags.id
6067
}
6168

62-
err := device.Delete(params)
69+
err = device.Delete(params, cred)
6370
if err != nil {
6471
feedback.Errorf("Error during device delete: %v", err)
6572
os.Exit(errorcodes.ErrGeneric)

cli/device/list.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"github.com/arduino/arduino-cli/cli/feedback"
2626
"github.com/arduino/arduino-cli/table"
2727
"github.com/arduino/arduino-cloud-cli/command/device"
28+
"github.com/arduino/arduino-cloud-cli/internal/config"
2829
"github.com/sirupsen/logrus"
2930
"github.com/spf13/cobra"
3031
)
@@ -53,8 +54,14 @@ func initListCommand() *cobra.Command {
5354
func runListCommand(cmd *cobra.Command, args []string) {
5455
logrus.Info("Listing devices")
5556

57+
cred, err := config.RetrieveCredentials()
58+
if err != nil {
59+
feedback.Errorf("Error during device list: retrieving credentials: %v", err)
60+
os.Exit(errorcodes.ErrGeneric)
61+
}
62+
5663
params := &device.ListParams{Tags: listFlags.tags}
57-
devs, err := device.List(params)
64+
devs, err := device.List(params, cred)
5865
if err != nil {
5966
feedback.Errorf("Error during device list: %v", err)
6067
os.Exit(errorcodes.ErrGeneric)

cli/device/listfrequency.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
"github.com/arduino/arduino-cli/cli/feedback"
2525
"github.com/arduino/arduino-cli/table"
2626
"github.com/arduino/arduino-cloud-cli/command/device"
27+
"github.com/arduino/arduino-cloud-cli/internal/config"
2728
"github.com/sirupsen/logrus"
2829
"github.com/spf13/cobra"
2930
)
@@ -41,7 +42,13 @@ func initListFrequencyPlansCommand() *cobra.Command {
4142
func runListFrequencyPlansCommand(cmd *cobra.Command, args []string) {
4243
logrus.Info("Listing supported frequency plans")
4344

44-
freqs, err := device.ListFrequencyPlans()
45+
cred, err := config.RetrieveCredentials()
46+
if err != nil {
47+
feedback.Errorf("Error during device list-frequency-plans: retrieving credentials: %v", err)
48+
os.Exit(errorcodes.ErrGeneric)
49+
}
50+
51+
freqs, err := device.ListFrequencyPlans(cred)
4552
if err != nil {
4653
feedback.Errorf("Error during device list-frequency-plans: %v", err)
4754
os.Exit(errorcodes.ErrGeneric)

cli/device/tag/create.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"github.com/arduino/arduino-cli/cli/errorcodes"
2424
"github.com/arduino/arduino-cli/cli/feedback"
2525
"github.com/arduino/arduino-cloud-cli/command/tag"
26+
"github.com/arduino/arduino-cloud-cli/internal/config"
2627
"github.com/sirupsen/logrus"
2728
"github.com/spf13/cobra"
2829
)
@@ -60,7 +61,13 @@ func runCreateTagsCommand(cmd *cobra.Command, args []string) {
6061
Resource: tag.Device,
6162
}
6263

63-
err := tag.CreateTags(params)
64+
cred, err := config.RetrieveCredentials()
65+
if err != nil {
66+
feedback.Errorf("Error during device create-tags: retrieving credentials: %v", err)
67+
os.Exit(errorcodes.ErrGeneric)
68+
}
69+
70+
err = tag.CreateTags(params, cred)
6471
if err != nil {
6572
feedback.Errorf("Error during device create-tags: %v", err)
6673
os.Exit(errorcodes.ErrGeneric)

cli/device/tag/delete.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"github.com/arduino/arduino-cli/cli/errorcodes"
2424
"github.com/arduino/arduino-cli/cli/feedback"
2525
"github.com/arduino/arduino-cloud-cli/command/tag"
26+
"github.com/arduino/arduino-cloud-cli/internal/config"
2627
"github.com/sirupsen/logrus"
2728
"github.com/spf13/cobra"
2829
)
@@ -51,13 +52,19 @@ func InitDeleteTagsCommand() *cobra.Command {
5152
func runDeleteTagsCommand(cmd *cobra.Command, args []string) {
5253
logrus.Infof("Deleting tags with keys %s", deleteTagsFlags.keys)
5354

55+
cred, err := config.RetrieveCredentials()
56+
if err != nil {
57+
feedback.Errorf("Error during device delete-tags: retrieving credentials: %v", err)
58+
os.Exit(errorcodes.ErrGeneric)
59+
}
60+
5461
params := &tag.DeleteTagsParams{
5562
ID: deleteTagsFlags.id,
5663
Keys: deleteTagsFlags.keys,
5764
Resource: tag.Device,
5865
}
5966

60-
err := tag.DeleteTags(params)
67+
err = tag.DeleteTags(params, cred)
6168
if err != nil {
6269
feedback.Errorf("Error during device delete-tags: %v", err)
6370
os.Exit(errorcodes.ErrGeneric)

cli/ota/massupload.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
"github.com/arduino/arduino-cli/cli/feedback"
2828
"github.com/arduino/arduino-cli/table"
2929
"github.com/arduino/arduino-cloud-cli/command/ota"
30+
"github.com/arduino/arduino-cloud-cli/internal/config"
3031
"github.com/sirupsen/logrus"
3132
"github.com/spf13/cobra"
3233
)
@@ -74,7 +75,13 @@ func runMassUploadCommand(cmd *cobra.Command, args []string) {
7475
FQBN: massUploadFlags.fqbn,
7576
}
7677

77-
resp, err := ota.MassUpload(params)
78+
cred, err := config.RetrieveCredentials()
79+
if err != nil {
80+
feedback.Errorf("Error during device list-frequency-plans: retrieving credentials: %v", err)
81+
os.Exit(errorcodes.ErrGeneric)
82+
}
83+
84+
resp, err := ota.MassUpload(params, cred)
7885
if err != nil {
7986
feedback.Errorf("Error during ota upload: %v", err)
8087
os.Exit(errorcodes.ErrGeneric)

cli/ota/upload.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"github.com/arduino/arduino-cli/cli/errorcodes"
2424
"github.com/arduino/arduino-cli/cli/feedback"
2525
"github.com/arduino/arduino-cloud-cli/command/ota"
26+
"github.com/arduino/arduino-cloud-cli/internal/config"
2627
"github.com/sirupsen/logrus"
2728
"github.com/spf13/cobra"
2829
)
@@ -53,12 +54,18 @@ func initUploadCommand() *cobra.Command {
5354
func runUploadCommand(cmd *cobra.Command, args []string) {
5455
logrus.Infof("Uploading binary %s to device %s", uploadFlags.file, uploadFlags.deviceID)
5556

57+
cred, err := config.RetrieveCredentials()
58+
if err != nil {
59+
feedback.Errorf("Error during ota upload: retrieving credentials: %v", err)
60+
os.Exit(errorcodes.ErrGeneric)
61+
}
62+
5663
params := &ota.UploadParams{
5764
DeviceID: uploadFlags.deviceID,
5865
File: uploadFlags.file,
5966
Deferred: uploadFlags.deferred,
6067
}
61-
err := ota.Upload(params)
68+
err = ota.Upload(params, cred)
6269
if err != nil {
6370
feedback.Errorf("Error during ota upload: %v", err)
6471
os.Exit(errorcodes.ErrGeneric)

cli/thing/bind.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"github.com/arduino/arduino-cli/cli/errorcodes"
2424
"github.com/arduino/arduino-cli/cli/feedback"
2525
"github.com/arduino/arduino-cloud-cli/command/thing"
26+
"github.com/arduino/arduino-cloud-cli/internal/config"
2627
"github.com/sirupsen/logrus"
2728
"github.com/spf13/cobra"
2829
)
@@ -49,11 +50,17 @@ func initBindCommand() *cobra.Command {
4950
func runBindCommand(cmd *cobra.Command, args []string) {
5051
logrus.Infof("Binding thing %s to device %s", bindFlags.id, bindFlags.deviceID)
5152

53+
cred, err := config.RetrieveCredentials()
54+
if err != nil {
55+
feedback.Errorf("Error during thing bind: retrieving credentials: %v", err)
56+
os.Exit(errorcodes.ErrGeneric)
57+
}
58+
5259
params := &thing.BindParams{
5360
ID: bindFlags.id,
5461
DeviceID: bindFlags.deviceID,
5562
}
56-
err := thing.Bind(params)
63+
err = thing.Bind(params, cred)
5764
if err != nil {
5865
feedback.Errorf("Error during thing bind: %v", err)
5966
os.Exit(errorcodes.ErrGeneric)

0 commit comments

Comments
 (0)