EXPERIMENTAL: this endpoint is experimental and is subject to change. nolint:revive // get-return: revive assumes get* must be a getter, but this is an HTTP handler.
(rw http.ResponseWriter, r *http.Request)
| 4753 | // |
| 4754 | //nolint:revive // get-return: revive assumes get* must be a getter, but this is an HTTP handler. |
| 4755 | func (api *API) getChatModelOverride(rw http.ResponseWriter, r *http.Request) { |
| 4756 | ctx := r.Context() |
| 4757 | if !api.Authorize(r, policy.ActionRead, rbac.ResourceDeploymentConfig) { |
| 4758 | httpapi.ResourceNotFound(rw) |
| 4759 | return |
| 4760 | } |
| 4761 | overrideContext, ok := readChatModelOverrideContext(rw, r) |
| 4762 | if !ok { |
| 4763 | return |
| 4764 | } |
| 4765 | |
| 4766 | modelConfigID, isMalformed, label, err := api.readChatModelOverrideConfig(ctx, overrideContext) |
| 4767 | if err != nil { |
| 4768 | if label == "" { |
| 4769 | label = string(overrideContext) |
| 4770 | } |
| 4771 | httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{ |
| 4772 | Message: fmt.Sprintf("Internal error fetching %s model override.", label), |
| 4773 | Detail: err.Error(), |
| 4774 | }) |
| 4775 | return |
| 4776 | } |
| 4777 | |
| 4778 | resp := codersdk.ChatModelOverrideResponse{ |
| 4779 | Context: overrideContext, |
| 4780 | ModelConfigID: formatChatModelOverride(modelConfigID), |
| 4781 | IsMalformed: isMalformed, |
| 4782 | } |
| 4783 | |
| 4784 | httpapi.Write(ctx, rw, http.StatusOK, resp) |
| 4785 | } |
| 4786 | |
| 4787 | // EXPERIMENTAL: this endpoint is experimental and is subject to change. |
| 4788 | func (api *API) putChatModelOverride(rw http.ResponseWriter, r *http.Request) { |
no test coverage detected