import { directus } from '~~/server/utils/directus'; import { readFileSync } from 'node:fs'; import path from 'node:path'; export default defineEventHandler(async (event) => { const id = getRouterParam(event, 'id'); if (!id) throw createError({ statusCode: 400, statusMessage: 'Solution ID is required', }); const query = readFileSync(path.resolve('graphql/solution.graphql'), 'utf-8'); const locale = getHeader(event, 'x-locale') || 'zh-CN'; const data = await directus.query<{ solutions_by_id: Solution }>(query, { id: id, locale: locale, }); const solution = data?.solutions_by_id; if (!solution || solution.status === 'archived') { throw createError({ statusCode: 404, statusMessage: 'Solution not found' }); } return solution; });