From 92c44bce6fa67a64b0eeb1e37d60fad2ff270d13 Mon Sep 17 00:00:00 2001 From: Avnyr Date: Thu, 15 May 2025 20:57:32 +0200 Subject: [PATCH] feat: add project collaborators relations Defined `projectCollaborators` relations in the database schema. Updated `usersRelations` and `projectsRelations` to include `projectCollaborations` and `collaborators` respectively. Added `projectCollaboratorsRelations` to establish relationships with `projects` and `users`. --- backend/src/database/schema/relations.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/backend/src/database/schema/relations.ts b/backend/src/database/schema/relations.ts index 223dd23..762d64f 100644 --- a/backend/src/database/schema/relations.ts +++ b/backend/src/database/schema/relations.ts @@ -7,12 +7,14 @@ import { tags } from './tags'; import { personToGroup } from './personToGroup'; import { personToTag } from './personToTag'; import { projectToTag } from './projectToTag'; +import { projectCollaborators } from './projectCollaborators'; /** * Define relations for users table */ export const usersRelations = relations(users, ({ many }) => ({ projects: many(projects), + projectCollaborations: many(projectCollaborators), })); /** @@ -26,6 +28,7 @@ export const projectsRelations = relations(projects, ({ one, many }) => ({ persons: many(persons), groups: many(groups), projectToTags: many(projectToTag), + collaborators: many(projectCollaborators), })); /** @@ -99,4 +102,18 @@ export const projectToTagRelations = relations(projectToTag, ({ one }) => ({ fields: [projectToTag.tagId], references: [tags.id], }), -})); \ No newline at end of file +})); + +/** + * Define relations for projectCollaborators table + */ +export const projectCollaboratorsRelations = relations(projectCollaborators, ({ one }) => ({ + project: one(projects, { + fields: [projectCollaborators.projectId], + references: [projects.id], + }), + user: one(users, { + fields: [projectCollaborators.userId], + references: [users.id], + }), +}));