sche.prisma und anmeldung
This commit is contained in:
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
Warnings:
|
||||||
|
|
||||||
|
- Added the required column `zugewiesenId` to the `Anmeldung` table without a default value. This is not possible if the table is not empty.
|
||||||
|
|
||||||
|
*/
|
||||||
|
-- RedefineTables
|
||||||
|
PRAGMA defer_foreign_keys=ON;
|
||||||
|
PRAGMA foreign_keys=OFF;
|
||||||
|
CREATE TABLE "new_Anmeldung" (
|
||||||
|
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
|
"anrede" TEXT NOT NULL,
|
||||||
|
"vorname" TEXT NOT NULL,
|
||||||
|
"nachname" TEXT NOT NULL,
|
||||||
|
"geburtsdatum" TEXT NOT NULL,
|
||||||
|
"strasse" TEXT NOT NULL,
|
||||||
|
"hausnummer" TEXT NOT NULL,
|
||||||
|
"ort" TEXT NOT NULL,
|
||||||
|
"plz" TEXT NOT NULL,
|
||||||
|
"telefon" TEXT NOT NULL,
|
||||||
|
"email" TEXT NOT NULL,
|
||||||
|
"noteDeutsch" INTEGER NOT NULL,
|
||||||
|
"noteMathe" INTEGER NOT NULL,
|
||||||
|
"sozialverhalten" TEXT NOT NULL,
|
||||||
|
"schulart" TEXT NOT NULL,
|
||||||
|
"motivation" TEXT NOT NULL,
|
||||||
|
"praktikumId" INTEGER NOT NULL,
|
||||||
|
"wunsch1Id" INTEGER NOT NULL,
|
||||||
|
"wunsch2Id" INTEGER NOT NULL,
|
||||||
|
"wunsch3Id" INTEGER NOT NULL,
|
||||||
|
"status" TEXT NOT NULL DEFAULT 'OFFEN',
|
||||||
|
"zugewiesenId" INTEGER NOT NULL,
|
||||||
|
"timestamp" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
CONSTRAINT "Anmeldung_wunsch1Id_fkey" FOREIGN KEY ("wunsch1Id") REFERENCES "Dienststelle" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT "Anmeldung_wunsch2Id_fkey" FOREIGN KEY ("wunsch2Id") REFERENCES "Dienststelle" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT "Anmeldung_wunsch3Id_fkey" FOREIGN KEY ("wunsch3Id") REFERENCES "Dienststelle" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT "Anmeldung_zugewiesenId_fkey" FOREIGN KEY ("zugewiesenId") REFERENCES "Dienststelle" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
||||||
|
);
|
||||||
|
INSERT INTO "new_Anmeldung" ("anrede", "email", "geburtsdatum", "hausnummer", "id", "motivation", "nachname", "noteDeutsch", "noteMathe", "ort", "plz", "praktikumId", "schulart", "sozialverhalten", "strasse", "telefon", "timestamp", "vorname", "wunsch1Id", "wunsch2Id", "wunsch3Id") SELECT "anrede", "email", "geburtsdatum", "hausnummer", "id", "motivation", "nachname", "noteDeutsch", "noteMathe", "ort", "plz", "praktikumId", "schulart", "sozialverhalten", "strasse", "telefon", "timestamp", "vorname", "wunsch1Id", "wunsch2Id", "wunsch3Id" FROM "Anmeldung";
|
||||||
|
DROP TABLE "Anmeldung";
|
||||||
|
ALTER TABLE "new_Anmeldung" RENAME TO "Anmeldung";
|
||||||
|
CREATE UNIQUE INDEX "Anmeldung_email_key" ON "Anmeldung"("email");
|
||||||
|
PRAGMA foreign_keys=ON;
|
||||||
|
PRAGMA defer_foreign_keys=OFF;
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
-- RedefineTables
|
||||||
|
PRAGMA defer_foreign_keys=ON;
|
||||||
|
PRAGMA foreign_keys=OFF;
|
||||||
|
CREATE TABLE "new_Anmeldung" (
|
||||||
|
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
|
"anrede" TEXT NOT NULL,
|
||||||
|
"vorname" TEXT NOT NULL,
|
||||||
|
"nachname" TEXT NOT NULL,
|
||||||
|
"geburtsdatum" TEXT NOT NULL,
|
||||||
|
"strasse" TEXT NOT NULL,
|
||||||
|
"hausnummer" TEXT NOT NULL,
|
||||||
|
"ort" TEXT NOT NULL,
|
||||||
|
"plz" TEXT NOT NULL,
|
||||||
|
"telefon" TEXT NOT NULL,
|
||||||
|
"email" TEXT NOT NULL,
|
||||||
|
"noteDeutsch" INTEGER NOT NULL,
|
||||||
|
"noteMathe" INTEGER NOT NULL,
|
||||||
|
"sozialverhalten" TEXT NOT NULL,
|
||||||
|
"schulart" TEXT NOT NULL,
|
||||||
|
"motivation" TEXT NOT NULL,
|
||||||
|
"praktikumId" INTEGER NOT NULL,
|
||||||
|
"wunsch1Id" INTEGER NOT NULL,
|
||||||
|
"wunsch2Id" INTEGER NOT NULL,
|
||||||
|
"wunsch3Id" INTEGER NOT NULL,
|
||||||
|
"status" TEXT NOT NULL DEFAULT 'OFFEN',
|
||||||
|
"zugewiesenId" INTEGER,
|
||||||
|
"timestamp" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
CONSTRAINT "Anmeldung_wunsch1Id_fkey" FOREIGN KEY ("wunsch1Id") REFERENCES "Dienststelle" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT "Anmeldung_wunsch2Id_fkey" FOREIGN KEY ("wunsch2Id") REFERENCES "Dienststelle" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT "Anmeldung_wunsch3Id_fkey" FOREIGN KEY ("wunsch3Id") REFERENCES "Dienststelle" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT "Anmeldung_zugewiesenId_fkey" FOREIGN KEY ("zugewiesenId") REFERENCES "Dienststelle" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
||||||
|
);
|
||||||
|
INSERT INTO "new_Anmeldung" ("anrede", "email", "geburtsdatum", "hausnummer", "id", "motivation", "nachname", "noteDeutsch", "noteMathe", "ort", "plz", "praktikumId", "schulart", "sozialverhalten", "status", "strasse", "telefon", "timestamp", "vorname", "wunsch1Id", "wunsch2Id", "wunsch3Id", "zugewiesenId") SELECT "anrede", "email", "geburtsdatum", "hausnummer", "id", "motivation", "nachname", "noteDeutsch", "noteMathe", "ort", "plz", "praktikumId", "schulart", "sozialverhalten", "status", "strasse", "telefon", "timestamp", "vorname", "wunsch1Id", "wunsch2Id", "wunsch3Id", "zugewiesenId" FROM "Anmeldung";
|
||||||
|
DROP TABLE "Anmeldung";
|
||||||
|
ALTER TABLE "new_Anmeldung" RENAME TO "Anmeldung";
|
||||||
|
CREATE UNIQUE INDEX "Anmeldung_email_key" ON "Anmeldung"("email");
|
||||||
|
PRAGMA foreign_keys=ON;
|
||||||
|
PRAGMA defer_foreign_keys=OFF;
|
||||||
BIN
prisma/praktika.db-journal
Normal file
BIN
prisma/praktika.db-journal
Normal file
Binary file not shown.
@@ -21,6 +21,7 @@ model Dienststelle {
|
|||||||
anmeldungenWunsch1 Anmeldung[] @relation("Wunsch1")
|
anmeldungenWunsch1 Anmeldung[] @relation("Wunsch1")
|
||||||
anmeldungenWunsch2 Anmeldung[] @relation("Wunsch2")
|
anmeldungenWunsch2 Anmeldung[] @relation("Wunsch2")
|
||||||
anmeldungenWunsch3 Anmeldung[] @relation("Wunsch3")
|
anmeldungenWunsch3 Anmeldung[] @relation("Wunsch3")
|
||||||
|
zugewiesene Anmeldung[] @relation("Zugewiesen")
|
||||||
}
|
}
|
||||||
|
|
||||||
model Praktikumszeitraum {
|
model Praktikumszeitraum {
|
||||||
@@ -30,6 +31,12 @@ model Praktikumszeitraum {
|
|||||||
endDatum DateTime
|
endDatum DateTime
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum Status {
|
||||||
|
OFFEN
|
||||||
|
ANGENOMMEN
|
||||||
|
ABGELEHNT
|
||||||
|
}
|
||||||
|
|
||||||
model Anmeldung {
|
model Anmeldung {
|
||||||
id Int @id @default(autoincrement())
|
id Int @id @default(autoincrement())
|
||||||
anrede String
|
anrede String
|
||||||
@@ -50,13 +57,15 @@ model Anmeldung {
|
|||||||
|
|
||||||
praktikumId Int
|
praktikumId Int
|
||||||
|
|
||||||
wunsch1Id Int
|
|
||||||
wunsch2Id Int
|
|
||||||
wunsch3Id Int
|
|
||||||
|
|
||||||
wunsch1 Dienststelle @relation("Wunsch1", fields: [wunsch1Id], references: [id])
|
wunsch1 Dienststelle @relation("Wunsch1", fields: [wunsch1Id], references: [id])
|
||||||
|
wunsch1Id Int
|
||||||
wunsch2 Dienststelle @relation("Wunsch2", fields: [wunsch2Id], references: [id])
|
wunsch2 Dienststelle @relation("Wunsch2", fields: [wunsch2Id], references: [id])
|
||||||
|
wunsch2Id Int
|
||||||
wunsch3 Dienststelle @relation("Wunsch3", fields: [wunsch3Id], references: [id])
|
wunsch3 Dienststelle @relation("Wunsch3", fields: [wunsch3Id], references: [id])
|
||||||
|
wunsch3Id Int
|
||||||
|
status Status @default(OFFEN)
|
||||||
|
zugewiesenId Int?
|
||||||
|
zugewiesen Dienststelle? @relation("Zugewiesen", fields: [zugewiesenId], references: [id])
|
||||||
|
|
||||||
timestamp DateTime @default(now())
|
timestamp DateTime @default(now())
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,9 @@ import path from 'path';
|
|||||||
|
|
||||||
const prisma = new PrismaClient();
|
const prisma = new PrismaClient();
|
||||||
|
|
||||||
function checkAuth(cookies: any) {
|
import type { Cookies } from '@sveltejs/kit';
|
||||||
|
|
||||||
|
function checkAuth(cookies: Cookies) {
|
||||||
return cookies.get('admin_session') === 'true';
|
return cookies.get('admin_session') === 'true';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,7 +46,10 @@ export const DELETE: RequestHandler = async ({ cookies, url }) => {
|
|||||||
try {
|
try {
|
||||||
await fs.unlink(filePath);
|
await fs.unlink(filePath);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.warn(`Datei konnte nicht gelöscht werden: ${filePath}`, err.message);
|
console.warn(
|
||||||
|
`Datei konnte nicht gelöscht werden: ${filePath}`,
|
||||||
|
err instanceof Error ? err.message : String(err)
|
||||||
|
);
|
||||||
// Fehler ignorieren, Datei evtl. manuell entfernt
|
// Fehler ignorieren, Datei evtl. manuell entfernt
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -62,3 +67,4 @@ export const DELETE: RequestHandler = async ({ cookies, url }) => {
|
|||||||
return json({ error: 'Löschen fehlgeschlagen' }, { status: 500 });
|
return json({ error: 'Löschen fehlgeschlagen' }, { status: 500 });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,8 @@ export async function POST({ request }) {
|
|||||||
wunsch3Id: parseInt(get('wunsch3Id')),
|
wunsch3Id: parseInt(get('wunsch3Id')),
|
||||||
pdfs: {
|
pdfs: {
|
||||||
create: gespeichertePfade.map((pfad) => ({ pfad }))
|
create: gespeichertePfade.map((pfad) => ({ pfad }))
|
||||||
}
|
},
|
||||||
|
zugewiesenId: null
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user