@@ -343,31 +343,34 @@ module.exports = class MemberRepository {
343343
344344 const memberAddOptions = { ...( options || { } ) , withRelated} ;
345345 let member ;
346- const freeWelcomeEmail = this . _AutomatedEmail ? await this . _AutomatedEmail . findOne ( { slug : MEMBER_WELCOME_EMAIL_SLUGS . free } ) : null ;
347- const isFreeWelcomeEmailActive = freeWelcomeEmail && freeWelcomeEmail . get ( 'lexical' ) && freeWelcomeEmail . get ( 'status' ) === 'active' ;
348346
349- if ( config . get ( 'memberWelcomeEmailTestInbox' ) && WELCOME_EMAIL_SOURCES . includes ( source ) && isFreeWelcomeEmailActive ) {
347+ if ( config . get ( 'memberWelcomeEmailTestInbox' ) && WELCOME_EMAIL_SOURCES . includes ( source ) ) {
348+ const freeWelcomeEmail = this . _AutomatedEmail ? await this . _AutomatedEmail . findOne ( { slug : MEMBER_WELCOME_EMAIL_SLUGS . free } ) : null ;
349+ const isFreeWelcomeEmailActive = freeWelcomeEmail && freeWelcomeEmail . get ( 'lexical' ) && freeWelcomeEmail . get ( 'status' ) === 'active' ;
350+
350351 const runMemberCreation = async ( transacting ) => {
351352 const newMember = await this . _Member . add ( {
352353 ...memberData ,
353354 ...memberStatusData ,
354355 labels
355356 } , { ...memberAddOptions , transacting} ) ;
356-
357- const timestamp = eventData . created_at || newMember . get ( 'created_at' ) ;
358-
359- await this . _Outbox . add ( {
360- id : ObjectId ( ) . toHexString ( ) ,
361- event_type : MemberCreatedEvent . name ,
362- payload : JSON . stringify ( {
363- memberId : newMember . id ,
364- email : newMember . get ( 'email' ) ,
365- name : newMember . get ( 'name' ) ,
366- source,
367- timestamp
368- } )
369- } , { transacting} ) ;
370-
357+
358+ if ( isFreeWelcomeEmailActive ) {
359+ const timestamp = eventData . created_at || newMember . get ( 'created_at' ) ;
360+
361+ await this . _Outbox . add ( {
362+ id : ObjectId ( ) . toHexString ( ) ,
363+ event_type : MemberCreatedEvent . name ,
364+ payload : JSON . stringify ( {
365+ memberId : newMember . id ,
366+ email : newMember . get ( 'email' ) ,
367+ name : newMember . get ( 'name' ) ,
368+ source,
369+ timestamp
370+ } )
371+ } , { transacting} ) ;
372+ }
373+
371374 return newMember ;
372375 } ;
373376
@@ -377,7 +380,9 @@ module.exports = class MemberRepository {
377380 member = await this . _Member . transaction ( runMemberCreation ) ;
378381 }
379382
380- this . dispatchEvent ( StartOutboxProcessingEvent . create ( { memberId : member . id } ) , memberAddOptions ) ;
383+ if ( isFreeWelcomeEmailActive ) {
384+ this . dispatchEvent ( StartOutboxProcessingEvent . create ( { memberId : member . id } ) , memberAddOptions ) ;
385+ }
381386 } else {
382387 member = await this . _Member . add ( {
383388 ...memberData ,
0 commit comments