first praktikum variant
This commit is contained in:
25
src/routes/api/admin/dienststellen/+server.ts
Normal file
25
src/routes/api/admin/dienststellen/+server.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
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 }));
|
||||
};
|
||||
Reference in New Issue
Block a user