@Summary Get token config @ID get-token-config @Security CoderSessionToken @Produce json @Tags General @Param user path string true "User ID, name, or me" @Success 200 {object} codersdk.TokenConfig @Router /api/v2/users/{user}/keys/tokens/tokenconfig [get]
(rw http.ResponseWriter, r *http.Request)
| 499 | // @Success 200 {object} codersdk.TokenConfig |
| 500 | // @Router /api/v2/users/{user}/keys/tokens/tokenconfig [get] |
| 501 | func (api *API) tokenConfig(rw http.ResponseWriter, r *http.Request) { |
| 502 | user := httpmw.UserParam(r) |
| 503 | maxLifetime, err := api.getMaxTokenLifetime(r.Context(), user.ID) |
| 504 | if err != nil { |
| 505 | httpapi.Write(r.Context(), rw, http.StatusInternalServerError, codersdk.Response{ |
| 506 | Message: "Failed to get token configuration.", |
| 507 | Detail: err.Error(), |
| 508 | }) |
| 509 | return |
| 510 | } |
| 511 | |
| 512 | httpapi.Write( |
| 513 | r.Context(), rw, http.StatusOK, |
| 514 | codersdk.TokenConfig{ |
| 515 | MaxTokenLifetime: maxLifetime, |
| 516 | }, |
| 517 | ) |
| 518 | } |
| 519 | |
| 520 | func (api *API) validateAPIKeyLifetime(ctx context.Context, userID uuid.UUID, lifetime time.Duration) error { |
| 521 | if lifetime <= 0 { |
nothing calls this directly
no test coverage detected