@@ -30,7 +30,7 @@ type GrantSSHStore interface {
3030 GetOrganizationsByName (name string ) ([]entity.Organization , error )
3131 ListOrganizations () ([]entity.Organization , error )
3232 GetAccessToken () (string , error )
33- GetOrgRoleAttachments ( orgID string ) ([]entity. OrgRoleAttachment , error )
33+ ListOrganizationMembers ( ctx context. Context , orgID string ) ([]* nodev1. OrganizationMember , error )
3434 GetUserByID (userID string ) (* entity.User , error )
3535}
3636
@@ -43,8 +43,7 @@ type grantSSHDeps struct {
4343}
4444
4545type resolvedMember struct {
46- user * entity.User
47- attachment entity.OrgRoleAttachment
46+ user * entity.User
4847}
4948
5049func defaultGrantSSHDeps () grantSSHDeps {
@@ -161,7 +160,7 @@ func runGrantSSH(ctx context.Context, t *terminal.Terminal, s GrantSSHStore, opt
161160 return breverrors .WrapAndTrace (err )
162161 }
163162
164- orgMembers , err := getOrgMembers (currentUser , t , s , org .ID )
163+ orgMembers , err := getOrgMembers (ctx , currentUser , t , s , org .ID )
165164 if err != nil {
166165 return err
167166 }
@@ -291,16 +290,16 @@ func findUserByIDOrEmail(members []resolvedMember, idOrEmail string) (*entity.Us
291290 return nil , fmt .Errorf ("no org member found matching %q" , idOrEmail )
292291}
293292
294- func getOrgMembers (currentUser * entity.User , t * terminal.Terminal , s GrantSSHStore , orgID string ) ([]resolvedMember , error ) {
295- attachments , err := s .GetOrgRoleAttachments ( orgID )
293+ func getOrgMembers (ctx context. Context , currentUser * entity.User , t * terminal.Terminal , s GrantSSHStore , orgID string ) ([]resolvedMember , error ) {
294+ members , err := s .ListOrganizationMembers ( ctx , orgID )
296295 if err != nil {
297296 return nil , fmt .Errorf ("failed to fetch org members: %w" , err )
298297 }
299298
300- var otherMembers []entity. OrgRoleAttachment
301- for _ , a := range attachments {
302- if a . Subject != currentUser .ID {
303- otherMembers = append (otherMembers , a )
299+ var otherMembers []* nodev1. OrganizationMember
300+ for _ , member := range members {
301+ if member . GetUserId () != currentUser .ID {
302+ otherMembers = append (otherMembers , member )
304303 }
305304 }
306305
@@ -309,12 +308,12 @@ func getOrgMembers(currentUser *entity.User, t *terminal.Terminal, s GrantSSHSto
309308 }
310309 var resolved []resolvedMember
311310 for _ , m := range otherMembers {
312- memberUser , err := s .GetUserByID (m .Subject )
311+ memberUser , err := s .GetUserByID (m .GetUserId () )
313312 if err != nil {
314- t .Vprintf (" Warning: could not resolve user %s: %v\n " , m .Subject , err )
313+ t .Vprintf (" Warning: could not resolve user %s: %v\n " , m .GetUserId () , err )
315314 continue
316315 }
317- resolved = append (resolved , resolvedMember {user : memberUser , attachment : m })
316+ resolved = append (resolved , resolvedMember {user : memberUser })
318317 }
319318
320319 if len (resolved ) == 0 {
0 commit comments