import { NextRequest, NextResponse } from 'next/server' import { auth } from '@/auth' import { batchOrganizationService } from '@/lib/ai/services' /** * POST /api/ai/batch-organize - Create organization plan for notes in Inbox */ export async function POST(request: NextRequest) { try { const session = await auth() if (!session?.user?.id) { return NextResponse.json( { success: false, error: 'Unauthorized' }, { status: 401 } ) } // Create organization plan const plan = await batchOrganizationService.createOrganizationPlan( session.user.id ) return NextResponse.json({ success: true, data: plan, }) } catch (error) { return NextResponse.json( { success: false, error: error instanceof Error ? error.message : 'Failed to create organization plan', }, { status: 500 } ) } } /** * PUT /api/ai/batch-organize - Apply organization plan */ export async function PUT(request: NextRequest) { try { const session = await auth() if (!session?.user?.id) { return NextResponse.json( { success: false, error: 'Unauthorized' }, { status: 401 } ) } const body = await request.json() const { plan, selectedNoteIds } = body if (!plan || !Array.isArray(selectedNoteIds)) { return NextResponse.json( { success: false, error: 'Missing required fields: plan, selectedNoteIds' }, { status: 400 } ) } // Apply organization plan const movedCount = await batchOrganizationService.applyOrganizationPlan( session.user.id, plan, selectedNoteIds ) return NextResponse.json({ success: true, data: { movedCount, }, }) } catch (error) { return NextResponse.json( { success: false, error: error instanceof Error ? error.message : 'Failed to apply organization plan', }, { status: 500 } ) } }