todo_app/app/api/tasks/[id]/route.ts
Andreas Binczyk 61f6235445 init
2026-06-04 19:18:27 +02:00

70 lines
1.6 KiB
TypeScript

import { NextResponse } from 'next/server';
import { toggleAufgabe, deleteAufgabe, getAufgabeById } from '@/lib/db';
// PUT /api/tasks/:id - Aufgabe als erledigt/rückgängig markieren
export async function PUT(
request: Request,
{ params }: { params: { id: string } }
) {
try {
const id = parseInt(params.id);
if (isNaN(id)) {
return NextResponse.json(
{ error: 'Ungültige Aufgaben-ID' },
{ status: 400 }
);
}
const updatedAufgabe = await toggleAufgabe(id);
if (!updatedAufgabe) {
return NextResponse.json(
{ error: 'Aufgabe nicht gefunden' },
{ status: 404 }
);
}
return NextResponse.json(updatedAufgabe);
} catch (error) {
console.error('Fehler beim Aktualisieren:', error);
return NextResponse.json(
{ error: 'Fehler beim Aktualisieren der Aufgabe' },
{ status: 500 }
);
}
}
// DELETE /api/tasks/:id - Aufgabe löschen
export async function DELETE(
request: Request,
{ params }: { params: { id: string } }
) {
try {
const id = parseInt(params.id);
if (isNaN(id)) {
return NextResponse.json(
{ error: 'Ungültige Aufgaben-ID' },
{ status: 400 }
);
}
const deleted = await deleteAufgabe(id);
if (!deleted) {
return NextResponse.json(
{ error: 'Aufgabe nicht gefunden' },
{ status: 404 }
);
}
return NextResponse.json({ success: true });
} catch (error) {
console.error('Fehler beim Löschen:', error);
return NextResponse.json(
{ error: 'Fehler beim Löschen der Aufgabe' },
{ status: 500 }
);
}
}