@@ -595,6 +595,49 @@ var constructor = function () {
595595 function onUserIdentified ( filteredUser ) {
596596 self . filters . filteredUser = filteredUser ;
597597 self . userAttributes = filteredUser . getAllUserAttributes ( ) ;
598+ _sendEventStream ( _buildIdentityEvent ( 'identify' , filteredUser ) ) ;
599+ }
600+
601+ function _buildIdentityEvent ( eventName , filteredUser ) {
602+ var mpid =
603+ filteredUser . getMPID && typeof filteredUser . getMPID === 'function'
604+ ? filteredUser . getMPID ( )
605+ : null ;
606+ var sessionId =
607+ window . mParticle &&
608+ window . mParticle . sessionManager &&
609+ typeof window . mParticle . sessionManager . getSession === 'function'
610+ ? window . mParticle . sessionManager . getSession ( )
611+ : null ;
612+ var userIdentities =
613+ filteredUser . getUserIdentities &&
614+ typeof filteredUser . getUserIdentities === 'function'
615+ ? filteredUser . getUserIdentities ( ) . userIdentities
616+ : null ;
617+
618+ return {
619+ EventName : eventName ,
620+ EventDataType : 14 , // MessageType.Profile
621+ Timestamp : Date . now ( ) ,
622+ MPID : mpid ,
623+ SessionId : sessionId ,
624+ UserIdentities : userIdentities ,
625+ } ;
626+ }
627+
628+ function onLoginComplete ( filteredUser ) {
629+ self . userAttributes = filteredUser . getAllUserAttributes ( ) ;
630+ _sendEventStream ( _buildIdentityEvent ( 'login' , filteredUser ) ) ;
631+ }
632+
633+ function onLogoutComplete ( filteredUser ) {
634+ self . userAttributes = filteredUser . getAllUserAttributes ( ) ;
635+ _sendEventStream ( _buildIdentityEvent ( 'logout' , filteredUser ) ) ;
636+ }
637+
638+ function onModifyComplete ( filteredUser ) {
639+ self . userAttributes = filteredUser . getAllUserAttributes ( ) ;
640+ _sendEventStream ( _buildIdentityEvent ( 'modify_user' , filteredUser ) ) ;
598641 }
599642
600643 function setUserAttribute ( key , value ) {
@@ -713,6 +756,9 @@ var constructor = function () {
713756 this . setExtensionData = setExtensionData ;
714757 this . setUserAttribute = setUserAttribute ;
715758 this . onUserIdentified = onUserIdentified ;
759+ this . onLoginComplete = onLoginComplete ;
760+ this . onLogoutComplete = onLogoutComplete ;
761+ this . onModifyComplete = onModifyComplete ;
716762 this . removeUserAttribute = removeUserAttribute ;
717763
718764 /**
0 commit comments