MCPcopy Index your code
hub / github.com/coder/coder / groupEdit

Method groupEdit

enterprise/cli/groupedit.go:17–124  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

15)
16
17func (r *RootCmd) groupEdit() *serpent.Command {
18 var (
19 avatarURL string
20 name string
21 displayName string
22 addUsers []string
23 rmUsers []string
24 orgContext = agpl.NewOrganizationContext()
25 )
26 cmd := &serpent.Command{
27 Use: "edit <name>",
28 Short: "Edit a user group",
29 Middleware: serpent.Chain(
30 serpent.RequireNArgs(1),
31 ),
32 Handler: func(inv *serpent.Invocation) error {
33 var (
34 ctx = inv.Context()
35 groupName = inv.Args[0]
36 )
37 client, err := r.InitClient(inv)
38 if err != nil {
39 return err
40 }
41
42 org, err := orgContext.Selected(inv, client)
43 if err != nil {
44 return xerrors.Errorf("current organization: %w", err)
45 }
46
47 group, err := client.GroupByOrgAndName(ctx, org.ID, groupName)
48 if err != nil {
49 return xerrors.Errorf("group by org and name: %w", err)
50 }
51
52 req := codersdk.PatchGroupRequest{
53 Name: name,
54 }
55
56 if avatarURL != "" {
57 req.AvatarURL = &avatarURL
58 }
59
60 if inv.ParsedFlags().Lookup("display-name").Changed {
61 req.DisplayName = &displayName
62 }
63
64 userRes, err := client.Users(ctx, codersdk.UsersRequest{})
65 if err != nil {
66 return xerrors.Errorf("get users: %w", err)
67 }
68
69 req.AddUsers, err = convertToUserIDs(addUsers, userRes.Users)
70 if err != nil {
71 return xerrors.Errorf("parse add-users: %w", err)
72 }
73
74 req.RemoveUsers, err = convertToUserIDs(rmUsers, userRes.Users)

Callers 1

groupsMethod · 0.95

Calls 9

InitClientMethod · 0.95
convertToUserIDsFunction · 0.85
SelectedMethod · 0.80
GroupByOrgAndNameMethod · 0.80
PatchGroupMethod · 0.80
ContextMethod · 0.65
UsersMethod · 0.65
AttachOptionsMethod · 0.65
ErrorfMethod · 0.45

Tested by

no test coverage detected