auto-save 2026-05-19 09:51 (+2, ~11)

This commit is contained in:
2026-05-19 09:51:34 +08:00
parent 98690b4a0a
commit 7b4b5f7450
13 changed files with 369 additions and 25 deletions

View File

@@ -0,0 +1,31 @@
import { NextResponse } from 'next/server';
import { regeneratePackAsset } from '@/lib/packGenerator';
import { loadSession, saveSession } from '@/lib/storage';
import type { RegenerateAssetRequest, RegenerateAssetResponse } from '@/lib/types';
export const runtime = 'nodejs';
export const dynamic = 'force-dynamic';
export async function POST(req: Request, ctx: { params: Promise<{ assetId: string }> }) {
const { assetId } = await ctx.params;
const { sessionId, userRefinement } = (await req.json()) as RegenerateAssetRequest;
if (!assetId || !sessionId) {
return NextResponse.json({ error: 'assetId and sessionId required' }, { status: 400 });
}
const session = await loadSession(sessionId);
if (!session) return NextResponse.json({ error: 'session not found' }, { status: 404 });
try {
const regenerated = await regeneratePackAsset({ session, assetId, userRefinement });
await saveSession(session);
return NextResponse.json({
asset: regenerated.asset,
pack: regenerated.pack,
provider: regenerated.provider,
} satisfies RegenerateAssetResponse);
} catch (error) {
return NextResponse.json({ error: String(error) }, { status: 500 });
}
}