Skip to content

Commit ef40967

Browse files
committed
feat: implement endpoint
1 parent 9edb088 commit ef40967

File tree

1 file changed

+42
-2
lines changed

1 file changed

+42
-2
lines changed

coderd/members.go

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,49 @@ func (api *API) listMembers(rw http.ResponseWriter, r *http.Request) {
187187
// @Success 200 {object} []codersdk.OrganizationMemberWithUserData
188188
// @Router /organizations/{organization}/paginated-members [get]
189189
func (api *API) paginatedMembers(rw http.ResponseWriter, r *http.Request) {
190-
ctx := r.Context()
190+
var (
191+
ctx = r.Context()
192+
organization = httpmw.OrganizationParam(r)
193+
paginationParams, ok = parsePagination(rw, r)
194+
)
195+
if !ok {
196+
return
197+
}
191198

192-
resp := codersdk.PaginatedMembersResponse{}
199+
paginatedMemberRows, err := api.Database.PaginatedOrganizationMembers(ctx, database.PaginatedOrganizationMembersParams{
200+
OrganizationID: organization.ID,
201+
LimitOpt: int32(paginationParams.Limit),
202+
OffsetOpt: int32(paginationParams.Offset),
203+
})
204+
if httpapi.Is404Error(err) {
205+
httpapi.ResourceNotFound(rw)
206+
return
207+
}
208+
if err != nil {
209+
httpapi.InternalServerError(rw, err)
210+
return
211+
}
212+
213+
memberRows := make([]database.OrganizationMembersRow, len(paginatedMemberRows))
214+
for _, pRow := range paginatedMemberRows {
215+
row := database.OrganizationMembersRow{
216+
OrganizationMember: pRow.OrganizationMember,
217+
Username: pRow.Username,
218+
AvatarURL: pRow.AvatarURL,
219+
Name: pRow.Name,
220+
Email: pRow.Email,
221+
GlobalRoles: pRow.GlobalRoles,
222+
}
223+
224+
memberRows = append(memberRows, row)
225+
}
226+
227+
members, err := convertOrganizationMembersWithUserData(ctx, api.Database, memberRows)
228+
229+
resp := codersdk.PaginatedMembersResponse{
230+
Members: members,
231+
Count: int(paginatedMemberRows[0].Count),
232+
}
193233
httpapi.Write(ctx, rw, http.StatusOK, resp)
194234
}
195235

0 commit comments

Comments
 (0)