Prechádzať zdrojové kódy

fix: correct API response parsing for embeddings and errors

The API response is double-wrapped by the ApiService.request() method:
- Backend returns: { data: { embeddings: [...] }, success: true }
- ApiService wraps it: { data: { data: {...}, success: true }, success: true }

Changed from:
  embeddingsResponse.value.data.embeddings
To:
  embeddingsResponse.value.data.data.embeddings

This fixes the issue where embeddings were showing as '0 Completed 0 Pending 0 Failed' even though the API was returning data.
Fszontagh 8 mesiacov pred
rodič
commit
d8a84598e8

+ 6 - 2
web/src/components/pages/ShopDetailPage.ts

@@ -53,14 +53,18 @@ export class ShopDetailPage {
 
         // Handle embeddings response (won't break if it fails)
         if (embeddingsResponse.status === 'fulfilled' && embeddingsResponse.value.success && embeddingsResponse.value.data) {
-          this.qdrantEmbeddings = embeddingsResponse.value.data.embeddings || [];
+          // The API response is double-wrapped: { data: { data: { embeddings: [...] }, success: true }, success: true }
+          const embeddingsData = (embeddingsResponse.value.data as any).data?.embeddings || [];
+          this.qdrantEmbeddings = embeddingsData;
         } else if (embeddingsResponse.status === 'rejected') {
           console.warn('[ShopDetailPage] Embeddings failed:', embeddingsResponse.reason);
         }
 
         // Handle errors response (won't break if it fails)
         if (errorsResponse.status === 'fulfilled' && errorsResponse.value.success && errorsResponse.value.data) {
-          this.qdrantErrors = errorsResponse.value.data.errors || [];
+          // The API response is double-wrapped: { data: { data: { errors: [...] }, success: true }, success: true }
+          const errorsData = (errorsResponse.value.data as any).data?.errors || [];
+          this.qdrantErrors = errorsData;
         } else if (errorsResponse.status === 'rejected') {
           console.warn('[ShopDetailPage] Errors fetch failed:', errorsResponse.reason);
         }