Skip to content

Commit 8b260ce

Browse files
Fixes awslabs#66: runtime error: index out of range [0] with length 0
1 parent 888d970 commit 8b260ce

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

internal/google/client.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ func (c *client) GetDeletedUsers() ([]*admin.User, error) {
7575
// GetGroupMembers will get the members of the group specified
7676
func (c *client) GetGroupMembers(g *admin.Group) ([]*admin.Member, error) {
7777
m := make([]*admin.Member, 0)
78-
err := c.service.Members.List(g.Id).Pages(context.TODO(), func(members *admin.Members) error {
78+
err := c.service.Members.List(g.Id).IncludeDerivedMembership(true).Pages(context.TODO(), func(members *admin.Members) error {
7979
m = append(m, members.Members...)
8080
return nil
8181
})

internal/sync.go

+10
Original file line numberDiff line numberDiff line change
@@ -505,13 +505,23 @@ func (s *syncGSuite) getGoogleGroupsAndUsers(googleGroups []*admin.Group) ([]*ad
505505
continue
506506
}
507507

508+
if m.Type == "GROUP" {
509+
log.WithField("id", m.Email).Debug("ignoring group address")
510+
continue
511+
}
512+
508513
log.WithField("id", m.Email).Debug("get user")
509514
q := fmt.Sprintf("email:%s", m.Email)
510515
u, err := s.google.GetUsers(q) // TODO: implement GetUser(m.Email)
511516
if err != nil {
512517
return nil, nil, err
513518
}
514519

520+
if len(u) == 0 {
521+
log.WithField("email", m.Email).Debug("Ignoring Unknown User")
522+
continue
523+
}
524+
515525
membersUsers = append(membersUsers, u[0])
516526

517527
_, ok := gUniqUsers[m.Email]

0 commit comments

Comments
 (0)