MCPcopy Index your code
hub / github.com/coder/coder / listMembers

Method listMembers

coderd/members.go:216–262  ·  view source on GitHub ↗

@Deprecated use /organizations/{organization}/paginated-members [get] @Summary List organization members @ID list-organization-members @Security CoderSessionToken @Produce json @Tags Members @Param organization path string true "Organization ID" @Success 200 {object} []codersdk.OrganizationMemberWit

(rw http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

214// @Success 200 {object} []codersdk.OrganizationMemberWithUserData
215// @Router /api/v2/organizations/{organization}/members [get]
216func (api *API) listMembers(rw http.ResponseWriter, r *http.Request) {
217 var (
218 ctx = r.Context()
219 organization = httpmw.OrganizationParam(r)
220 )
221
222 params, errors := searchquery.Members(r.URL.Query().Get("q"), organization.ID)
223 if len(errors) > 0 {
224 httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{
225 Message: "Invalid organization member search query.",
226 Validations: errors,
227 })
228 return
229 }
230
231 members, err := api.Database.OrganizationMembers(ctx, params)
232 if httpapi.Is404Error(err) {
233 httpapi.ResourceNotFound(rw)
234 return
235 }
236 if err != nil {
237 httpapi.InternalServerError(rw, err)
238 return
239 }
240
241 userIDs := make([]uuid.UUID, 0, len(members))
242 for _, member := range members {
243 userIDs = append(userIDs, member.OrganizationMember.UserID)
244 }
245 var aiSeatSet map[uuid.UUID]struct{}
246 if api.Entitlements.Enabled(codersdk.FeatureAIGovernanceUserLimit) {
247 //nolint:gocritic // AI seat state is a system-level read gated by entitlement.
248 aiSeatSet, err = getAISeatSetByUserIDs(dbauthz.AsSystemRestricted(ctx), api.Database, userIDs)
249 if err != nil {
250 httpapi.InternalServerError(rw, err)
251 return
252 }
253 }
254
255 resp, err := convertOrganizationMembersWithUserData(ctx, api.Database, members, aiSeatSet)
256 if err != nil {
257 httpapi.InternalServerError(rw, err)
258 return
259 }
260
261 httpapi.Write(ctx, rw, http.StatusOK, resp)
262}
263
264// @Summary Paginated organization members
265// @ID paginated-organization-members

Callers

nothing calls this directly

Calls 13

OrganizationParamFunction · 0.92
MembersFunction · 0.92
WriteFunction · 0.92
Is404ErrorFunction · 0.92
ResourceNotFoundFunction · 0.92
InternalServerErrorFunction · 0.92
AsSystemRestrictedFunction · 0.92
getAISeatSetByUserIDsFunction · 0.85
ContextMethod · 0.65
GetMethod · 0.65
OrganizationMembersMethod · 0.65

Tested by

no test coverage detected