diff --git a/db/seeding/seeding-tables.ts b/db/seeding/seeding-tables.ts index 9b3571e..0b3d088 100644 --- a/db/seeding/seeding-tables.ts +++ b/db/seeding/seeding-tables.ts @@ -1,10 +1,3 @@ -import { applicationsTable } from "@/db/tables/applications"; -import { departmentsTable } from "@/db/tables/departments"; -import { expensesTable } from "@/db/tables/expenses"; -import { fieldsOfStudyTable } from "@/db/tables/fields-of-study"; -import { teamsTable } from "@/db/tables/teams"; -import { usersTable } from "@/db/tables/users"; - export const seedingTables = { //departmentsTable, //fieldsOfStudyTable, diff --git a/db/tables/assistant-semesters.ts b/db/tables/assistant-semesters.ts new file mode 100644 index 0000000..74855e5 --- /dev/null +++ b/db/tables/assistant-semesters.ts @@ -0,0 +1,31 @@ +import { relations } from "drizzle-orm"; +import { boolean, integer, primaryKey } from "drizzle-orm/pg-core"; +import { mainSchema } from "./schema"; +import { semestersTable } from "./semesters"; +import { assistantUsersTable } from "./users"; + +export const assistantSemestersTable = mainSchema.table( + "assistantSemesters", + { + assistantId: integer("semesterId") + .references(() => assistantUsersTable.id) + .notNull(), + semesterId: integer("assistantId") + .references(() => semestersTable.id) + .notNull(), + isSubstitute: boolean("isSubstitute").notNull(), + }, + (table) => ({ + pk: primaryKey({ + columns: [table.assistantId, table.semesterId], + }), + }), +); + +export const assistantSemestersRelations = relations( + assistantSemestersTable, + ({ many }) => ({ + assistant: many(assistantUsersTable), + semester: many(semestersTable), + }), +);