Files
litlyx/dashboard/server/api/project/members/me.ts
2025-03-26 16:15:46 +01:00

44 lines
1.1 KiB
TypeScript

import { ProjectModel } from "@schema/project/ProjectSchema";
import { TeamMemberModel, TeamMemberRole, TPermission, TTeamMember } from "@schema/TeamMemberSchema";
import { UserModel } from "@schema/UserSchema";
export default defineEventHandler(async event => {
const data = await getRequestData(event, []);
if (!data) return;
const { project_id, project, user } = data;
const owner = await UserModel.findById(project.owner, { _id: 1 });
if (owner && owner._id.toString() === user.id) return {
ai: true,
domains: ['All domains'],
events: true,
webAnalytics: true
}
const member = await TeamMemberModel.findOne({
project_id,
$or: [
{ user_id: user.id }, { email: user.user.email }
]
});
if (!member) return {
ai: false,
domains: [],
events: false,
webAnalytics: false
}
return {
ai: false,
domains: [],
events: false,
webAnalytics: false,
...(member.permission as any),
} as TPermission
});