diff --git a/package.json b/package.json index df455b9..ff771cd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eionet2-user-management", - "version": "1.2.6", + "version": "1.2.7", "description": "", "author": "", "scripts": { diff --git a/tabs/package.json b/tabs/package.json index cb47ecb..57a5ff8 100644 --- a/tabs/package.json +++ b/tabs/package.json @@ -1,6 +1,6 @@ { "name": "@eeacms/eionet2-user-management", - "version": "1.2.6", + "version": "1.2.7", "license": "MIT", "description": "Teams app for managing Eionet users.", "dependencies": { diff --git a/tabs/src/data/provider.js b/tabs/src/data/provider.js index 122daee..fc6974b 100644 --- a/tabs/src/data/provider.js +++ b/tabs/src/data/provider.js @@ -113,6 +113,11 @@ export async function inviteUser(user, mappings) { } else { userId = user.ADProfile.id; try { + //check MFA status only for existing + user.LastInvitationDate = new Date(); + const mfaResponse = await checkMFAStatus(user.ADProfile.displayName); + user.SignedIn = mfaResponse?.value?.length > 0 && mfaResponse.value[0].isMfaRegistered; + await saveADUser(userId, user); } catch (err) { return wrapError(err, messages.UserEdit.Errors.ADUser); @@ -120,10 +125,6 @@ export async function inviteUser(user, mappings) { sendMail = true; } - user.LastInvitationDate = new Date(); - const mfaResponse = await checkMFAStatus(buildUserDisplaName(user)); - user.SignedIn = mfaResponse?.value?.length > 0 && mfaResponse.value[0].isMfaRegistered; - if (userId) { try { //If NFP save to NFPs groups and Main EIONET group @@ -141,15 +142,6 @@ export async function inviteUser(user, mappings) { } catch (err) { return wrapError(err, messages.UserInvite.Errors.JoiningTeam); } - - if (user.SignedIn) { - try { - await addTag(config.MainEionetGroupId, constants.NFP_TAG, userId); - await addTag(config.MainEionetGroupId, getCountryName(user.Country), userId); - } catch (err) { - return wrapError(err, messages.UserInvite.Errors.TagsCreation); - } - } } const userMappings = mappings.filter( @@ -164,9 +156,6 @@ export async function inviteUser(user, mappings) { try { for (const groupId of userGroupIds.filter((id) => !existingGroups?.includes(id))) { await postUserGroup(groupId, userId); - - const groupMapping = userMappings.filter((m) => m.O365GroupId === groupId); - groupMapping[0]?.Tag && addTag(groupId, getCountryName(user.Country), userId); } } catch (err) { return wrapError(err, messages.UserInvite.Errors.JoiningTeam); @@ -175,9 +164,14 @@ export async function inviteUser(user, mappings) { if (user.SignedIn) { //apply membership tags try { + if (user.NFP) { + await addTag(config.MainEionetGroupId, constants.NFP_TAG, userId); + await addTag(config.MainEionetGroupId, getCountryName(user.Country), userId); + } const tags = [...new Set(userMappings.filter((m) => m.Tag))]; for (const m of tags) { addTag(m.O365GroupId, m.Tag, userId); + addTag(m.O365GroupId, getCountryName(user.Country), userId); } } catch (err) { return wrapError(err, messages.UserInvite.Errors.TagsCreation);