From 996e74c742e7edbcc885d7ebb1569b80c73dadf4 Mon Sep 17 00:00:00 2001 From: toni Date: Thu, 19 Mar 2026 22:12:55 +0100 Subject: [PATCH] split db schema --- packages/api/prisma.config.ts | 2 +- packages/api/prisma/schema.prisma | 79 ------------------- .../schema/foundEventAttachments.prisma | 7 ++ packages/api/prisma/schema/foundEvents.prisma | 10 +++ packages/api/prisma/schema/member.prisma | 16 ++++ .../api/prisma/schema/pushSubscription.prisma | 15 ++++ packages/api/prisma/schema/schema.prisma | 8 ++ packages/api/prisma/schema/session.prisma | 7 ++ packages/api/prisma/schema/topic.prisma | 4 + packages/api/prisma/schema/user.prisma | 4 + 10 files changed, 72 insertions(+), 80 deletions(-) delete mode 100644 packages/api/prisma/schema.prisma create mode 100644 packages/api/prisma/schema/foundEventAttachments.prisma create mode 100644 packages/api/prisma/schema/foundEvents.prisma create mode 100644 packages/api/prisma/schema/member.prisma create mode 100644 packages/api/prisma/schema/pushSubscription.prisma create mode 100644 packages/api/prisma/schema/schema.prisma create mode 100644 packages/api/prisma/schema/session.prisma create mode 100644 packages/api/prisma/schema/topic.prisma create mode 100644 packages/api/prisma/schema/user.prisma diff --git a/packages/api/prisma.config.ts b/packages/api/prisma.config.ts index 29a8190..b86fe99 100644 --- a/packages/api/prisma.config.ts +++ b/packages/api/prisma.config.ts @@ -4,7 +4,7 @@ import "dotenv/config"; import { defineConfig, env } from "prisma/config"; export default defineConfig({ - schema: "prisma/schema.prisma", + schema: "prisma/schema", migrations: { path: "prisma/migrations", }, diff --git a/packages/api/prisma/schema.prisma b/packages/api/prisma/schema.prisma deleted file mode 100644 index 9f3dea7..0000000 --- a/packages/api/prisma/schema.prisma +++ /dev/null @@ -1,79 +0,0 @@ -generator client { - provider = "prisma-client" - output = "../src/generated/prisma" -} - -datasource db { - provider = "postgresql" -} - -model Member { - id String @id @default(dbgenerated("uuidv7()")) @db.Uuid - vorname String? @db.VarChar - nachname String? @db.VarChar - geburtsdatum DateTime? @db.Date - geburtsort String? @db.VarChar - geschlecht String? @db.VarChar - passnummer String? @db.VarChar - verein Boolean? - graduierung String? @db.VarChar - letztePruefung DateTime? @db.Date - kontakt String? @db.VarChar - kuendigungzum DateTime? @db.Date - marker Boolean? - creationDate DateTime? @default(now()) @db.Date -} - -model session { - sid String @id @db.VarChar - sess Json @db.Json - expire DateTime @db.Timestamp(6) - - @@index([expire], map: "IDX_session_expire") -} - -enum Topic { - TEST - EVENTS -} - -model FoundEvents { - id String @id @default(dbgenerated("uuidv7()")) @db.Uuid - source String @db.VarChar - url String @db.VarChar - foundDate DateTime @default(now()) @db.Date - eventDate String? @db.VarChar - title String? @db.VarChar - description String? @db.VarChar - attachedFiles FoundEventAttachments[] -} - -model FoundEventAttachments { - id String @id @default(dbgenerated("uuidv7()")) @db.Uuid - title String @db.VarChar - url String @db.VarChar - event FoundEvents @relation(fields: [eventId], references: [id]) - eventId String @db.Uuid -} - -model PushSubscription { - id String @id @default(dbgenerated("uuidv7()")) @db.Uuid - endpoint String @db.VarChar - expirationTime Float? - p256dh String @db.VarChar - auth String @db.VarChar - - userId String @db.VarChar - user User @relation(fields: [userId], references: [id]) - - topic Topic - topicConfiguration Json? @db.JsonB - clientId String @db.Uuid - lastNotified DateTime? @db.Date -} - -model User { - id String @db.VarChar @id - subscriptions PushSubscription[] -} - diff --git a/packages/api/prisma/schema/foundEventAttachments.prisma b/packages/api/prisma/schema/foundEventAttachments.prisma new file mode 100644 index 0000000..e1a1d2a --- /dev/null +++ b/packages/api/prisma/schema/foundEventAttachments.prisma @@ -0,0 +1,7 @@ +model FoundEventAttachments { + id String @id @default(dbgenerated("uuidv7()")) @db.Uuid + title String @db.VarChar + url String @db.VarChar + event FoundEvents @relation(fields: [eventId], references: [id]) + eventId String @db.Uuid +} diff --git a/packages/api/prisma/schema/foundEvents.prisma b/packages/api/prisma/schema/foundEvents.prisma new file mode 100644 index 0000000..016fb18 --- /dev/null +++ b/packages/api/prisma/schema/foundEvents.prisma @@ -0,0 +1,10 @@ +model FoundEvents { + id String @id @default(dbgenerated("uuidv7()")) @db.Uuid + source String @db.VarChar + url String @db.VarChar + foundDate DateTime @default(now()) @db.Date + eventDate String? @db.VarChar + title String? @db.VarChar + description String? @db.VarChar + attachedFiles FoundEventAttachments[] +} diff --git a/packages/api/prisma/schema/member.prisma b/packages/api/prisma/schema/member.prisma new file mode 100644 index 0000000..ab09884 --- /dev/null +++ b/packages/api/prisma/schema/member.prisma @@ -0,0 +1,16 @@ +model Member { + id String @id @default(dbgenerated("uuidv7()")) @db.Uuid + vorname String? @db.VarChar + nachname String? @db.VarChar + geburtsdatum DateTime? @db.Date + geburtsort String? @db.VarChar + geschlecht String? @db.VarChar + passnummer String? @db.VarChar + verein Boolean? + graduierung String? @db.VarChar + letztePruefung DateTime? @db.Date + kontakt String? @db.VarChar + kuendigungzum DateTime? @db.Date + marker Boolean? + creationDate DateTime? @default(now()) @db.Date +} diff --git a/packages/api/prisma/schema/pushSubscription.prisma b/packages/api/prisma/schema/pushSubscription.prisma new file mode 100644 index 0000000..26bc295 --- /dev/null +++ b/packages/api/prisma/schema/pushSubscription.prisma @@ -0,0 +1,15 @@ +model PushSubscription { + id String @id @default(dbgenerated("uuidv7()")) @db.Uuid + endpoint String @db.VarChar + expirationTime Float? + p256dh String @db.VarChar + auth String @db.VarChar + + userId String @db.VarChar + user User @relation(fields: [userId], references: [id]) + + topic Topic + topicConfiguration Json? @db.JsonB + clientId String @db.Uuid + lastNotified DateTime? @db.Date +} diff --git a/packages/api/prisma/schema/schema.prisma b/packages/api/prisma/schema/schema.prisma new file mode 100644 index 0000000..bc49346 --- /dev/null +++ b/packages/api/prisma/schema/schema.prisma @@ -0,0 +1,8 @@ +generator client { + provider = "prisma-client" + output = "../../src/generated/prisma" +} + +datasource db { + provider = "postgresql" +} diff --git a/packages/api/prisma/schema/session.prisma b/packages/api/prisma/schema/session.prisma new file mode 100644 index 0000000..0e31c7d --- /dev/null +++ b/packages/api/prisma/schema/session.prisma @@ -0,0 +1,7 @@ +model session { + sid String @id @db.VarChar + sess Json @db.Json + expire DateTime @db.Timestamp(6) + + @@index([expire], map: "IDX_session_expire") +} diff --git a/packages/api/prisma/schema/topic.prisma b/packages/api/prisma/schema/topic.prisma new file mode 100644 index 0000000..fad3100 --- /dev/null +++ b/packages/api/prisma/schema/topic.prisma @@ -0,0 +1,4 @@ +enum Topic { + TEST + EVENTS +} diff --git a/packages/api/prisma/schema/user.prisma b/packages/api/prisma/schema/user.prisma new file mode 100644 index 0000000..ef4688a --- /dev/null +++ b/packages/api/prisma/schema/user.prisma @@ -0,0 +1,4 @@ +model User { + id String @db.VarChar @id + subscriptions PushSubscription[] +}