import { cleanModelCard, getUrlWithProxiedParams } from '../../../runtime'; import type { IModelFilter, IRawModelCard, IModelCard, IPageSeo } from '../../../types'; export default defineEventHandler(async (event) => { const apiUrl = process.env.NUXT_PUBLIC_API_DOMAIN; const url = getUrlWithProxiedParams(`${apiUrl}/v2/models/filter`, event); const clientHeaders = event.node.req.headers as HeadersInit; const body = await readBody(event); const rawData = await apiFetch(url, { method: 'POST', headers: clientHeaders, body: JSON.stringify(body), }); const items: IRawModelCard[] = rawData?.data?.items || []; const filters: IModelFilter[] = rawData?.data?.filters || []; const seo: IPageSeo | null = rawData?.data?.seo || null; const cleanedItems: IModelCard[] = items && items.length > 0 ? items.map(cleanModelCard) : []; return { currentPage: rawData?.data?.current_page, allPages: rawData?.data?.all_pages, total: rawData?.data?.total, items: cleanedItems, filters: filters, seo: seo, }; });