@@ -20,6 +20,15 @@ async function processMessage (message) {
20
20
21
21
// Get the member Onboarding Checklist traits
22
22
const onboardingChecklistTraits = await helper . getMemberTraits ( handle , constants . ONBOARDING_CHECKLIST_TRAIT_ID )
23
+
24
+ // construct the request body for saving the member traits
25
+ const body = [ {
26
+ categoryName : constants . ONBOARDING_CHECKLIST_CATEGORY_NAME ,
27
+ traitId : constants . ONBOARDING_CHECKLIST_TRAIT_ID ,
28
+ traits : {
29
+ data : [ ]
30
+ }
31
+ } ]
23
32
24
33
// Initialize the terms traits data object
25
34
const termsTraitsData = {
@@ -30,23 +39,20 @@ async function processMessage (message) {
30
39
31
40
const traitsBodyPropertyName = _ . findKey ( constants . TAX_FORM_TRAIT_PROPERTY_NAME_MAP , v => _ . startsWith ( taxForm , v ) ) || constants . TAX_FORM_TRAIT_PROPERTY_NAME
32
41
if ( onboardingChecklistTraits . length === 0 ) {
33
- const body = [ {
34
- categoryName : constants . ONBOARDING_CHECKLIST_CATEGORY_NAME ,
35
- traitId : constants . ONBOARDING_CHECKLIST_TRAIT_ID ,
36
- traits : {
37
- data : [ {
38
- [ traitsBodyPropertyName ] : termsTraitsData
39
- } ]
40
- }
41
- } ]
42
+ body [ 0 ] . traits . data . push ( {
43
+ [ traitsBodyPropertyName ] : termsTraitsData
44
+ } )
42
45
await helper . saveMemberTraits ( handle , body , true )
43
46
} else {
44
47
// Onboarding checklist traits already exists for the member
45
48
// An update of the trait should be performed
46
49
47
50
// Update the currently processed terms property in the request body
48
- onboardingChecklistTraits [ 0 ] . traits . data [ 0 ] [ traitsBodyPropertyName ] = termsTraitsData
49
- await helper . saveMemberTraits ( handle , onboardingChecklistTraits , false )
51
+ body [ 0 ] . traits . data [ 0 ] = _ . cloneDeep ( onboardingChecklistTraits [ 0 ] . traits . data [ 0 ] )
52
+
53
+ // Update the currently processed terms property in the request body
54
+ body [ 0 ] . traits . data [ 0 ] [ traitsBodyPropertyName ] = termsTraitsData
55
+ await helper . saveMemberTraits ( handle , body , false )
50
56
}
51
57
52
58
logger . info ( `Successfully Processed message of taxForm ${ taxForm } , userId ${ message . payload . userId } , handle ${ handle } ` )
0 commit comments