Skip to content

Commit cdc0322

Browse files
committed
fix: make dbmem implementation match expected behaior around 0 limit
1 parent 7af0b60 commit cdc0322

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

coderd/database/dbmem/dbmem.go

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9593,34 +9593,42 @@ func (q *FakeQuerier) PaginatedOrganizationMembers(_ context.Context, arg databa
95939593
q.mutex.RLock()
95949594
defer q.mutex.RUnlock()
95959595

9596-
tmp := make([]database.PaginatedOrganizationMembersRow, 0)
9597-
9598-
skippedMembers := 0
9599-
for _, organizationMember := range q.organizationMembers {
9600-
if arg.OrganizationID != uuid.Nil && organizationMember.OrganizationID != arg.OrganizationID {
9596+
// All of the members in the organization
9597+
orgMembers := make([]database.OrganizationMember, 0)
9598+
for _, mem := range q.organizationMembers {
9599+
if arg.OrganizationID != uuid.Nil && mem.OrganizationID != arg.OrganizationID {
96019600
continue
96029601
}
96039602

9603+
orgMembers = append(orgMembers, mem)
9604+
}
9605+
9606+
selectedMembers := make([]database.PaginatedOrganizationMembersRow, 0)
9607+
9608+
skippedMembers := 0
9609+
for _, organizationMember := range q.organizationMembers {
96049610
if skippedMembers < int(arg.OffsetOpt) {
96059611
skippedMembers++
96069612
continue
96079613
}
96089614

9609-
if len(tmp) >= int(arg.LimitOpt) {
9615+
// if the limit is set to 0 we treat that as returning all of the org members
9616+
if int(arg.LimitOpt) != 0 && len(selectedMembers) >= int(arg.LimitOpt) {
96109617
break
96119618
}
96129619

96139620
user, _ := q.getUserByIDNoLock(organizationMember.UserID)
9614-
tmp = append(tmp, database.PaginatedOrganizationMembersRow{
9621+
selectedMembers = append(selectedMembers, database.PaginatedOrganizationMembersRow{
96159622
OrganizationMember: organizationMember,
96169623
Username: user.Username,
96179624
AvatarURL: user.AvatarURL,
96189625
Name: user.Name,
96199626
Email: user.Email,
96209627
GlobalRoles: user.RBACRoles,
9628+
Count: int64(len(orgMembers)),
96219629
})
96229630
}
9623-
return tmp, nil
9631+
return selectedMembers, nil
96249632
}
96259633

96269634
func (q *FakeQuerier) ReduceWorkspaceAgentShareLevelToAuthenticatedByTemplate(_ context.Context, templateID uuid.UUID) error {

0 commit comments

Comments
 (0)