unserver-unify
Version:
86 lines • 2.89 kB
JavaScript
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);
}
});