bookwiz.io / app / api / templates / route.ts
route.ts
Raw
import { NextResponse } from 'next/server'
import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs'
import { cookies } from 'next/headers'

// Force dynamic rendering
export const dynamic = 'force-dynamic'

// GET /api/templates - Get all available system templates
export async function GET() {
  try {
    const supabase = createRouteHandlerClient({ cookies })

    // Get system templates
    const { data: templates, error } = await supabase
      .from('book_templates')
      .select('*')
      .eq('is_system', true)
      .order('is_default', { ascending: false })
      .order('created_at', { ascending: true })

    if (error) {
      console.error('Error fetching templates:', error)
      return NextResponse.json({ error: 'Failed to fetch templates' }, { status: 500 })
    }

    return NextResponse.json({ templates })
  } catch (error) {
    console.error('Unexpected error:', error)
    return NextResponse.json({ error: 'Internal server error' }, { status: 500 })
  }
}