mirror of
https://github.com/Litlyx/litlyx
synced 2025-12-10 15:58:38 +01:00
44 lines
1.1 KiB
TypeScript
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
|
|
|
|
}); |