From 3b048157a2e4a4e1fe18ca51cce22b0b10987297 Mon Sep 17 00:00:00 2001 From: Tobias Hegge Date: Mon, 26 Jan 2026 17:13:46 +0100 Subject: [PATCH 1/6] added parent meeting table --- db/tables/parent-meetings.ts | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 db/tables/parent-meetings.ts diff --git a/db/tables/parent-meetings.ts b/db/tables/parent-meetings.ts new file mode 100644 index 0000000..c1684da --- /dev/null +++ b/db/tables/parent-meetings.ts @@ -0,0 +1,32 @@ +import { relations } from "drizzle-orm"; +import { date, integer, serial, time } from "drizzle-orm/pg-core"; +import { mainSchema } from "./schema"; +import { semestersTable } from "./semesters"; +import { teamUsersTable } from "./users"; + +export const parentMeetingsTable = mainSchema.table("parentMeetings", { + id: serial("id").primaryKey(), + date: date("date").notNull(), + startTime: time("startTime").notNull(), + endTime: time("endTime").notNull(), + semesterId: integer("semesterId") + .notNull() + .references(() => semestersTable.id), + teamUserId: integer("userId") + .notNull() + .references(() => teamUsersTable.id), +}); + +export const parentMeetingsRelations = relations( + parentMeetingsTable, + ({ one }) => ({ + semester: one(semestersTable, { + fields: [parentMeetingsTable.semesterId], + references: [semestersTable.id], + }), + teamUser: one(teamUsersTable, { + fields: [parentMeetingsTable.teamUserId], + references: [teamUsersTable.id], + }), + }), +); From 10b9493583e57a54687a666d078980e6b723f7b6 Mon Sep 17 00:00:00 2001 From: Tobias Hegge Date: Mon, 26 Jan 2026 18:09:57 +0100 Subject: [PATCH 2/6] changed userId to responsibleUserId --- db/tables/parent-meetings.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/db/tables/parent-meetings.ts b/db/tables/parent-meetings.ts index c1684da..03692fb 100644 --- a/db/tables/parent-meetings.ts +++ b/db/tables/parent-meetings.ts @@ -12,7 +12,8 @@ export const parentMeetingsTable = mainSchema.table("parentMeetings", { semesterId: integer("semesterId") .notNull() .references(() => semestersTable.id), - teamUserId: integer("userId") + // id of the team user responsible for organizing and conducting the parent meeting + responsibleUserId: integer("responsibleUserId") .notNull() .references(() => teamUsersTable.id), }); @@ -25,7 +26,7 @@ export const parentMeetingsRelations = relations( references: [semestersTable.id], }), teamUser: one(teamUsersTable, { - fields: [parentMeetingsTable.teamUserId], + fields: [parentMeetingsTable.responsibleUserId], references: [teamUsersTable.id], }), }), From c3528f1a3cc5a4b2684b7832ed1b772e2d7e85e7 Mon Sep 17 00:00:00 2001 From: Tobias Hegge Date: Mon, 26 Jan 2026 18:57:12 +0100 Subject: [PATCH 3/6] added place field --- db/tables/parent-meetings.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/db/tables/parent-meetings.ts b/db/tables/parent-meetings.ts index 03692fb..fbfa328 100644 --- a/db/tables/parent-meetings.ts +++ b/db/tables/parent-meetings.ts @@ -1,5 +1,5 @@ import { relations } from "drizzle-orm"; -import { date, integer, serial, time } from "drizzle-orm/pg-core"; +import { date, integer, serial, text, time } from "drizzle-orm/pg-core"; import { mainSchema } from "./schema"; import { semestersTable } from "./semesters"; import { teamUsersTable } from "./users"; @@ -9,6 +9,7 @@ export const parentMeetingsTable = mainSchema.table("parentMeetings", { date: date("date").notNull(), startTime: time("startTime").notNull(), endTime: time("endTime").notNull(), + place: text("place").notNull(), semesterId: integer("semesterId") .notNull() .references(() => semestersTable.id), From 28e9470366dd36908d138043f681c86297f0133e Mon Sep 17 00:00:00 2001 From: Tobias Hegge Date: Thu, 5 Feb 2026 16:35:35 +0100 Subject: [PATCH 4/6] changed date format to dateTime + duration --- db/tables/parent-meetings.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/db/tables/parent-meetings.ts b/db/tables/parent-meetings.ts index fbfa328..ac1c0dd 100644 --- a/db/tables/parent-meetings.ts +++ b/db/tables/parent-meetings.ts @@ -1,14 +1,13 @@ import { relations } from "drizzle-orm"; -import { date, integer, serial, text, time } from "drizzle-orm/pg-core"; +import { integer, interval, serial, text, timestamp } from "drizzle-orm/pg-core"; import { mainSchema } from "./schema"; import { semestersTable } from "./semesters"; import { teamUsersTable } from "./users"; export const parentMeetingsTable = mainSchema.table("parentMeetings", { id: serial("id").primaryKey(), - date: date("date").notNull(), - startTime: time("startTime").notNull(), - endTime: time("endTime").notNull(), + dateTime: timestamp("dateTime").notNull(), + duration: interval("duration").notNull(), place: text("place").notNull(), semesterId: integer("semesterId") .notNull() From 31013479fb5f469211735d4c2d28994ccb9f3bb7 Mon Sep 17 00:00:00 2001 From: Tobias Hegge Date: Thu, 5 Feb 2026 17:24:28 +0100 Subject: [PATCH 5/6] fixed bug in assistant-semester relation table --- db/tables/assistant-semesters.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/db/tables/assistant-semesters.ts b/db/tables/assistant-semesters.ts index 74855e5..4d72e34 100644 --- a/db/tables/assistant-semesters.ts +++ b/db/tables/assistant-semesters.ts @@ -7,10 +7,10 @@ import { assistantUsersTable } from "./users"; export const assistantSemestersTable = mainSchema.table( "assistantSemesters", { - assistantId: integer("semesterId") + assistantId: integer("assistantId") .references(() => assistantUsersTable.id) .notNull(), - semesterId: integer("assistantId") + semesterId: integer("semesterId") .references(() => semestersTable.id) .notNull(), isSubstitute: boolean("isSubstitute").notNull(), @@ -24,8 +24,14 @@ export const assistantSemestersTable = mainSchema.table( export const assistantSemestersRelations = relations( assistantSemestersTable, - ({ many }) => ({ - assistant: many(assistantUsersTable), - semester: many(semestersTable), + ({ one }) => ({ + assistant: one(assistantUsersTable, { + fields: [assistantSemestersTable.assistantId], + references: [assistantUsersTable.id], + }), + semester: one(semestersTable, { + fields: [assistantSemestersTable.semesterId], + references: [semestersTable.id], + }), }), ); From 50fbe687b32ed9824b4a9de2f6d5dfd095c57f02 Mon Sep 17 00:00:00 2001 From: Tobias Hegge Date: Thu, 5 Feb 2026 17:28:55 +0100 Subject: [PATCH 6/6] check --- db/tables/parent-meetings.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/db/tables/parent-meetings.ts b/db/tables/parent-meetings.ts index ac1c0dd..1337298 100644 --- a/db/tables/parent-meetings.ts +++ b/db/tables/parent-meetings.ts @@ -1,5 +1,11 @@ import { relations } from "drizzle-orm"; -import { integer, interval, serial, text, timestamp } from "drizzle-orm/pg-core"; +import { + integer, + interval, + serial, + text, + timestamp, +} from "drizzle-orm/pg-core"; import { mainSchema } from "./schema"; import { semestersTable } from "./semesters"; import { teamUsersTable } from "./users";