Neah/app/api/carnet/[date]/route.ts
2025-04-20 12:01:18 +02:00

48 lines
1.2 KiB
TypeScript

import { NextResponse } from 'next/server';
import { getServerSession } from 'next-auth';
import { getNextCloudService } from '@/lib/nextcloud-utils';
export async function GET(
request: Request,
{ params }: { params: { date: string } }
) {
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') || 'Notes';
const service = await getNextCloudService();
const date = new Date(params.date);
if (isNaN(date.getTime())) {
return NextResponse.json(
{ error: 'Invalid date format' },
{ status: 400 }
);
}
const content = await service.getNote(session.user.email, category, date);
if (!content) {
return NextResponse.json(
{ error: 'Note not found' },
{ status: 404 }
);
}
return NextResponse.json({ content, category });
} catch (error) {
console.error('Failed to get note:', error);
return NextResponse.json(
{ error: 'Failed to get note' },
{ status: 500 }
);
}
}