66 "fmt"
77 "net/http"
88
9- "github.com/gomicro/concord/report"
9+ "github.com/gomicro/scribe"
10+ "github.com/gomicro/scribe/color"
1011 "github.com/google/go-github/v56/github"
1112)
1213
@@ -60,11 +61,8 @@ func (c *Client) GetMembers(ctx context.Context, orgName string) ([]*github.User
6061 return members , nil
6162}
6263
63- func (c * Client ) InviteMember (ctx context.Context , orgName string , username string ) {
64- cs := & report.ChangeSet {}
65-
66- cs .Add ("invite " + username , "invited " + username )
67- cs .PrintPre ()
64+ func (c * Client ) InviteMember (ctx context.Context , scrb scribe.Scriber , orgName string , username string ) {
65+ scrb .Print (color .GreenFg ("invite " + username ))
6866
6967 c .Add (func () error {
7068 user , resp , err := c .ghClient .Users .Get (ctx , username )
@@ -91,13 +89,13 @@ func (c *Client) InviteMember(ctx context.Context, orgName string, username stri
9189 return err
9290 }
9391
94- cs . PrintPost ( )
92+ scrb . Print ( color . GreenFg ( "invited " + username ) )
9593
9694 return nil
9795 })
9896}
9997
100- func (c * Client ) SetOrgPrivileges (ctx context.Context , orgName string , edits * github.Organization ) error {
98+ func (c * Client ) SetOrgPrivileges (ctx context.Context , scrb scribe. Scriber , orgName string , edits * github.Organization ) error {
10199 ghOrg , _ , err := c .ghClient .Organizations .Get (ctx , orgName )
102100 if err != nil {
103101 if _ , ok := err .(* github.RateLimitError ); ok {
@@ -113,31 +111,24 @@ func (c *Client) SetOrgPrivileges(ctx context.Context, orgName string, edits *gi
113111 return err
114112 }
115113
116- cs := & report.ChangeSet {}
117-
114+ base := false
118115 if edits .DefaultRepoPermission != nil && * edits .DefaultRepoPermission != * ghOrg .DefaultRepoPermission {
119- cs .Add (
120- fmt .Sprintf ("setting base permissions to '%s'" , * edits .DefaultRepoPermission ),
121- fmt .Sprintf ("set base permissions to '%s'" , * edits .DefaultRepoPermission ),
122- )
116+ scrb .Print (color .GreenFg (fmt .Sprintf ("setting base permissions to '%s'" , * edits .DefaultRepoPermission )))
117+ base = true
123118 }
124119
120+ prvRepos := false
125121 if edits .MembersCanCreatePrivateRepos != nil && * edits .MembersCanCreatePrivateRepos != * ghOrg .MembersCanCreatePrivateRepos {
126- cs .Add (
127- fmt .Sprintf ("setting private repo creation to '%t'" , * edits .MembersCanCreatePrivateRepos ),
128- fmt .Sprintf ("set private repo creation to '%t'" , * edits .MembersCanCreatePrivateRepos ),
129- )
122+ scrb .Print (color .GreenFg (fmt .Sprintf ("setting private repo creation to '%t'" , * edits .MembersCanCreatePrivateRepos )))
123+ prvRepos = true
130124 }
131125
126+ pubRepos := false
132127 if edits .MembersCanCreatePublicRepos != nil && * edits .MembersCanCreatePublicRepos != * ghOrg .MembersCanCreatePublicRepos {
133- cs .Add (
134- fmt .Sprintf ("setting public repo creation to '%t'" , * edits .MembersCanCreatePublicRepos ),
135- fmt .Sprintf ("set public repo creation to '%t'" , * edits .MembersCanCreatePublicRepos ),
136- )
128+ scrb .Print (color .GreenFg (fmt .Sprintf ("setting public repo creation to '%t'" , * edits .MembersCanCreatePublicRepos )))
129+ pubRepos = true
137130 }
138131
139- cs .PrintPre ()
140-
141132 c .Add (func () error {
142133 _ , resp , err := c .ghClient .Organizations .Edit (ctx , orgName , edits )
143134 if err != nil {
@@ -152,7 +143,17 @@ func (c *Client) SetOrgPrivileges(ctx context.Context, orgName string, edits *gi
152143 return err
153144 }
154145
155- cs .PrintPost ()
146+ if base {
147+ scrb .Print (color .GreenFg (fmt .Sprintf ("set base permissions to '%s'" , * edits .DefaultRepoPermission )))
148+ }
149+
150+ if prvRepos {
151+ scrb .Print (color .GreenFg (fmt .Sprintf ("set private repo creation to '%t'" , * edits .MembersCanCreatePrivateRepos )))
152+ }
153+
154+ if pubRepos {
155+ scrb .Print (color .GreenFg (fmt .Sprintf ("set public repo creation to '%t'" , * edits .MembersCanCreatePublicRepos )))
156+ }
156157
157158 return nil
158159 })
0 commit comments