UNPKG

unserver-unify

Version:

86 lines 2.89 kB
angular.module('bamboo.common').service('pwdService', function($uibModal, $localStorage, $q, schoolModel) { //strong pwd //Minimum 8 characters at least 1 Uppercase Alphabet, 1 Lowercase Alphabet, 1 Number and 1 Special Character //var strongValidateRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}$/; //var strongValidateRegex = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/; var strongValidateRegex = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[$&+,:;=?@#|'`~<>.^*()%!-]).{8,}$/; //mid level pwd //Minimum 8 characters at least 1 Alphabet and 1 Number var midValidateRegex = /^(?=.*[A-Za-z])(?=.*\d).{8,}$/; //weak pwd //Minimum 8 characters var weakValidateRegex = /^.{6,}$/; var resetPwdOpts = { size: "md-lg vertical-align-center", animation: true, backdrop: 'static', component: 'resetPwdComponent', keyboard: false, resolve: { reason: function() { return $localStorage.FORCE_RESET_PWD_REASON; } } } var renewMemberOpts = { size: "md-lg vertical-align-center", animation: true, backdrop: 'static', component: 'memberRenewComponent', keyboard: false, } this.getValidateRegex = function() { var deferred = $q.defer(); var promise = deferred.promise; schoolModel.getSchool().then(function(school) { console.log(school.passwordScheme); var passwordScheme = school.passwordScheme; passwordScheme = passwordScheme || 'default'; switch (passwordScheme) { case 'Strong': deferred.resolve(strongValidateRegex); break; case 'middle': deferred.resolve(midValidateRegex); break; case 'default': deferred.resolve(weakValidateRegex); break; default: deferred.resolve(weakValidateRegex); break; } }); return promise; } this.getValidateRule = function() { var deferred = $q.defer(); var promise = deferred.promise; schoolModel.getSchool().then(function(school) { console.log(school.passwordScheme); var passwordScheme = school.passwordScheme; passwordScheme = passwordScheme || 'default'; switch (passwordScheme) { case 'Strong': deferred.resolve('strongValidateRule'); break; case 'middle': deferred.resolve('midValidateRule'); break; case 'default': deferred.resolve('weakValidateRule'); break; default: deferred.resolve('weakValidateRule'); break; } }); return promise; }; this.alertResetPwdDlg = function() { $uibModal.open(resetPwdOpts); } this.renewMemberDlg = function() { $uibModal.open(renewMemberOpts); } });