Name

global.PwdSMSEnrollmentCheck

Description

Script that checks whether a user is enrolled in a specified verification. Returns boolean telling whether the user is enrolled.

Script

gs.include('PwdNotificationHelper');

var PwdSMSEnrollmentCheck = Class.create();
PwdSMSEnrollmentCheck.prototype = {
category: 'password_reset.extension.enrollment_check',    // DO NOT REMOVE THIS LINE!

  LOG_ID : '[PwdSMSEnrollmentCheck] ',
  PWD_MESSAGE : '7cd0c421bf200100710071a7bf0739bd',  // from sysevent_email_action    
  initialize: function() {
      this.helper = new PwdNotificationHelper();
  },  
  
/**********
 * Returns boolean telling whether the user is enrolled.
 * 
 * @param params.enrolledUserId The sys-id of the user being checked (table: sys_user)
 * @param params.verificationId The sys-id of the verification being checked (table: pwd_verification)
 * @return boolean telling whether the user is enrolled into the specified verification
 **********/
process: function(params) {
  return this.isEnrolled(params.verificationId, params.enrolledUserId);
},


  // the interface to outside world
  // does the user have enough info to be considered enrolled or not.
  isEnrolled: function(verificationId, userId) {      
      // if there is at least one device subscribed to pwd_message,
      // or there is a mobile number in the system, enrollment is good.
      
      if (this.helper.isUserSubscribed(userId)) {
          return true;
      }
      // check if a mobile number exists in the system and the Automatic enrollment is checked
      if ((this.helper.getMobileFromProfile(userId) != null) && this.helper.isAutoEnrol(verificationId)) {
          return true;
      }
      return false;
  },  
  // simple log
  _log: function(msg){
      gs.log(this.LOG_ID + ' ' + msg);
  },

type: 'PwdSMSEnrollmentCheck'
};

Sys ID

b3dfe4c6eb5101006a668c505206fe0b

Offical Documentation

Official Docs: