export const dynamic = 'force-dynamic' export const runtime = 'nodejs' import { NextResponse } from 'next/server' import { isBearerAuthorized, unauthorized } from '@/lib/voice-tools' export async function GET(req: Request) { if (!isBearerAuthorized(req)) return unauthorized() const { searchParams } = new URL(req.url) const range = searchParams.get('range') || 'today' // today | week const baseUrl = `http://localhost:${process.env.PORT || '3000'}` const r = await fetch(`${baseUrl}/api/calendar?range=${encodeURIComponent(range)}`, { cache: 'no-store', headers: { cookie: '' }, }).catch(() => null) if (!r || !r.ok) return NextResponse.json({ events: [], error: 'unreachable' }, { status: 502 }) const j = await r.json() const events = (j.events || []).map((e: any) => ({ title: e.title, start: e.start, end: e.end, all_day: e.allDay, owner: e.ownerName || e.owner, })) return NextResponse.json({ events }) }