import { NextResponse } from 'next/server'; import { getServerSession } from 'next-auth'; import { getNextCloudService } from '@/lib/nextcloud-utils'; export async function GET(request: Request) { try { const session = await getServerSession(); if (!session?.user?.email) { return NextResponse.json( { error: 'Not authenticated' }, { status: 401 } ); } const { searchParams } = new URL(request.url); const category = searchParams.get('category'); const service = await getNextCloudService(); const notes = await service.listNotes(session.user.email, category || undefined); return NextResponse.json({ notes }); } catch (error) { console.error('Failed to list notes:', error); return NextResponse.json( { error: 'Failed to list notes' }, { status: 500 } ); } } export async function POST(request: Request) { try { const session = await getServerSession(); if (!session?.user?.email) { return NextResponse.json( { error: 'Not authenticated' }, { status: 401 } ); } const service = await getNextCloudService(); const { content, date, category = 'Notes' } = await request.json(); const result = await service.saveNote( session.user.email, content, category, date ? new Date(date) : undefined ); return NextResponse.json(result); } catch (error) { console.error('Failed to save note:', error); return NextResponse.json( { error: 'Failed to save note' }, { status: 500 } ); } }