Jrine's picture
second base
1257299
import { NextResponse } from 'next/server'
import { generateEmbedding } from '@/lib/huggingface'
import { createServerSupabaseClient } from '@/lib/supabase-server'
export async function POST(request: Request) {
try {
const { content, title, metadata } = await request.json()
if (!content) {
return NextResponse.json(
{ error: 'Content is required' },
{ status: 400 }
)
}
// Generate embedding using Hugging Face
const embedding = await generateEmbedding(content)
// Store in Supabase with embedding
const supabase = await createServerSupabaseClient()
const { data, error } = await supabase
.from('documents')
.insert({
content,
title: title || null,
embedding,
metadata: metadata || {},
})
.select()
.single()
if (error) {
console.error('Supabase error:', error)
throw error
}
return NextResponse.json({
success: true,
document: data
}, { status: 200 })
} catch (error: unknown) {
console.error("Embedding API Error:", error);
const message =
error instanceof Error ? error.message : "Internal server error";
return NextResponse.json(
{ error: message },
{ status: 500 }
);
}
}