import type { IRawVideoCard, IVideoCard } from '../../../types'; import { trackExternalCall } from '../../utils/metrics'; import { cleanVideoCard, getUrlWithProxiedParams } from '../../../runtime'; export default defineEventHandler(async (event) => { const apiUrl = process.env.NUXT_PUBLIC_API_DOMAIN; const url = getUrlWithProxiedParams(`${apiUrl}/v1/video/list-by-niche`, event); const clientHeaders = event.node.req.headers as HeadersInit; const body = await readBody(event); const rawData = await trackExternalCall('list-by-niche', () => apiFetch(url, { method: 'POST', headers: clientHeaders, body: JSON.stringify(body), }) ); const items: IRawVideoCard[] = rawData.data?.items || []; const cleanedItems: IVideoCard[] = items.map(cleanVideoCard); return { currentPage: rawData.data?.current_page, allPages: rawData.data?.all_pages, total: rawData.data?.total, items: cleanedItems, }; });