diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..47a845d Binary files /dev/null and b/favicon.ico differ diff --git a/prisma/migrations/20250424064742_add_pdf_upload/migration.sql b/prisma/migrations/20250424064742_add_pdf_upload/migration.sql new file mode 100644 index 0000000..82329e5 --- /dev/null +++ b/prisma/migrations/20250424064742_add_pdf_upload/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Anmeldung" ADD COLUMN "pdfdatei" TEXT; diff --git a/prisma/migrations/20250424084609_add_pdf_upload/migration.sql b/prisma/migrations/20250424084609_add_pdf_upload/migration.sql new file mode 100644 index 0000000..248fe85 --- /dev/null +++ b/prisma/migrations/20250424084609_add_pdf_upload/migration.sql @@ -0,0 +1,39 @@ +/* + Warnings: + + - You are about to drop the column `pdfdatei` on the `Anmeldung` table. All the data in the column will be lost. + +*/ +-- 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, + "schulart" TEXT NOT NULL, + "zeitraum" TEXT NOT NULL, + "motivation" TEXT NOT NULL, + "pdfDatei" TEXT, + "wunsch1Id" INTEGER NOT NULL, + "wunsch2Id" INTEGER NOT NULL, + "wunsch3Id" 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 +); +INSERT INTO "new_Anmeldung" ("anrede", "email", "geburtsdatum", "hausnummer", "id", "motivation", "nachname", "ort", "plz", "schulart", "strasse", "telefon", "timestamp", "vorname", "wunsch1Id", "wunsch2Id", "wunsch3Id", "zeitraum") SELECT "anrede", "email", "geburtsdatum", "hausnummer", "id", "motivation", "nachname", "ort", "plz", "schulart", "strasse", "telefon", "timestamp", "vorname", "wunsch1Id", "wunsch2Id", "wunsch3Id", "zeitraum" 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; diff --git a/prisma/migrations/20250424085826_add_pdfdatei_relation/migration.sql b/prisma/migrations/20250424085826_add_pdfdatei_relation/migration.sql new file mode 100644 index 0000000..a32af3d --- /dev/null +++ b/prisma/migrations/20250424085826_add_pdfdatei_relation/migration.sql @@ -0,0 +1,46 @@ +/* + Warnings: + + - You are about to drop the column `pdfDatei` on the `Anmeldung` table. All the data in the column will be lost. + +*/ +-- CreateTable +CREATE TABLE "PdfDatei" ( + "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "pfad" TEXT NOT NULL, + "anmeldungId" INTEGER NOT NULL, + CONSTRAINT "PdfDatei_anmeldungId_fkey" FOREIGN KEY ("anmeldungId") REFERENCES "Anmeldung" ("id") ON DELETE RESTRICT ON UPDATE CASCADE +); + +-- 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, + "schulart" TEXT NOT NULL, + "zeitraum" TEXT NOT NULL, + "motivation" TEXT NOT NULL, + "wunsch1Id" INTEGER NOT NULL, + "wunsch2Id" INTEGER NOT NULL, + "wunsch3Id" 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 +); +INSERT INTO "new_Anmeldung" ("anrede", "email", "geburtsdatum", "hausnummer", "id", "motivation", "nachname", "ort", "plz", "schulart", "strasse", "telefon", "timestamp", "vorname", "wunsch1Id", "wunsch2Id", "wunsch3Id", "zeitraum") SELECT "anrede", "email", "geburtsdatum", "hausnummer", "id", "motivation", "nachname", "ort", "plz", "schulart", "strasse", "telefon", "timestamp", "vorname", "wunsch1Id", "wunsch2Id", "wunsch3Id", "zeitraum" 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; diff --git a/prisma/praktika.db b/prisma/praktika.db index fa2608d..0c22272 100644 Binary files a/prisma/praktika.db and b/prisma/praktika.db differ diff --git a/prisma/schema.prisma b/prisma/schema.prisma index ab0f0cc..1efc94f 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -47,4 +47,13 @@ model Anmeldung { wunsch3 Dienststelle @relation("Wunsch3", fields: [wunsch3Id], references: [id]) timestamp DateTime @default(now()) + + pdfs PdfDatei[] @relation("AnmeldungPdfs") } + +model PdfDatei { + id Int @id @default(autoincrement()) + pfad String + anmeldung Anmeldung @relation("AnmeldungPdfs", fields: [anmeldungId], references: [id]) + anmeldungId Int +} \ No newline at end of file diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index a7ef4b3..896b453 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,5 +1,6 @@