diff --git a/src/app/api/cron/reminders/route.ts b/src/app/api/cron/reminders/route.ts index 6d21c38..eaa1819 100644 --- a/src/app/api/cron/reminders/route.ts +++ b/src/app/api/cron/reminders/route.ts @@ -4,6 +4,13 @@ import { getUsersForRemindersD1, updateLastNotifiedD1 } from '@/lib/d1'; // Configure web-push - Helper called inside handler to ensure env is ready function ensureVapidConfig() { + console.log('--- VAPID Debug ---'); + console.log('VAPID_PUBLIC:', process.env.NEXT_PUBLIC_VAPID_PUBLIC_KEY ? `Present (Starts with: ${process.env.NEXT_PUBLIC_VAPID_PUBLIC_KEY.substring(0, 5)}...)` : 'MISSING'); + console.log('VAPID_PRIVATE:', process.env.VAPID_PRIVATE_KEY ? 'Present' : 'MISSING'); + console.log('VAPID_SUBJECT:', process.env.VAPID_SUBJECT || 'MISSING (Defaulting to mailto:admin@quittraq.com)'); + console.log('Available Env Keys:', Object.keys(process.env).filter(k => k.includes('VAPID') || k.includes('KEY'))); + console.log('-------------------'); + if (process.env.NEXT_PUBLIC_VAPID_PUBLIC_KEY && process.env.VAPID_PRIVATE_KEY) { webPush.setVapidDetails( process.env.VAPID_SUBJECT || 'mailto:example@yourdomain.org', @@ -198,7 +205,16 @@ export async function GET(request: NextRequest) { } } - return NextResponse.json({ success: true, processed }); + return NextResponse.json({ + success: true, + vapid: { + ready: isVapidReady, + public_present: !!process.env.NEXT_PUBLIC_VAPID_PUBLIC_KEY, + private_present: !!process.env.VAPID_PRIVATE_KEY, + env_keys: Object.keys(process.env).filter(k => k.includes('VAPID')) + }, + processed + }); } catch (error) { console.error('Cron error:', error); return NextResponse.json({ error: 'Internal server error' }, { status: 500 }); diff --git a/src/app/api/debug/vapid/route.ts b/src/app/api/debug/vapid/route.ts new file mode 100644 index 0000000..af8d107 --- /dev/null +++ b/src/app/api/debug/vapid/route.ts @@ -0,0 +1,12 @@ +import { NextResponse } from 'next/server'; + +export async function GET() { + return NextResponse.json({ + vapid: { + public_present: !!process.env.NEXT_PUBLIC_VAPID_PUBLIC_KEY, + private_present: !!process.env.VAPID_PRIVATE_KEY, + subject_present: !!process.env.VAPID_SUBJECT, + env_keys: Object.keys(process.env).filter(k => k.includes('VAPID')) + } + }); +}