@@ -115,47 +115,45 @@ function getImpressionEventParams(configObj, experimentId, variationId) {
115115 * @param {Object } logger Logger object
116116 * @return {Object } Conversion event params
117117 */
118- function getConversionEventParams ( configObj , eventKey , eventTags , experimentsToVariationMap , logger ) {
119-
120- var conversionEventParams = [ ] ;
118+ function getVisitorSnapshot ( configObj , eventKey , eventTags , experimentsToVariationMap , logger ) {
119+ var snapshot = {
120+ decisions : [ ] ,
121+ events : [ ]
122+ } ;
121123
122124 fns . forOwn ( experimentsToVariationMap , function ( variationId , experimentId ) {
123-
124125 var decision = {
125- decisions : [ {
126- campaign_id : projectConfig . getLayerId ( configObj , experimentId ) ,
127- experiment_id : experimentId ,
128- variation_id : variationId ,
129- } ] ,
130- events : [ ] ,
126+ campaign_id : projectConfig . getLayerId ( configObj , experimentId ) ,
127+ experiment_id : experimentId ,
128+ variation_id : variationId ,
131129 } ;
132130
133- var eventDict = {
134- entity_id : projectConfig . getEventId ( configObj , eventKey ) ,
135- timestamp : fns . currentTimestamp ( ) ,
136- uuid : fns . uuid ( ) ,
137- key : eventKey ,
138- } ;
131+ snapshot . decisions . push ( decision ) ;
132+ } ) ;
139133
140- if ( eventTags ) {
141- var revenue = eventTagUtils . getRevenueValue ( eventTags , logger ) ;
142- if ( revenue ) {
143- eventDict [ enums . RESERVED_EVENT_KEYWORDS . REVENUE ] = revenue ;
144- }
134+ var eventDict = {
135+ entity_id : projectConfig . getEventId ( configObj , eventKey ) ,
136+ timestamp : fns . currentTimestamp ( ) ,
137+ uuid : fns . uuid ( ) ,
138+ key : eventKey ,
139+ } ;
145140
146- var eventValue = eventTagUtils . getEventValue ( eventTags , logger ) ;
147- if ( eventValue ) {
148- eventDict [ enums . RESERVED_EVENT_KEYWORDS . VALUE ] = eventValue ;
149- }
141+ if ( eventTags ) {
142+ var revenue = eventTagUtils . getRevenueValue ( eventTags , logger ) ;
143+ if ( revenue ) {
144+ eventDict [ enums . RESERVED_EVENT_KEYWORDS . REVENUE ] = revenue ;
145+ }
150146
151- eventDict [ 'tags' ] = eventTags ;
147+ var eventValue = eventTagUtils . getEventValue ( eventTags , logger ) ;
148+ if ( eventValue ) {
149+ eventDict [ enums . RESERVED_EVENT_KEYWORDS . VALUE ] = eventValue ;
152150 }
153- decision . events = [ eventDict ] ;
154151
155- conversionEventParams . push ( decision ) ;
156- } ) ;
152+ eventDict [ 'tags' ] = eventTags ;
153+ }
154+ snapshot . events . push ( eventDict ) ;
157155
158- return conversionEventParams ;
156+ return snapshot ;
159157}
160158
161159module . exports = {
@@ -210,13 +208,13 @@ module.exports = {
210208 var commonParams = getCommonEventParams ( options ) ;
211209 conversionEvent . url = ENDPOINT ;
212210
213- var conversionEventParams = getConversionEventParams ( options . configObj ,
214- options . eventKey ,
215- options . eventTags ,
216- options . experimentsToVariationMap ,
217- options . logger ) ;
211+ var snapshot = getVisitorSnapshot ( options . configObj ,
212+ options . eventKey ,
213+ options . eventTags ,
214+ options . experimentsToVariationMap ,
215+ options . logger ) ;
218216
219- commonParams . visitors [ 0 ] . snapshots = conversionEventParams ;
217+ commonParams . visitors [ 0 ] . snapshots = [ snapshot ] ;
220218 conversionEvent . params = commonParams ;
221219
222220 return conversionEvent ;
0 commit comments