Merge pull request #12099 from nocodb/nc-chore/build-issue

fix: improve user identification logic by checking for user_id and email
This commit is contained in:
Pranav C
2025-08-18 16:02:30 +05:30
committed by GitHub

View File

@@ -84,14 +84,17 @@ export class BaseMembersV3Service {
try {
for (const baseUser of param.baseMembers) {
let user: User;
if (baseUser.user_id) {
let userEmail: string;
if ('user_id' in baseUser && baseUser.user_id) {
user = await User.get(baseUser.user_id, ncMeta);
if (!user) {
NcError.get(context).userNotFound(baseUser.user_id);
}
baseUser.email = user.email;
} else if (baseUser.email) {
userEmail = user.email;
} else if ('email' in baseUser && baseUser.email) {
user = await User.getByEmail(baseUser.email, ncMeta);
userEmail = baseUser.email;
} else {
NcError.get(context).invalidRequestBody(
'Either email or id is required',
@@ -103,7 +106,7 @@ export class BaseMembersV3Service {
{
baseId: param.baseId,
baseUser: {
email: baseUser.email,
email: userEmail,
roles: baseUser.base_role as ProjectUserReqType['roles'],
},
req: param.req,
@@ -111,8 +114,6 @@ export class BaseMembersV3Service {
ncMeta,
);
user = await User.getByEmail(baseUser.email, ncMeta);
userIds.push(user.id);
}
await ncMeta.commit();