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

@@ -16,6 +16,7 @@ export default defineEventHandler(async event => {
if (!user) return setResponseStatus(event, 400, 'Email not found');
await TeamMemberModel.deleteOne({ project_id, user_id: user.id });
await TeamMemberModel.deleteOne({ project_id, email: email });
return { ok: true }

View File

@@ -42,8 +42,15 @@ export default defineEventHandler(async event => {
})
for (const member of members) {
const userMember = member.user_id ? await UserModel.findById(member.user_id) : await UserModel.findOne({ email: member.email });
if (!userMember) continue;
let userMember;
if (member.user_id) {
userMember = await UserModel.findById(member.user_id);
} else {
userMember = await UserModel.findOne({ email: member.email });
}
const permission: TPermission = {
webAnalytics: member.permission?.webAnalytics || false,
@@ -54,11 +61,11 @@ export default defineEventHandler(async event => {
result.push({
id: member.id,
email: userMember.email,
name: userMember.name,
email: userMember?.email || member.email || 'NO_EMAIL',
name: userMember?.name || 'NO_NAME',
role: member.role,
pending: member.pending,
me: user.id === userMember.id,
me: user.id === (userMember?.id || member.user_id || 'NO_ID'),
permission
})
}

View File

@@ -19,13 +19,18 @@ export default defineEventHandler(async event => {
webAnalytics: true
}
const member = await TeamMemberModel.findOne({ project_id, user_id: user.id });
const member = await TeamMemberModel.findOne({
project_id,
$or: [
{ user_id: user.id }, { email: user.user.email }
]
});
if (!member) return {
ai: true,
domains: ['All domains'],
events: true,
webAnalytics: true
ai: false,
domains: [],
events: false,
webAnalytics: false
}
return {