From 2264f246931ebbfb5dd53e4656b438c2d873e5b6 Mon Sep 17 00:00:00 2001 From: phead198708 <85940583+phead198708@users.noreply.github.com> Date: Tue, 3 Aug 2021 13:59:33 +0800 Subject: [PATCH 1/2] Update constants.js --- src/common/constants.js | 42 ----------------------------------------- 1 file changed, 42 deletions(-) diff --git a/src/common/constants.js b/src/common/constants.js index d4adfb4..826c41c 100644 --- a/src/common/constants.js +++ b/src/common/constants.js @@ -85,48 +85,6 @@ const topResources = { targetField: 'skillprovider', maxMatches: '1' } - }, - user: { - index: config.get('ES.USER_INDEX'), - type: config.get('ES.USER_TYPE'), - ingest: { - pipeline: { - id: config.get('ES.ENRICHMENT.user.pipelineId') - } - }, - pipeline: { - id: config.get('ES.ENRICHMENT.user.pipelineId'), - processors: [ - { - referenceField: config.get('ES.ENRICHMENT.achievement.userField'), - enrichPolicyName: config.get('ES.ENRICHMENT.achievementprovider.enrichPolicyName'), - field: '_ingest._value.achievementsProviderId', - targetField: '_ingest._value.achievementprovider', - maxMatches: '1' - }, - { - referenceField: config.get('ES.ENRICHMENT.userattribute.userField'), - enrichPolicyName: config.get('ES.ENRICHMENT.attribute.enrichPolicyName'), - field: '_ingest._value.attributeId', - targetField: '_ingest._value.attribute', - maxMatches: '1' - }, - { - referenceField: config.get('ES.ENRICHMENT.userrole.userField'), - enrichPolicyName: config.get('ES.ENRICHMENT.role.enrichPolicyName'), - field: '_ingest._value.roleId', - targetField: '_ingest._value.role', - maxMatches: '1' - }, - { - referenceField: config.get('ES.ENRICHMENT.userskill.userField'), - enrichPolicyName: config.get('ES.ENRICHMENT.skill.enrichPolicyName'), - field: '_ingest._value.skillId', - targetField: '_ingest._value.skill', - maxMatches: '1' - } - ] - } } } From cfb1e4e541406b700adad2bbf3400abdd5459001 Mon Sep 17 00:00:00 2001 From: phead198708 <85940583+phead198708@users.noreply.github.com> Date: Tue, 3 Aug 2021 15:43:54 +0800 Subject: [PATCH 2/2] update top resource set for create/update users. --- src/common/constants.js | 42 ++++++++++++++++++++++++++++++++ src/services/ProcessorService.js | 10 +++++--- 2 files changed, 48 insertions(+), 4 deletions(-) diff --git a/src/common/constants.js b/src/common/constants.js index 826c41c..d4adfb4 100644 --- a/src/common/constants.js +++ b/src/common/constants.js @@ -85,6 +85,48 @@ const topResources = { targetField: 'skillprovider', maxMatches: '1' } + }, + user: { + index: config.get('ES.USER_INDEX'), + type: config.get('ES.USER_TYPE'), + ingest: { + pipeline: { + id: config.get('ES.ENRICHMENT.user.pipelineId') + } + }, + pipeline: { + id: config.get('ES.ENRICHMENT.user.pipelineId'), + processors: [ + { + referenceField: config.get('ES.ENRICHMENT.achievement.userField'), + enrichPolicyName: config.get('ES.ENRICHMENT.achievementprovider.enrichPolicyName'), + field: '_ingest._value.achievementsProviderId', + targetField: '_ingest._value.achievementprovider', + maxMatches: '1' + }, + { + referenceField: config.get('ES.ENRICHMENT.userattribute.userField'), + enrichPolicyName: config.get('ES.ENRICHMENT.attribute.enrichPolicyName'), + field: '_ingest._value.attributeId', + targetField: '_ingest._value.attribute', + maxMatches: '1' + }, + { + referenceField: config.get('ES.ENRICHMENT.userrole.userField'), + enrichPolicyName: config.get('ES.ENRICHMENT.role.enrichPolicyName'), + field: '_ingest._value.roleId', + targetField: '_ingest._value.role', + maxMatches: '1' + }, + { + referenceField: config.get('ES.ENRICHMENT.userskill.userField'), + enrichPolicyName: config.get('ES.ENRICHMENT.skill.enrichPolicyName'), + field: '_ingest._value.skillId', + targetField: '_ingest._value.skill', + maxMatches: '1' + } + ] + } } } diff --git a/src/services/ProcessorService.js b/src/services/ProcessorService.js index d5a5f21..d6b9b2a 100644 --- a/src/services/ProcessorService.js +++ b/src/services/ProcessorService.js @@ -20,7 +20,8 @@ const config = require('config') */ async function processCreate (message, transactionId) { const resource = message.payload.resource - if (_.includes(_.keys(topResources), resource)) { + const fixedTopResources = _.filter(_.keys(topResources), (key) => key !== 'user') + if (_.includes(_.keys(fixedTopResources), resource)) { // process the top resources such as user, skill... helper.validProperties(message.payload, ['id']) const client = await helper.getESClient() @@ -82,7 +83,7 @@ async function processCreate (message, transactionId) { await helper.updateOrg(message.payload.organizationId, org, seqNo, primaryTerm, transactionId) } } else { - logger.info(`Ignore this message since resource is not in [${_.union(_.keys(topResources), _.keys(userResources), _.keys(organizationResources))}]`) + logger.info(`Ignore this message since resource is not in [${_.union(_.keys(fixedTopResources), _.keys(userResources), _.keys(organizationResources))}]`) } } @@ -107,7 +108,8 @@ processCreate.schema = { */ async function processUpdate (message, transactionId) { const resource = message.payload.resource - if (_.includes(_.keys(topResources), resource)) { + const fixedTopResources = _.filter(_.keys(topResources), (key) => key !== 'user') + if (_.includes(fixedTopResources, resource)) { logger.info(`Processing top level resource: ${resource}`) // process the top resources such as user, skill... helper.validProperties(message.payload, ['id']) @@ -171,7 +173,7 @@ async function processUpdate (message, transactionId) { await helper.updateOrg(message.payload.organizationId, org, seqNo, primaryTerm, transactionId) } } else { - logger.info(`Ignore this message since resource is not in [${_.union(_.keys(topResources), _.keys(userResources), _.keys(organizationResources))}]`) + logger.info(`Ignore this message since resource is not in [${_.union(_.keys(fixedTopResources), _.keys(userResources), _.keys(organizationResources))}]`) } }