first praktikum variant
This commit is contained in:
52
src/routes/api/anmelden/+server.ts
Normal file
52
src/routes/api/anmelden/+server.ts
Normal file
@@ -0,0 +1,52 @@
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
import type { RequestHandler } from '@sveltejs/kit';
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
export const POST: RequestHandler = async ({ request }) => {
|
||||
const data = await request.json();
|
||||
|
||||
try {
|
||||
await prisma.anmeldung.create({
|
||||
data: {
|
||||
anrede: data.anrede,
|
||||
vorname: data.vorname,
|
||||
nachname: data.nachname,
|
||||
geburtsdatum: data.geburtsdatum,
|
||||
strasse: data.strasse,
|
||||
hausnummer: data.hausnummer,
|
||||
ort: data.ort,
|
||||
plz: data.plz,
|
||||
telefon: data.telefon,
|
||||
email: data.email,
|
||||
schulart: data.schulart,
|
||||
zeitraum: data.zeitraum,
|
||||
motivation: data.motivation,
|
||||
wunsch1Id: data.wunsch1Id,
|
||||
wunsch2Id: data.wunsch2Id,
|
||||
wunsch3Id: data.wunsch3Id
|
||||
}
|
||||
});
|
||||
|
||||
const exists = await prisma.anmeldung.findUnique({
|
||||
where: { email: data.email }
|
||||
});
|
||||
|
||||
if (exists) {
|
||||
return new Response(JSON.stringify({ success: false, error: 'Diese E-Mail wurde bereits verwendet.' }), {
|
||||
status: 400,
|
||||
headers: { 'Content-Type': 'application/json' }
|
||||
});
|
||||
} else {
|
||||
return new Response(JSON.stringify({ success: true }), {
|
||||
headers: { 'Content-Type': 'application/json' }
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
return new Response(JSON.stringify({ success: false, error: 'Fehler bei Speicherung' }), {
|
||||
status: 500,
|
||||
headers: { 'Content-Type': 'application/json' }
|
||||
});
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user