Skip to content

Commit 533e913

Browse files
committed
Move cmd
1 parent bb3571b commit 533e913

File tree

2 files changed

+21
-18
lines changed

2 files changed

+21
-18
lines changed

cli/templateversionarchive.go

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,30 @@ import (
1414
"github.com/coder/coder/v2/codersdk"
1515
)
1616

17+
func (r *RootCmd) unarchiveTemplateVersion() *clibase.Cmd {
18+
return r.setArchiveTemplateVersion(false)
19+
}
1720
func (r *RootCmd) archiveTemplateVersion() *clibase.Cmd {
18-
var unarchive clibase.Bool
21+
return r.setArchiveTemplateVersion(true)
22+
}
23+
24+
func (r *RootCmd) setArchiveTemplateVersion(archive bool) *clibase.Cmd {
25+
presentVerb := "archive"
26+
pastVerb := "archived"
27+
if !archive {
28+
presentVerb = "unarchive"
29+
pastVerb = "unarchived"
30+
}
1931

2032
client := new(codersdk.Client)
2133
cmd := &clibase.Cmd{
22-
Use: "archive <template-name> [template-version-names...] ",
23-
Short: "Archive or unarchive a template version(s).",
34+
Use: presentVerb + " <template-name> [template-version-names...] ",
35+
Short: strings.ToUpper(string(presentVerb[0])) + presentVerb[1:] + " a template version(s).",
2436
Middleware: clibase.Chain(
2537
r.InitClient(client),
2638
),
2739
Options: clibase.OptionSet{
2840
cliui.SkipPromptOption(),
29-
clibase.Option{
30-
Name: "unarchive",
31-
Description: "Unarchive the selected template version.",
32-
Flag: "unarchive",
33-
Value: &unarchive,
34-
},
3541
},
3642
Handler: func(inv *clibase.Invocation) error {
3743
var (
@@ -64,26 +70,22 @@ func (r *RootCmd) archiveTemplateVersion() *clibase.Cmd {
6470
versions = append(versions, version)
6571
}
6672

67-
verb := "archived"
68-
if unarchive {
69-
verb = "unarchived"
70-
}
7173
failed := 0
7274
for _, version := range versions {
73-
if version.Archived == !unarchive.Value() {
75+
if version.Archived == archive {
7476
_, _ = fmt.Fprintln(
75-
inv.Stdout, fmt.Sprintf("Version "+pretty.Sprint(cliui.DefaultStyles.Keyword, version.Name)+" already "+verb),
77+
inv.Stdout, fmt.Sprintf("Version "+pretty.Sprint(cliui.DefaultStyles.Keyword, version.Name)+" already "+pastVerb),
7678
)
7779
continue
7880
}
7981

80-
err := client.SetArchiveTemplateVersion(ctx, version.ID, !unarchive.Value())
82+
err := client.SetArchiveTemplateVersion(ctx, version.ID, archive)
8183
if err != nil {
82-
return xerrors.Errorf("set template version %q: %w", version.Name, err)
84+
return xerrors.Errorf("%s template version %q: %w", presentVerb, version.Name, err)
8385
}
8486

8587
_, _ = fmt.Fprintln(
86-
inv.Stdout, fmt.Sprintf("Version "+pretty.Sprint(cliui.DefaultStyles.Keyword, version.Name)+" "+verb+" at "+cliui.Timestamp(time.Now())),
88+
inv.Stdout, fmt.Sprintf("Version "+pretty.Sprint(cliui.DefaultStyles.Keyword, version.Name)+" "+pastVerb+" at "+cliui.Timestamp(time.Now())),
8789
)
8890
}
8991

cli/templateversions.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ func (r *RootCmd) templateVersions() *clibase.Cmd {
3232
Children: []*clibase.Cmd{
3333
r.templateVersionsList(),
3434
r.archiveTemplateVersion(),
35+
r.unarchiveTemplateVersion(),
3536
},
3637
}
3738

0 commit comments

Comments
 (0)