Skip to content

Commit 6e1e1a0

Browse files
committed
chore: Extract function
1 parent 0422e71 commit 6e1e1a0

File tree

1 file changed

+43
-41
lines changed

1 file changed

+43
-41
lines changed

cli/configssh.go

Lines changed: 43 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -103,54 +103,56 @@ type sshWorkspaceConfig struct {
103103
Hosts []string
104104
}
105105

106-
func sshPrepareWorkspaceConfigs(ctx context.Context, client *codersdk.Client) (receive func() ([]sshWorkspaceConfig, error)) {
107-
wcC := make(chan []sshWorkspaceConfig, 1)
108-
errC := make(chan error, 1)
109-
go func() {
110-
wc, err := func() ([]sshWorkspaceConfig, error) {
111-
workspaces, err := client.Workspaces(ctx, codersdk.WorkspaceFilter{
112-
Owner: codersdk.Me,
113-
})
106+
func fetchWorkspaceConfigs(ctx context.Context, client *codersdk.Client) ([]sshWorkspaceConfig, error) {
107+
workspaces, err := client.Workspaces(ctx, codersdk.WorkspaceFilter{
108+
Owner: codersdk.Me,
109+
})
110+
if err != nil {
111+
return nil, err
112+
}
113+
114+
var errGroup errgroup.Group
115+
workspaceConfigs := make([]sshWorkspaceConfig, len(workspaces))
116+
for i, workspace := range workspaces {
117+
i := i
118+
workspace := workspace
119+
errGroup.Go(func() error {
120+
resources, err := client.TemplateVersionResources(ctx, workspace.LatestBuild.TemplateVersionID)
114121
if err != nil {
115-
return nil, err
122+
return err
116123
}
117124

118-
var errGroup errgroup.Group
119-
workspaceConfigs := make([]sshWorkspaceConfig, len(workspaces))
120-
for i, workspace := range workspaces {
121-
i := i
122-
workspace := workspace
123-
errGroup.Go(func() error {
124-
resources, err := client.TemplateVersionResources(ctx, workspace.LatestBuild.TemplateVersionID)
125-
if err != nil {
126-
return err
125+
wc := sshWorkspaceConfig{Name: workspace.Name}
126+
for _, resource := range resources {
127+
if resource.Transition != codersdk.WorkspaceTransitionStart {
128+
continue
129+
}
130+
for _, agent := range resource.Agents {
131+
hostname := workspace.Name
132+
if len(resource.Agents) > 1 {
133+
hostname += "." + agent.Name
127134
}
135+
wc.Hosts = append(wc.Hosts, hostname)
136+
}
137+
}
138+
workspaceConfigs[i] = wc
128139

129-
wc := sshWorkspaceConfig{Name: workspace.Name}
130-
for _, resource := range resources {
131-
if resource.Transition != codersdk.WorkspaceTransitionStart {
132-
continue
133-
}
134-
for _, agent := range resource.Agents {
135-
hostname := workspace.Name
136-
if len(resource.Agents) > 1 {
137-
hostname += "." + agent.Name
138-
}
139-
wc.Hosts = append(wc.Hosts, hostname)
140-
}
141-
}
142-
workspaceConfigs[i] = wc
140+
return nil
141+
})
142+
}
143+
err = errGroup.Wait()
144+
if err != nil {
145+
return nil, err
146+
}
143147

144-
return nil
145-
})
146-
}
147-
err = errGroup.Wait()
148-
if err != nil {
149-
return nil, err
150-
}
148+
return workspaceConfigs, nil
149+
}
151150

152-
return workspaceConfigs, nil
153-
}()
151+
func sshPrepareWorkspaceConfigs(ctx context.Context, client *codersdk.Client) (receive func() ([]sshWorkspaceConfig, error)) {
152+
wcC := make(chan []sshWorkspaceConfig, 1)
153+
errC := make(chan error, 1)
154+
go func() {
155+
wc, err := fetchWorkspaceConfigs(ctx, client)
154156
wcC <- wc
155157
errC <- err
156158
}()

0 commit comments

Comments
 (0)