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`.
This commit is contained in:
Mathis H (Avnyr) 2025-05-15 20:57:32 +02:00
parent 0154f9c0aa
commit 92c44bce6f

View File

@ -7,12 +7,14 @@ import { tags } from './tags';
import { personToGroup } from './personToGroup'; import { personToGroup } from './personToGroup';
import { personToTag } from './personToTag'; import { personToTag } from './personToTag';
import { projectToTag } from './projectToTag'; import { projectToTag } from './projectToTag';
import { projectCollaborators } from './projectCollaborators';
/** /**
* Define relations for users table * Define relations for users table
*/ */
export const usersRelations = relations(users, ({ many }) => ({ export const usersRelations = relations(users, ({ many }) => ({
projects: many(projects), projects: many(projects),
projectCollaborations: many(projectCollaborators),
})); }));
/** /**
@ -26,6 +28,7 @@ export const projectsRelations = relations(projects, ({ one, many }) => ({
persons: many(persons), persons: many(persons),
groups: many(groups), groups: many(groups),
projectToTags: many(projectToTag), projectToTags: many(projectToTag),
collaborators: many(projectCollaborators),
})); }));
/** /**
@ -99,4 +102,18 @@ export const projectToTagRelations = relations(projectToTag, ({ one }) => ({
fields: [projectToTag.tagId], fields: [projectToTag.tagId],
references: [tags.id], references: [tags.id],
}), }),
})); }));
/**
* 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],
}),
}));