Skip to content

Commit 43279be

Browse files
committed
chore: add api endpoints to get idp field values
1 parent 5895c37 commit 43279be

File tree

7 files changed

+355
-0
lines changed

7 files changed

+355
-0
lines changed

coderd/apidoc/docs.go

Lines changed: 92 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

Lines changed: 84 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codersdk/idpsync.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,3 +163,31 @@ func (c *Client) GetOrganizationAvailableIDPSyncFields(ctx context.Context, orgI
163163
var resp []string
164164
return resp, json.NewDecoder(res.Body).Decode(&resp)
165165
}
166+
167+
func (c *Client) GetIDPSyncFieldValues(ctx context.Context, claimField string) ([]string, error) {
168+
res, err := c.Request(ctx, http.MethodGet, fmt.Sprintf("/api/v2/settings/idpsync/field-values?claimField=%s", claimField), nil)
169+
if err != nil {
170+
return nil, xerrors.Errorf("make request: %w", err)
171+
}
172+
defer res.Body.Close()
173+
174+
if res.StatusCode != http.StatusOK {
175+
return nil, ReadBodyAsError(res)
176+
}
177+
var resp []string
178+
return resp, json.NewDecoder(res.Body).Decode(&resp)
179+
}
180+
181+
func (c *Client) GetOrganizationIDPSyncFieldValues(ctx context.Context, orgID string, claimField string) ([]string, error) {
182+
res, err := c.Request(ctx, http.MethodGet, fmt.Sprintf("/api/v2/organizations/%s/settings/idpsync/field-values?claimField=%s", orgID, claimField), nil)
183+
if err != nil {
184+
return nil, xerrors.Errorf("make request: %w", err)
185+
}
186+
defer res.Body.Close()
187+
188+
if res.StatusCode != http.StatusOK {
189+
return nil, ReadBodyAsError(res)
190+
}
191+
var resp []string
192+
return resp, json.NewDecoder(res.Body).Decode(&resp)
193+
}

docs/reference/api/enterprise.md

Lines changed: 80 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

enterprise/coderd/coderd.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,7 @@ func New(ctx context.Context, options *Options) (_ *API, err error) {
297297
r.Patch("/", api.patchOrganizationIDPSyncSettings)
298298
})
299299
r.Get("/available-fields", api.deploymentIDPSyncClaimFields)
300+
r.Get("/field-values", api.deploymentIDPSyncClaimFieldValues)
300301
})
301302
})
302303

@@ -311,6 +312,13 @@ func New(ctx context.Context, options *Options) (_ *API, err error) {
311312
r.Patch("/idpsync/groups", api.patchGroupIDPSyncSettings)
312313
r.Get("/idpsync/roles", api.roleIDPSyncSettings)
313314
r.Patch("/idpsync/roles", api.patchRoleIDPSyncSettings)
315+
r.Get("/idpsync/field-values", api.organizationIDPSyncClaimFieldValues)
316+
// r.Route("/idpsync/field-values/{claimField}", func(r chi.Router) {
317+
// r.Use(
318+
// httpmw.ExtractClaimFieldParam(api.Database),
319+
// )
320+
// r.Get("/", api.organizationIDPSyncClaimFieldValues)
321+
// })
314322
})
315323
})
316324

0 commit comments

Comments
 (0)