import { useDatabase } from '../../../../../utils/db' import { siteDocumentSchema } from '../../../../../utils/site-schema' export default defineEventHandler(async (event) => { const user = await requireAdmin(event) const version = Number(getRouterParam(event, 'version')) if (!Number.isSafeInteger(version) || version < 1) throw createError({ statusCode: 400, statusMessage: '无效的版本号' }) const db = useDatabase() const revision = db.prepare(`SELECT snapshot_json FROM revisions WHERE entity_type = 'site_document' AND entity_key = 'website' AND version = ?`).get(version) as { snapshot_json: string } | undefined if (!revision) throw createError({ statusCode: 404, statusMessage: '历史版本不存在' }) const snapshot = siteDocumentSchema.parse(JSON.parse(revision.snapshot_json)) const timestamp = new Date().toISOString() db.prepare('UPDATE site_documents SET draft_json = ?, updated_by = ?, updated_at = ? WHERE document_key = ?').run(JSON.stringify(snapshot), user.id, timestamp, 'website') writeAuditLog(event, { operatorId: user.id, action: 'revision.restore_to_draft', entityType: 'site_document', entityKey: 'website', metadata: { version } }) return { data: snapshot, restoredVersion: version, updatedAt: timestamp } })