Skip to content

Commit 0cb2509

Browse files
committed
Refactored 'rename' command (scaleway#80)
1 parent e94726c commit 0cb2509

File tree

2 files changed

+44
-13
lines changed

2 files changed

+44
-13
lines changed

pkg/cli/rename.go

+11-13
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
package cli
66

77
import (
8-
log "github.com/scaleway/scaleway-cli/vendor/github.com/Sirupsen/logrus"
8+
"github.com/scaleway/scaleway-cli/vendor/github.com/Sirupsen/logrus"
99

10-
"github.com/scaleway/scaleway-cli/pkg/api"
10+
"github.com/scaleway/scaleway-cli/pkg/commands"
1111
)
1212

1313
var cmdRename = &Command{
@@ -24,23 +24,21 @@ func init() {
2424
// Flags
2525
var renameHelp bool // -h, --help flag
2626

27-
func runRename(cmd *Command, args []string) {
27+
func runRename(cmd *Command, rawArgs []string) {
2828
if renameHelp {
2929
cmd.PrintUsage()
3030
}
31-
if len(args) != 2 {
31+
if len(rawArgs) != 2 {
3232
cmd.PrintShortUsage()
3333
}
3434

35-
serverID := cmd.API.GetServerID(args[0])
36-
37-
var server api.ScalewayServerPatchDefinition
38-
server.Name = &args[1]
39-
40-
err := cmd.API.PatchServer(serverID, server)
35+
args := commands.RenameArgs{
36+
Server: rawArgs[0],
37+
NewName: rawArgs[1],
38+
}
39+
ctx := cmd.GetContext(rawArgs)
40+
err := commands.RunRename(ctx, args)
4141
if err != nil {
42-
log.Fatalf("Cannot rename server: %v", err)
43-
} else {
44-
cmd.API.Cache.InsertServer(serverID, *server.Name)
42+
logrus.Fatalf("Cannot execute 'rename': %v", err)
4543
}
4644
}

pkg/commands/rename.go

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Copyright (C) 2015 Scaleway. All rights reserved.
2+
// Use of this source code is governed by a MIT-style
3+
// license that can be found in the LICENSE.md file.
4+
5+
package commands
6+
7+
import (
8+
"log"
9+
10+
"github.com/scaleway/scaleway-cli/pkg/api"
11+
)
12+
13+
// RenameArgs are flags for the `RunRename` function
14+
type RenameArgs struct {
15+
Server string
16+
NewName string
17+
}
18+
19+
// RunRename is the handler for 'scw rename'
20+
func RunRename(ctx CommandContext, args RenameArgs) error {
21+
serverID := ctx.API.GetServerID(args.Server)
22+
23+
var server api.ScalewayServerPatchDefinition
24+
server.Name = &args.NewName
25+
26+
err := ctx.API.PatchServer(serverID, server)
27+
if err != nil {
28+
log.Fatalf("Cannot rename server: %v", err)
29+
} else {
30+
ctx.API.Cache.InsertServer(serverID, *server.Name)
31+
}
32+
return nil
33+
}

0 commit comments

Comments
 (0)