From 02c6cb680b4d46d9c93f1e45567cd547f4ca4f75 Mon Sep 17 00:00:00 2001 From: valitovgaziz Date: Fri, 12 Jun 2026 02:30:57 +0500 Subject: [PATCH] fix: align API response shapes (items instead of data), add fallbacks to prevent .length crash --- main_dc/yalarba/yalarba-nuxt/app/pages/objects/my.vue | 4 ++-- main_dc/yalarba/yalarba-nuxt/app/stores/objects.ts | 2 +- main_dc/yalarba/yalarba-nuxt/app/stores/search.ts | 4 ++-- main_dc/yalarba/yalarba-nuxt/app/types/index.ts | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/main_dc/yalarba/yalarba-nuxt/app/pages/objects/my.vue b/main_dc/yalarba/yalarba-nuxt/app/pages/objects/my.vue index c797aff..bb13ee8 100644 --- a/main_dc/yalarba/yalarba-nuxt/app/pages/objects/my.vue +++ b/main_dc/yalarba/yalarba-nuxt/app/pages/objects/my.vue @@ -71,8 +71,8 @@ onMounted(async () => { if (user.value?.id) { try { const api = useApi() - const response = await api.get<{ data: typeof objects.value }>(`/objects/owner/${user.value.id}`) - objectsStore.objects = response.data + const response = await api.get<{ items: typeof objects.value }>(`/objects/owner/${user.value.id}`) + objectsStore.objects = response.items ?? [] } catch { // ignore } diff --git a/main_dc/yalarba/yalarba-nuxt/app/stores/objects.ts b/main_dc/yalarba/yalarba-nuxt/app/stores/objects.ts index b6f4413..617e1f7 100644 --- a/main_dc/yalarba/yalarba-nuxt/app/stores/objects.ts +++ b/main_dc/yalarba/yalarba-nuxt/app/stores/objects.ts @@ -39,7 +39,7 @@ export const useObjectsStore = defineStore('objects', { const query = params.toString() const response = await api.get>(`/objects${query ? `?${query}` : ''}`) - this.objects = response.data + this.objects = response.items ?? [] this.total = response.total this.page = response.page this.totalPages = response.total_pages diff --git a/main_dc/yalarba/yalarba-nuxt/app/stores/search.ts b/main_dc/yalarba/yalarba-nuxt/app/stores/search.ts index 1bb0a86..6762e8d 100644 --- a/main_dc/yalarba/yalarba-nuxt/app/stores/search.ts +++ b/main_dc/yalarba/yalarba-nuxt/app/stores/search.ts @@ -82,13 +82,13 @@ export const useSearchStore = defineStore('search', { : `/objects/search?${query}` const response = await api.get<{ - data: TourObject[] + items: TourObject[] total: number page: number total_pages: number }>(endpoint) - this.results = response.data + this.results = response.items ?? [] this.total = response.total this.page = response.page this.totalPages = response.total_pages diff --git a/main_dc/yalarba/yalarba-nuxt/app/types/index.ts b/main_dc/yalarba/yalarba-nuxt/app/types/index.ts index de661cc..1a2eb44 100644 --- a/main_dc/yalarba/yalarba-nuxt/app/types/index.ts +++ b/main_dc/yalarba/yalarba-nuxt/app/types/index.ts @@ -80,10 +80,10 @@ export interface SearchParams { } export interface PaginatedResponse { - data: T[] + items: T[] total: number page: number - per_page: number + page_size: number total_pages: number }