(rw http.ResponseWriter, r *http.Request)
| 6644 | } |
| 6645 | |
| 6646 | func (api *API) deleteUserAIProviderKey(rw http.ResponseWriter, r *http.Request) { |
| 6647 | ctx := r.Context() |
| 6648 | targetUser := httpmw.UserParam(r) |
| 6649 | providerID, err := parseUserAIProviderID(r) |
| 6650 | if err != nil { |
| 6651 | httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{Message: "Invalid AI provider ID."}) |
| 6652 | return |
| 6653 | } |
| 6654 | if err := api.Database.DeleteUserAIProviderKey(ctx, database.DeleteUserAIProviderKeyParams{UserID: targetUser.ID, AIProviderID: providerID}); err != nil { |
| 6655 | api.Logger.Error(ctx, "failed to delete user AI provider key", slog.Error(err), slog.F("user_id", targetUser.ID), slog.F("ai_provider_id", providerID)) |
| 6656 | httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{Message: "Failed to delete user AI provider key."}) |
| 6657 | return |
| 6658 | } |
| 6659 | httpapi.Write(ctx, rw, http.StatusNoContent, nil) |
| 6660 | } |
| 6661 | |
| 6662 | func (api *API) configuredProvidersFromAIProviders(ctx context.Context, providers []database.AIProvider) ([]chatprovider.ConfiguredProvider, error) { |
| 6663 | if len(providers) == 0 { |
no test coverage detected