Name
global.PrivacyValidator
Description
No description available
Script
var PrivacyValidator = Class.create();
PrivacyValidator.prototype = Object.extendsObject(AbstractAjaxProcessor, {
/**
* Validate technique parameter values for a parameterized technique
*/
validateParameterValues: function() {
var techniqueParams = this.getParameter('sysparm_techniqueParams');
var value = this.getParameter('sysparm_value');
return this.validateParameterValuesUtil(techniqueParams, value);
},
validateParameterValuesUtil: function(techniqueParams, value) {
var validatorApi = new SNC.DataProtectionValidator();
var result = validatorApi.validateParameterValues(techniqueParams, value);
return result;
},
/**
* Validate a policy
*/
validatePolicy: function() {
var policyId = this.getParameter('sysparm_policyId');
var validatorApi = new SNC.DataProtectionValidator();
return this.validatePolicyUtil(policyId, validatorApi);
},
validatePolicyUtil: function(policyId, validatorApi) {
var result = validatorApi.validatePolicy(policyId);
result = JSON.stringify(result);
return result;
},
/**
* Validate a job
*/
validateJob: function() {
var jobId = this.getParameter('sysparm_jobId');
return this.validateJobUtil(jobId);
},
validateJobUtil: function(jobId) {
var validatorApi = new SNC.DataProtectionValidator();
var result = validatorApi.validateJob(jobId);
return result;
},
isValidJob: function(jobId) {
var validatorApi = new SNC.DataProtectionValidator();
var result = validatorApi.validateJob(jobId);
return result === '';
},
/**
* Test if job can be scheduled or restarted
*/
jobCanRun: function(action, jobId) {
var jobRecord = new GlideRecord('dp_job');
jobRecord.addQuery('sys_id', jobId);
jobRecord.query();
jobRecord.next();
var state = jobRecord.getValue('state');
if (action === 'schedule') {
if (state !== 'new' || !jobRecord.canWrite())
return false;
} else if (action === 'restart') {
return false;
}
return this.isValidJob(jobId);
},
type: 'PrivacyValidator'
});
Sys ID
520f633aebb230101c396f16c552285b