mirror of
https://github.com/Litlyx/litlyx
synced 2025-12-10 07:48:37 +01:00
add members | phase 1
This commit is contained in:
11
dashboard/server/utils/hasAccessToProject.ts
Normal file
11
dashboard/server/utils/hasAccessToProject.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import { ProjectModel, TProject } from "@schema/ProjectSchema";
|
||||
import { TeamMemberModel } from "@schema/TeamMemberSchema";
|
||||
|
||||
export async function hasAccessToProject(user_id: string, project_id: 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 members = await TeamMemberModel.find({ project_id });
|
||||
if (members.map(e => e.user_id.toString()).includes(user_id)) return [true, 'GUEST'];
|
||||
return [false, 'NONE'];
|
||||
}
|
||||
Reference in New Issue
Block a user