/** * POST /api/admin/text-gen/description * * Admin-only proxy to the Go backend's book description generation endpoint. * Returns an AI-proposed description; does NOT persist anything. */ import { json, error } from '@sveltejs/kit'; import type { RequestHandler } from './$types'; import { log } from '$lib/server/logger'; import { backendFetch } from '$lib/server/scraper'; export const POST: RequestHandler = async ({ request, locals }) => { if (!locals.user || locals.user.role !== 'admin') { throw error(403, 'Forbidden'); } const body = await request.text(); let res: Response; try { res = await backendFetch('/api/admin/text-gen/description', { method: 'POST', headers: { 'content-type': 'application/json' }, body }); } catch (e) { log.error('admin/text-gen/description', 'backend proxy error', { err: String(e) }); throw error(502, 'Could not reach backend'); } const data = await res.json().catch(() => ({})); return json(data, { status: res.status }); };