Merge pull request #1448 from chaotixkilla/fix-undefined-custom-info-graphql-poller

Loosen TriggerAutomation typing to allow for dynamic keying
This commit is contained in:
Rafael Taranto 2022-11-22 09:57:27 +00:00 committed by GitHub
commit 47b915db64
3 changed files with 26 additions and 6 deletions

View file

@ -1,4 +1,5 @@
const _ = require('lodash/fp')
const { validate } = require('uuid')
const namespaces = {
ADVANCED: 'advanced',
@ -117,10 +118,12 @@ const getGlobalNotifications = config => getNotifications(null, null, config)
const getTriggers = _.get('triggers')
/* `customInfoRequests` is the result of a call to `getCustomInfoRequests` */
const getTriggersAutomation = (customInfoRequests, config) => {
const getTriggersAutomation = (customInfoRequests, config, oldFormat = false) => {
return customInfoRequests
.then(infoRequests => {
const defaultAutomation = _.get('triggersConfig_automation')(config)
const overrides = _.get('triggersConfig_overrides')(config)
const requirements = {
sanctions: defaultAutomation,
idCardPhoto: defaultAutomation,
@ -129,14 +132,25 @@ const getTriggersAutomation = (customInfoRequests, config) => {
usSsn: defaultAutomation
}
if (oldFormat) {
_.forEach(it => { requirements[it.id] = defaultAutomation }, infoRequests)
const oldRequirementsOverrides = _.reduce((acc, override) => _.assign(acc, { [override.requirement]: override.automation }), {}, overrides)
return _.assign(requirements, oldRequirementsOverrides)
}
requirements.custom = []
_.forEach(it => {
requirements[it.id] = defaultAutomation
requirements.custom.push({ id: it.id, type: defaultAutomation })
}, infoRequests)
const overrides = _.get('triggersConfig_overrides')(config)
const requirementsOverrides = _.reduce((acc, override) => {
return _.assign(acc, { [override.requirement]: override.automation })
return _.assign(
acc,
!validate(override.requirement)
? { [override.requirement]: override.automation }
: { custom: [...acc.custom ?? [], { id: override.requirement, type: override.automation }] }
)
}, {}, overrides)
return _.assign(requirements, requirementsOverrides)