← back to Norma
app/api/cron/daily/route.ts
32 lines
import { NextRequest, NextResponse } from 'next/server';
import { generateDailyDrafts } from '@/lib/generator';
import { verifyCronAuth } from '@/lib/cron-auth';
/**
* POST /api/cron/daily
* Called by system cron at 6:00 AM PT daily.
* Generates a Morning Batch of 3 drafts.
*/
export async function POST(request: NextRequest) {
const auth = verifyCronAuth(request);
if (auth instanceof NextResponse) return auth;
try {
const result = await generateDailyDrafts('cron');
return NextResponse.json({
success: true,
sessionId: result.sessionId,
draftsCreated: result.drafts.length,
drafts: result.drafts.map(d => ({ lane: d.lane, subject: d.subject })),
errors: result.errors,
});
} catch (err) {
console.error('[cron] Daily generation failed:', (err as Error).message);
return NextResponse.json(
{ error: 'Daily generation failed' },
{ status: 500 },
);
}
}