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

Method aiProvidersDelete

coderd/ai_providers.go:440–476  ·  view source on GitHub ↗

@Summary Delete an AI provider @ID delete-an-ai-provider @Security CoderSessionToken @Tags AI Providers @Param idOrName path string true "Provider ID or name" @Success 204 @Router /api/v2/ai/providers/{idOrName} [delete]

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

Source from the content-addressed store, hash-verified

438// @Success 204
439// @Router /api/v2/ai/providers/{idOrName} [delete]
440func (api *API) aiProvidersDelete(rw http.ResponseWriter, r *http.Request) {
441 var (
442 ctx = r.Context()
443 auditor = api.Auditor.Load()
444 aReq, commitAudit = audit.InitRequest[database.AIProvider](rw, &audit.RequestParams{
445 Audit: *auditor,
446 Log: api.Logger,
447 Request: r,
448 Action: database.AuditActionDelete,
449 })
450 )
451 defer commitAudit()
452
453 idOrName := chi.URLParam(r, "idOrName")
454
455 err := api.Database.InTx(func(tx database.Store) error {
456 row, err := lookupAIProvider(ctx, tx, idOrName)
457 if err != nil {
458 return err
459 }
460 aReq.Old = row
461
462 // Soft-delete UPDATE; :exec, so re-deletion is a silent no-op.
463 if err := tx.DeleteAIProviderByID(ctx, row.ID); err != nil {
464 return xerrors.Errorf("delete ai provider: %w", err)
465 }
466 return nil
467 }, &database.TxOptions{TxIdentifier: "delete_ai_provider"})
468 if err != nil {
469 writeAIProviderError(ctx, api.Logger, rw, err, "delete AI provider", "Internal error deleting AI provider.")
470 return
471 }
472
473 api.publishAIProvidersChanged(ctx)
474
475 rw.WriteHeader(http.StatusNoContent)
476}
477
478// publishAIProvidersChanged notifies subscribers (aibridged,
479// aibridgeproxyd) that the live provider set changed and they should

Callers

nothing calls this directly

Calls 10

InitRequestFunction · 0.92
lookupAIProviderFunction · 0.85
writeAIProviderErrorFunction · 0.85
ContextMethod · 0.65
InTxMethod · 0.65
DeleteAIProviderByIDMethod · 0.65
LoadMethod · 0.45
ErrorfMethod · 0.45
WriteHeaderMethod · 0.45

Tested by

no test coverage detected