import { NextResponse } from 'next/server'; import { requireUser } from '@/lib/session'; import { engine } from '@/lib/engine'; export async function GET() { const user = await requireUser(); if (!user) return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }); try { const channels = await engine.listChannels(user.id); return NextResponse.json(channels); } catch (err) { return NextResponse.json({ error: err.message }, { status: 500 }); } } export async function POST(req) { const user = await requireUser(); if (!user) return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }); try { const body = await req.json(); const channel = await engine.createChannel(user.id, body); return NextResponse.json(channel); } catch (err) { const status = err.status === 402 ? 402 : 500; return NextResponse.json({ error: err.message, code: err.code }, { status }); } }