25 lines
918 B
TypeScript
25 lines
918 B
TypeScript
import { PrismaClient } from '@prisma/client';
|
|
import type { RequestHandler } from '@sveltejs/kit';
|
|
|
|
const prisma = new PrismaClient();
|
|
|
|
export const GET: RequestHandler = async () => {
|
|
const dienststellen = await prisma.dienststelle.findMany({ orderBy: { name: 'asc' } });
|
|
return new Response(JSON.stringify(dienststellen));
|
|
};
|
|
|
|
export const POST: RequestHandler = async ({ request }) => {
|
|
const { name } = await request.json();
|
|
try {
|
|
const created = await prisma.dienststelle.create({ data: { name } });
|
|
return new Response(JSON.stringify(created));
|
|
} catch (e) {
|
|
return new Response(JSON.stringify({ error: 'Dienststelle existiert bereits' }), { status: 400 });
|
|
}
|
|
};
|
|
|
|
export const DELETE: RequestHandler = async ({ url }) => {
|
|
const id = Number(url.searchParams.get('id'));
|
|
await prisma.dienststelle.delete({ where: { id } });
|
|
return new Response(JSON.stringify({ success: true }));
|
|
}; |