mirror of
https://github.com/Litlyx/litlyx
synced 2025-12-10 15:58:38 +01:00
refactoring
This commit is contained in:
39
dashboard/server/api/project/members/me.ts
Normal file
39
dashboard/server/api/project/members/me.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
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, user_id: user.id });
|
||||
|
||||
if (!member) return {
|
||||
ai: true,
|
||||
domains: ['All domains'],
|
||||
events: true,
|
||||
webAnalytics: true
|
||||
}
|
||||
|
||||
return {
|
||||
ai: false,
|
||||
domains: [],
|
||||
events: false,
|
||||
webAnalytics: false,
|
||||
...(member.permission as any),
|
||||
} as TPermission
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user