mirror of
https://github.com/nocodb/nocodb.git
synced 2026-04-25 03:35:37 +00:00
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:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user