generator client {
  provider = "prisma-client-js"
  binaryTargets = ["darwin-arm64", "linux-arm64-openssl-3.0.x", "debian-openssl-3.0.x", "linux-musl-openssl-3.0.x"]
  output   = "../node_modules/.prisma/client"
}

datasource db {
  provider = "sqlite"
  url      = "file:./praktika.db"
}

model Admin {
  id       Int    @id @default(1)
  password String
}

model Dienststelle {
  id    Int     @id @default(autoincrement())
  name  String  @unique
  plaetze Int
  anmeldungenWunsch1 Anmeldung[] @relation("Wunsch1")
  anmeldungenWunsch2 Anmeldung[] @relation("Wunsch2")
  anmeldungenWunsch3 Anmeldung[] @relation("Wunsch3")
}

model Anmeldung {
  id          Int      @id @default(autoincrement())
  anrede      String
  vorname     String
  nachname    String
  geburtsdatum String
  strasse     String
  hausnummer  String
  ort         String
  plz         String
  telefon     String
  email       String   @unique
  schulart    String
  zeitraum    String
  motivation  String

  wunsch1Id   Int
  wunsch2Id   Int
  wunsch3Id   Int

  wunsch1     Dienststelle @relation("Wunsch1", fields: [wunsch1Id], references: [id])
  wunsch2     Dienststelle @relation("Wunsch2", fields: [wunsch2Id], references: [id])
  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
}
