import { logger } from '$lib/core/utils/logger'; import { json, error } from '@sveltejs/kit'; import type { RequestHandler } from './$types'; import { env } from '$env/dynamic/public'; import { verifyAuthToken } from '$lib/server/auth'; // Adv videos are served by the same taobin_image service as menu images. const ADV_API_BASE = env.PUBLIC_POST_IMAGE; // List the adv .mp4 files currently on a country's FTP folder (for preview). export const POST: RequestHandler = async ({ request }) => { try { await verifyAuthToken(request); const { country } = await request.json(); if (!country || typeof country !== 'string') { throw error(400, 'Missing country'); } const endpoint = `${ADV_API_BASE}/adv/list/${encodeURIComponent(country)}`; const response = await fetch(endpoint, { method: 'POST' }); if (!response.ok) { const errorData = await response.json().catch(() => ({ detail: response.statusText })); throw error(response.status, errorData.detail || 'Failed to list adv videos'); } return json(await response.json()); } catch (err) { logger.error('[Adv List Proxy] Error:', err); if (err && typeof err === 'object' && 'status' in err) { throw err; } throw error(500, err instanceof Error ? err.message : 'Internal server error'); } };