diff --git a/backend/internal/http/handler/order_handler.go b/backend/internal/http/handler/order_handler.go index 398ed3d..9834d8b 100644 --- a/backend/internal/http/handler/order_handler.go +++ b/backend/internal/http/handler/order_handler.go @@ -2,6 +2,7 @@ package handler import ( "errors" + "log" "net/http" "github.com/saveinmed/backend-go/internal/domain" @@ -52,32 +53,53 @@ func (h *Handler) CreateOrder(w http.ResponseWriter, r *http.Request) { // @Success 200 {array} domain.Order // @Router /api/v1/orders [get] func (h *Handler) ListOrders(w http.ResponseWriter, r *http.Request) { + log.Printf("πŸ“¦ [ListOrders] ========== INÍCIO ==========") + log.Printf("πŸ“¦ [ListOrders] URL: %s", r.URL.String()) + log.Printf("πŸ“¦ [ListOrders] Method: %s", r.Method) + page, pageSize := parsePagination(r) + log.Printf("πŸ“¦ [ListOrders] PaginaΓ§Γ£o: page=%d, pageSize=%d", page, pageSize) + filter := domain.OrderFilter{} // Parse role query param for filtering + log.Printf("πŸ” [ListOrders] Obtendo requester do contexto...") requester, err := getRequester(r) if err != nil { + log.Printf("❌ [ListOrders] ERRO ao obter requester: %v", err) writeError(w, http.StatusUnauthorized, err) return } + log.Printf("βœ… [ListOrders] Requester obtido: Role=%s, CompanyID=%v", + requester.Role, requester.CompanyID) role := r.URL.Query().Get("role") + log.Printf("🎭 [ListOrders] Role query param: '%s'", role) + if role != "" && requester.CompanyID != nil { + log.Printf("🏒 [ListOrders] CompanyID do requester: %s", *requester.CompanyID) switch role { case "buyer": filter.BuyerID = requester.CompanyID + log.Printf("πŸ›’ [ListOrders] Filtro aplicado: BuyerID=%s", *requester.CompanyID) case "seller": filter.SellerID = requester.CompanyID + log.Printf("πŸ’° [ListOrders] Filtro aplicado: SellerID=%s", *requester.CompanyID) } + } else { + log.Printf("⚠️ [ListOrders] Sem filtro de role aplicado. role='%s', CompanyID=%v", role, requester.CompanyID) } + log.Printf("πŸ” [ListOrders] Chamando svc.ListOrders com filter=%+v", filter) result, err := h.svc.ListOrders(r.Context(), filter, page, pageSize) if err != nil { + log.Printf("❌ [ListOrders] ERRO no service ListOrders: %v", err) writeError(w, http.StatusInternalServerError, err) return } + log.Printf("βœ… [ListOrders] Sucesso! Total de pedidos: %d", result.Total) + log.Printf("πŸ“¦ [ListOrders] ========== FIM ==========") writeJSON(w, http.StatusOK, result) } diff --git a/marketplace/src/pages/Orders.tsx b/marketplace/src/pages/Orders.tsx index 87ad146..d46ba54 100644 --- a/marketplace/src/pages/Orders.tsx +++ b/marketplace/src/pages/Orders.tsx @@ -41,19 +41,41 @@ export function OrdersPage() { }, [activeTab]) const loadOrders = async () => { + console.log('%cπŸ“¦ [Orders] ========== CARREGANDO PEDIDOS ==========', 'color: #3B82F6; font-weight: bold; font-size: 14px') + console.log('%cπŸ”„ [Orders] Tab ativo:', 'color: #10B981; font-weight: bold', activeTab) + try { setLoading(true) const endpoint = activeTab === 'compras' ? '/v1/orders?role=buyer' : '/v1/orders?role=seller' + + console.log('%c🌐 [Orders] Endpoint:', 'color: #8B5CF6; font-weight: bold', endpoint) + console.log('%cπŸ”‘ [Orders] Chamando apiClient.get...', 'color: #F59E0B') + const response = await apiClient.get<{ orders: Order[]; total: number }>(endpoint) + + console.log('%cβœ… [Orders] Resposta recebida!', 'color: #10B981; font-weight: bold') + console.log('%cπŸ“Š [Orders] Response completa:', 'color: #6366F1', response) + console.log('%cπŸ“‹ [Orders] Pedidos:', 'color: #6366F1', response?.orders) + console.log('%cπŸ”’ [Orders] Total:', 'color: #6366F1', response?.total) + setOrders(response?.orders || []) setError(null) - } catch (err) { + + console.log('%cβœ… [Orders] Estado atualizado com sucesso!', 'color: #10B981; font-weight: bold') + } catch (err: any) { + console.log('%c❌ [Orders] ERRO AO CARREGAR PEDIDOS!', 'color: #EF4444; font-weight: bold; font-size: 16px') + console.log('%c❌ [Orders] Erro completo:', 'color: #EF4444', err) + console.log('%c❌ [Orders] Response do erro:', 'color: #EF4444', err?.response) + console.log('%c❌ [Orders] Status:', 'color: #EF4444', err?.response?.status) + console.log('%c❌ [Orders] Data:', 'color: #EF4444', err?.response?.data) + console.log('%c❌ [Orders] Message:', 'color: #EF4444', err?.message) + setError('Erro ao carregar pedidos') - console.error(err) } finally { setLoading(false) + console.log('%cπŸ“¦ [Orders] ========== FIM ==========', 'color: #3B82F6; font-weight: bold') } }