fix: align API response shapes (items instead of data), add fallbacks to prevent .length crash
This commit is contained in:
@@ -71,8 +71,8 @@ onMounted(async () => {
|
|||||||
if (user.value?.id) {
|
if (user.value?.id) {
|
||||||
try {
|
try {
|
||||||
const api = useApi()
|
const api = useApi()
|
||||||
const response = await api.get<{ data: typeof objects.value }>(`/objects/owner/${user.value.id}`)
|
const response = await api.get<{ items: typeof objects.value }>(`/objects/owner/${user.value.id}`)
|
||||||
objectsStore.objects = response.data
|
objectsStore.objects = response.items ?? []
|
||||||
} catch {
|
} catch {
|
||||||
// ignore
|
// ignore
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ export const useObjectsStore = defineStore('objects', {
|
|||||||
|
|
||||||
const query = params.toString()
|
const query = params.toString()
|
||||||
const response = await api.get<PaginatedResponse<TourObject>>(`/objects${query ? `?${query}` : ''}`)
|
const response = await api.get<PaginatedResponse<TourObject>>(`/objects${query ? `?${query}` : ''}`)
|
||||||
this.objects = response.data
|
this.objects = response.items ?? []
|
||||||
this.total = response.total
|
this.total = response.total
|
||||||
this.page = response.page
|
this.page = response.page
|
||||||
this.totalPages = response.total_pages
|
this.totalPages = response.total_pages
|
||||||
|
|||||||
@@ -82,13 +82,13 @@ export const useSearchStore = defineStore('search', {
|
|||||||
: `/objects/search?${query}`
|
: `/objects/search?${query}`
|
||||||
|
|
||||||
const response = await api.get<{
|
const response = await api.get<{
|
||||||
data: TourObject[]
|
items: TourObject[]
|
||||||
total: number
|
total: number
|
||||||
page: number
|
page: number
|
||||||
total_pages: number
|
total_pages: number
|
||||||
}>(endpoint)
|
}>(endpoint)
|
||||||
|
|
||||||
this.results = response.data
|
this.results = response.items ?? []
|
||||||
this.total = response.total
|
this.total = response.total
|
||||||
this.page = response.page
|
this.page = response.page
|
||||||
this.totalPages = response.total_pages
|
this.totalPages = response.total_pages
|
||||||
|
|||||||
@@ -80,10 +80,10 @@ export interface SearchParams {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface PaginatedResponse<T> {
|
export interface PaginatedResponse<T> {
|
||||||
data: T[]
|
items: T[]
|
||||||
total: number
|
total: number
|
||||||
page: number
|
page: number
|
||||||
per_page: number
|
page_size: number
|
||||||
total_pages: number
|
total_pages: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user