@@ -613,6 +613,44 @@ func uniqueSortedUUIDs(uuids []uuid.UUID) []uuid.UUID {
613
613
return unique
614
614
}
615
615
616
+ func (q * FakeQuerier ) getOrganizationMember (orgID uuid.UUID ) []database.OrganizationMember {
617
+ var members []database.OrganizationMember
618
+ for _ , member := range q .organizationMembers {
619
+ if member .OrganizationID == orgID {
620
+ members = append (members , member )
621
+ }
622
+ }
623
+
624
+ return members
625
+ }
626
+
627
+ // getEveryoneGroupMembers fetches all the users in an organization.
628
+ func (q * FakeQuerier ) getEveryoneGroupMembers (orgID uuid.UUID ) []database.User {
629
+ var (
630
+ everyone []database.User
631
+ orgMembers = q .getOrganizationMember (orgID )
632
+ )
633
+ for _ , member := range orgMembers {
634
+ user , err := q .GetUserByID (context .TODO (), member .UserID )
635
+ if err != nil {
636
+ return nil
637
+ }
638
+ everyone = append (everyone , user )
639
+ }
640
+ return everyone
641
+ }
642
+
643
+ // isEveryoneGroup returns true if the provided ID matches
644
+ // an organization ID.
645
+ func (q * FakeQuerier ) isEveryoneGroup (id uuid.UUID ) bool {
646
+ for _ , org := range q .organizations {
647
+ if org .ID == id {
648
+ return true
649
+ }
650
+ }
651
+ return false
652
+ }
653
+
616
654
func (* FakeQuerier ) AcquireLock (_ context.Context , _ int64 ) error {
617
655
return xerrors .New ("AcquireLock must only be called within a transaction" )
618
656
}
@@ -1378,13 +1416,17 @@ func (q *FakeQuerier) GetGroupByOrgAndName(_ context.Context, arg database.GetGr
1378
1416
return database.Group {}, sql .ErrNoRows
1379
1417
}
1380
1418
1381
- func (q * FakeQuerier ) GetGroupMembers (_ context.Context , groupID uuid.UUID ) ([]database.User , error ) {
1419
+ func (q * FakeQuerier ) GetGroupMembers (_ context.Context , id uuid.UUID ) ([]database.User , error ) {
1382
1420
q .mutex .RLock ()
1383
1421
defer q .mutex .RUnlock ()
1384
1422
1423
+ if q .isEveryoneGroup (id ) {
1424
+ return q .getEveryoneGroupMembers (id ), nil
1425
+ }
1426
+
1385
1427
var members []database.GroupMember
1386
1428
for _ , member := range q .groupMembers {
1387
- if member .GroupID == groupID {
1429
+ if member .GroupID == id {
1388
1430
members = append (members , member )
1389
1431
}
1390
1432
}
@@ -1403,14 +1445,13 @@ func (q *FakeQuerier) GetGroupMembers(_ context.Context, groupID uuid.UUID) ([]d
1403
1445
return users , nil
1404
1446
}
1405
1447
1406
- func (q * FakeQuerier ) GetGroupsByOrganizationID (_ context.Context , organizationID uuid.UUID ) ([]database.Group , error ) {
1448
+ func (q * FakeQuerier ) GetGroupsByOrganizationID (_ context.Context , id uuid.UUID ) ([]database.Group , error ) {
1407
1449
q .mutex .RLock ()
1408
1450
defer q .mutex .RUnlock ()
1409
1451
1410
- var groups []database.Group
1452
+ groups := make ( []database.Group , 0 , len ( q . groups ))
1411
1453
for _ , group := range q .groups {
1412
- // Omit the allUsers group.
1413
- if group .OrganizationID == organizationID && group .ID != organizationID {
1454
+ if group .OrganizationID == id {
1414
1455
groups = append (groups , group )
1415
1456
}
1416
1457
}
@@ -1840,9 +1881,17 @@ func (q *FakeQuerier) GetQuotaAllowanceForUser(_ context.Context, userID uuid.UU
1840
1881
for _ , group := range q .groups {
1841
1882
if group .ID == member .GroupID {
1842
1883
sum += int64 (group .QuotaAllowance )
1884
+ continue
1843
1885
}
1844
1886
}
1845
1887
}
1888
+ // Grab the quota for the Everyone group.
1889
+ for _ , group := range q .groups {
1890
+ if group .ID == group .OrganizationID {
1891
+ sum += int64 (group .QuotaAllowance )
1892
+ break
1893
+ }
1894
+ }
1846
1895
return sum , nil
1847
1896
}
1848
1897
@@ -3548,7 +3597,7 @@ func (q *FakeQuerier) InsertAPIKey(_ context.Context, arg database.InsertAPIKeyP
3548
3597
func (q * FakeQuerier ) InsertAllUsersGroup (ctx context.Context , orgID uuid.UUID ) (database.Group , error ) {
3549
3598
return q .InsertGroup (ctx , database.InsertGroupParams {
3550
3599
ID : orgID ,
3551
- Name : database .AllUsersGroup ,
3600
+ Name : database .EveryoneGroup ,
3552
3601
DisplayName : "" ,
3553
3602
OrganizationID : orgID ,
3554
3603
})
0 commit comments