fix members

This commit is contained in:
Emily
2025-03-26 16:15:46 +01:00
parent 1f9ef5d18c
commit 7658dbe85c
11 changed files with 63 additions and 44 deletions

View File

@@ -1,11 +1,11 @@
import { ProjectModel, TProject } from "@schema/project/ProjectSchema";
import { TeamMemberModel } from "@schema/TeamMemberSchema";
export async function hasAccessToProject(user_id: string, project_id: string, project?: TProject) {
export async function hasAccessToProject(user_id: string, project_id: string, email: string, project?: TProject) {
const targetProject = project ?? await ProjectModel.findById(project_id, { owner: true });
if (!targetProject) return [false, 'NONE'];
if (targetProject.owner.toString() === user_id) return [true, 'OWNER'];
const isGuest = await TeamMemberModel.exists({ project_id, user_id });
const isGuest = await TeamMemberModel.exists({ project_id, $or: [{ user_id }, { email }] });
if (isGuest) return [true, 'GUEST'];
return [false, 'NONE'];
}