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

Method deleteAPIKey

coderd/apikey.go:395–428  ·  view source on GitHub ↗

@Summary Delete API key @ID delete-api-key @Security CoderSessionToken @Tags Users @Param user path string true "User ID, name, or me" @Param keyid path string true "Key ID" format(string) @Success 204 @Router /api/v2/users/{user}/keys/{keyid} [delete]

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

Source from the content-addressed store, hash-verified

393// @Success 204
394// @Router /api/v2/users/{user}/keys/{keyid} [delete]
395func (api *API) deleteAPIKey(rw http.ResponseWriter, r *http.Request) {
396 var (
397 ctx = r.Context()
398 keyID = chi.URLParam(r, "keyid")
399 auditor = api.Auditor.Load()
400 aReq, commitAudit = audit.InitRequest[database.APIKey](rw, &audit.RequestParams{
401 Audit: *auditor,
402 Log: api.Logger,
403 Request: r,
404 Action: database.AuditActionDelete,
405 })
406 key, err = api.Database.GetAPIKeyByID(ctx, keyID)
407 )
408 if err != nil {
409 api.Logger.Warn(ctx, "get API Key for audit log")
410 }
411 aReq.Old = key
412 defer commitAudit()
413
414 err = api.Database.DeleteAPIKeyByID(ctx, keyID)
415 if httpapi.Is404Error(err) {
416 httpapi.ResourceNotFound(rw)
417 return
418 }
419 if err != nil {
420 httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
421 Message: "Internal error deleting API key.",
422 Detail: err.Error(),
423 })
424 return
425 }
426
427 rw.WriteHeader(http.StatusNoContent)
428}
429
430// @Summary Expire API key
431// @ID expire-api-key

Callers

nothing calls this directly

Calls 10

InitRequestFunction · 0.92
Is404ErrorFunction · 0.92
ResourceNotFoundFunction · 0.92
WriteFunction · 0.92
ContextMethod · 0.65
GetAPIKeyByIDMethod · 0.65
DeleteAPIKeyByIDMethod · 0.65
LoadMethod · 0.45
ErrorMethod · 0.45
WriteHeaderMethod · 0.45

Tested by

no test coverage detected