Files
biblical-guide.com/app/api/highlights/all/route.ts
Andrei afaf580a2b build: complete Phase 2.1 implementation and verify build
- Verified all exports in highlight-manager.ts are correct
- Installed @clerk/nextjs dependency for API routes
- Fixed TypeScript errors in API routes (NextRequest type)
- Fixed MUI Grid component usage in highlights-tab.tsx (replaced with Box flexbox)
- Fixed HighlightColor type assertion in reading-view.tsx
- Build completed successfully with no TypeScript errors

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-12 07:34:44 +00:00

43 lines
1.0 KiB
TypeScript

import { NextResponse, NextRequest } from 'next/server'
import { prisma } from '@/lib/db'
import { getAuth } from '@clerk/nextjs/server'
export const runtime = 'nodejs'
export async function GET(request: NextRequest) {
try {
const { userId } = await getAuth(request)
if (!userId) {
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 })
}
const highlights = await prisma.userHighlight.findMany({
where: { userId },
select: {
id: true,
verseId: true,
color: true,
createdAt: true,
updatedAt: true
}
})
return NextResponse.json({
highlights: highlights.map(h => ({
id: h.id,
verseId: h.verseId,
color: h.color,
createdAt: h.createdAt.getTime(),
updatedAt: h.updatedAt.getTime()
})),
serverTime: Date.now()
})
} catch (error) {
console.error('Error fetching highlights:', error)
return NextResponse.json(
{ error: 'Failed to fetch highlights' },
{ status: 500 }
)
}
}