MCPcopy Create free account
hub / github.com/dhij/ecomm / updateOrderStatus

Method updateOrderStatus

ecomm-api/handler/handler.go:187–215  ·  view source on GitHub ↗
(w http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

185}
186
187func (h *handler) updateOrderStatus(w http.ResponseWriter, r *http.Request) {
188 claims := r.Context().Value(authKey{}).(*token.UserClaims)
189
190 var o OrderReq
191 if err := json.NewDecoder(r.Body).Decode(&o); err != nil {
192 http.Error(w, "error decoding request body", http.StatusBadRequest)
193 return
194 }
195
196 status, err := toPBOrderStatus(OrderStatus(o.Status))
197 if err != nil {
198 http.Error(w, "invalid status", http.StatusBadRequest)
199 return
200 }
201
202 res, err := h.client.UpdateOrderStatus(h.ctx, &pb.OrderReq{
203 Id: o.ID,
204 UserId: claims.ID,
205 UserEmail: claims.Email,
206 Status: status,
207 })
208 if err != nil {
209 http.Error(w, "failed to update order status", http.StatusInternalServerError)
210 return
211 }
212
213 w.Header().Set("Content-Type", "application/json")
214 json.NewEncoder(w).Encode(res)
215}
216
217func (h *handler) deleteOrder(w http.ResponseWriter, r *http.Request) {
218 id := chi.URLParam(r, "id")

Callers

nothing calls this directly

Calls 3

toPBOrderStatusFunction · 0.70
OrderStatusTypeAlias · 0.70
UpdateOrderStatusMethod · 0.65

Tested by

no test coverage detected