File manager - Edit - /usr/local/cpanel/whostmgr/docroot/templates/backup_configuration/services/backupConfigurationServices.min.js
Back
define(["angular","lodash","cjt/util/parse","cjt/io/whm-v1-request","cjt/io/whm-v1","cjt/services/APIService"],(function(angular,_,PARSE,APIREQUEST){"use strict";var NO_MODULE="";var app=angular.module("whm.backupConfiguration.backupConfigurationServices.service",[]);app.value("PAGE",PAGE);var BOOLEAN_PROPERTIES=["backup_daily_enable","backup_monthly_enable","backup_weekly_enable","backupaccts","backupbwdata","backupenable","backupfiles","backuplogs","backupmount","backupsuspendedaccts","check_min_free_space","force_prune_daily","force_prune_monthly","force_prune_weekly","keeplocal","linkdest","localzonesonly","postbackup","psqlbackup"];var NUMBER_PROPERTIES=["backup_daily_retention","backup_monthly_retention","backup_weekly_day","backup_weekly_retention","errorthreshhold","maximum_restore_timeout","maximum_timeout","min_free_space"];var NUM_STRING_PROPERTIES=["backup_monthly_dates","backupdays"];app.factory("backupConfigurationServices",["$q","APIService","PAGE",function($q,APIService,PAGE){var configService=this;configService.settings=null;configService.destinations=[];function parseConfigData(response){var data=response.data.backup_config;for(var i=0,len=BOOLEAN_PROPERTIES.length;i<len;i++){var boolProperty=BOOLEAN_PROPERTIES[i];data[boolProperty]=PARSE.parsePerlBoolean(data[boolProperty])}for(var j=0,len=NUMBER_PROPERTIES.length;j<len;j++){var numProperty=NUMBER_PROPERTIES[j];data[numProperty]=parseInt(data[numProperty],10)}for(var k=0,len=NUM_STRING_PROPERTIES.length;k<len;k++){var property=NUM_STRING_PROPERTIES[k];var numbers=data[property].split(",");data[property]={};numbers.forEach((function(number){data[property][number]=number}))}configService.settings=data;return configService.settings}function parseDestinations(response){var destinations=response.data;var parsedDestinations=[];destinations.forEach((function(destination){destination.disabled=PARSE.parsePerlBoolean(destination.disabled);destination.upload_system_backup=PARSE.parsePerlBoolean(destination.upload_system_backup);destination.only_used_for_logs=PARSE.parsePerlBoolean(destination.only_used_for_logs);parsedDestinations.push(destination)}));configService.destinations=parsedDestinations;return configService.destinations}function parseDestination(response){var destination=response.data;var type=destination.type.toLowerCase();var parsedDestination={};parsedDestination[type]={};destination.disabled=PARSE.parsePerlBoolean(destination.disabled);destination.upload_system_backup=PARSE.parsePerlBoolean(destination.upload_system_backup);destination.only_used_for_logs=PARSE.parsePerlBoolean(destination.only_used_for_logs);if(destination.timeout){destination.timeout=parseInt(destination.timeout,10)}if(destination.passive){destination.passive=PARSE.parsePerlBoolean(destination.passive)}if(destination.port){destination.port=parseInt(destination.port,10)}if(destination.mount){destination.mount=PARSE.parsePerlBoolean(destination.mount)}if(destination.ssl){destination.ssl=PARSE.parsePerlBoolean(destination.ssl)}for(var prop in destination){if(destination.hasOwnProperty(prop)){parsedDestination[type][prop]=destination[prop]}}return parsedDestination}function serializeDestination(data){var serializedDestination;for(var prop in data){if(data.hasOwnProperty(prop)){serializedDestination=data[prop]}}return serializedDestination}function serializeProperty(data){var propertyString="";for(var prop in data){if(data.hasOwnProperty(prop)){propertyString+=data[prop]+","}}return propertyString.substring(0,propertyString.length-1)}function buildDestinationAPICall(requestInfo){var serializedDestination=requestInfo.destination;var apiRequest=requestInfo.apiCall;apiRequest.addArgument("id",serializedDestination.id);apiRequest.addArgument("name",serializedDestination.name);apiRequest.addArgument("type",serializedDestination.type);apiRequest.addArgument("disabled",serializedDestination.disabled?1:0);apiRequest.addArgument("upload_system_backup",serializedDestination.upload_system_backup?1:0);apiRequest.addArgument("only_used_for_logs",serializedDestination.only_used_for_logs?1:0);if(serializedDestination.destination!=="Local"&&serializedDestination.timeout){apiRequest.addArgument("timeout",serializedDestination.timeout)}if((serializedDestination.type==="FTP"||serializedDestination.type==="SFTP"||serializedDestination.type==="Rsync"||serializedDestination.type==="WebDAV")&&serializedDestination.port){apiRequest.addArgument("port",serializedDestination.port)}if(serializedDestination.type==="Custom"){apiRequest.addArgument("script",serializedDestination.script);apiRequest.addArgument("host",serializedDestination.host);apiRequest.addArgument("path",serializedDestination.path);apiRequest.addArgument("username",serializedDestination.username);apiRequest.addArgument("password",serializedDestination.password)}if(serializedDestination.type==="FTP"){apiRequest.addArgument("host",serializedDestination.host);apiRequest.addArgument("path",serializedDestination.path);apiRequest.addArgument("passive",serializedDestination.passive?1:0);apiRequest.addArgument("username",serializedDestination.username);apiRequest.addArgument("password",serializedDestination.password)}if(serializedDestination.type==="GoogleDrive"){apiRequest.addArgument("client_id",serializedDestination.client_id);apiRequest.addArgument("client_secret",serializedDestination.client_secret);apiRequest.addArgument("folder",serializedDestination.folder)}if(serializedDestination.type==="Local"){apiRequest.addArgument("mount",serializedDestination.mount?1:0);apiRequest.addArgument("path",serializedDestination.path);apiRequest.addArgument("no_mount_fail",serializedDestination.no_mount_fail)}if(serializedDestination.type==="AmazonS3"||serializedDestination.type==="S3Compatible"){apiRequest.addArgument("folder",serializedDestination.folder);apiRequest.addArgument("bucket",serializedDestination.bucket);apiRequest.addArgument("aws_access_key_id",serializedDestination.aws_access_key_id);apiRequest.addArgument("password",serializedDestination.password);if(serializedDestination.type==="S3Compatible"){apiRequest.addArgument("host",serializedDestination.host)}}if(serializedDestination.type==="SFTP"){apiRequest.addArgument("host",serializedDestination.host);apiRequest.addArgument("path",serializedDestination.path);apiRequest.addArgument("username",serializedDestination.username);apiRequest.addArgument("authtype",serializedDestination.authtype);apiRequest.addArgument("password",serializedDestination.password);apiRequest.addArgument("privatekey",serializedDestination.privatekey);apiRequest.addArgument("passphrase",serializedDestination.passphrase)}if(serializedDestination.type==="Rsync"){apiRequest.addArgument("host",serializedDestination.host);apiRequest.addArgument("path",serializedDestination.path);apiRequest.addArgument("username",serializedDestination.username);apiRequest.addArgument("authtype",serializedDestination.authtype);apiRequest.addArgument("password",serializedDestination.password);apiRequest.addArgument("privatekey",serializedDestination.privatekey);apiRequest.addArgument("passphrase",serializedDestination.passphrase)}if(serializedDestination.type==="WebDAV"){apiRequest.addArgument("host",serializedDestination.host);apiRequest.addArgument("path",serializedDestination.path);apiRequest.addArgument("ssl",serializedDestination.ssl?1:0);apiRequest.addArgument("username",serializedDestination.username);apiRequest.addArgument("password",serializedDestination.password)}if(serializedDestination.type==="Backblaze"){apiRequest.addArgument("application_key",serializedDestination.application_key);apiRequest.addArgument("application_key_id",serializedDestination.application_key_id);apiRequest.addArgument("bucket_id",serializedDestination.bucket_id);apiRequest.addArgument("bucket_name",serializedDestination.bucket_name);apiRequest.addArgument("path",serializedDestination.path)}return apiRequest}var BackupConfigurationServices=function(){};BackupConfigurationServices.prototype=new APIService;angular.extend(BackupConfigurationServices.prototype,{_testHarness:function(utility,data){switch(utility){case"parseDestination":return parseDestination(data);case"parseDestinations":return parseDestinations(data);case"serializeProperty":return serializeProperty(data);case"parseConfigData":return parseConfigData(data);case"serializeDestination":return serializeDestination(data);case"buildDestinationAPICall":return buildDestinationAPICall(data);default:return null}},getBackupConfig:function(){if(configService.settings){return $q.resolve(configService.settings)}else{var apiRequest=new APIREQUEST.Class;apiRequest.initialize(NO_MODULE,"backup_config_get");var deferred=this.deferred(apiRequest,{transformAPISuccess:parseConfigData});return deferred.promise}},setBackupConfig:function(config){var apiRequest=new APIREQUEST.Class;apiRequest.initialize(NO_MODULE,"backup_config_set");apiRequest.addArgument("backup_daily_enable",config.backup_daily_enable?1:0);apiRequest.addArgument("backupenable",config.backupenable?1:0);apiRequest.addArgument("backup_monthly_enable",config.backup_monthly_enable?1:0);apiRequest.addArgument("backuptype",config.backuptype);apiRequest.addArgument("backup_daily_retention",config.backup_daily_retention);if(config.backup_daily_enable){apiRequest.addArgument("backupdays",serializeProperty(config.backupdays))}apiRequest.addArgument("backupfiles",config.backupfiles?1:0);apiRequest.addArgument("backupaccts",config.backupaccts?1:0);apiRequest.addArgument("keeplocal",config.keeplocal?1:0);apiRequest.addArgument("localzonesonly",config.localzonesonly?1:0);apiRequest.addArgument("backupbwdata",config.backupbwdata?1:0);apiRequest.addArgument("backuplogs",config.backuplogs?1:0);apiRequest.addArgument("backupsuspendedaccts",config.backupsuspendedaccts?1:0);apiRequest.addArgument("backupdir",config.backupdir);apiRequest.addArgument("remote_restore_staging_dir",config.remote_restore_staging_dir);apiRequest.addArgument("backupmount",config.backupmount?1:0);apiRequest.addArgument("mysqlbackup",config.mysqlbackup);apiRequest.addArgument("backup_monthly_retention",config.backup_monthly_retention);apiRequest.addArgument("check_min_free_space",config.check_min_free_space?1:0);apiRequest.addArgument("min_free_space",config.min_free_space);apiRequest.addArgument("min_free_space_unit",config.min_free_space_unit);apiRequest.addArgument("force_prune_daily",config.force_prune_daily?1:0);apiRequest.addArgument("force_prune_weekly",config.force_prune_weekly?1:0);apiRequest.addArgument("force_prune_monthly",config.force_prune_monthly?1:0);apiRequest.addArgument("maximum_timeout",config.maximum_timeout);apiRequest.addArgument("maximum_restore_timeout",config.maximum_restore_timeout);apiRequest.addArgument("backup_weekly_enable",config.backup_weekly_enable?1:0);apiRequest.addArgument("backup_weekly_day",config.backup_weekly_day);apiRequest.addArgument("backup_weekly_retention",config.backup_weekly_retention);if(config.backup_monthly_dates){apiRequest.addArgument("backup_monthly_dates",serializeProperty(config.backup_monthly_dates))}var deferred=this.deferred(apiRequest);return deferred.promise},getDestinationList:function(){if(configService.destinations.length>0){return $q.resolve(configService.destinations)}else{var apiRequest=new APIREQUEST.Class;apiRequest.initialize(NO_MODULE,"backup_destination_list");var deferred=this.deferred(apiRequest,{transformAPISuccess:parseDestinations});return deferred.promise}},validateDestination:function(id){var apiRequest=new APIREQUEST.Class;apiRequest.initialize(NO_MODULE,"backup_destination_validate");apiRequest.addArgument("id",id);apiRequest.addArgument("disableonfail",1);var deferred=this.deferred(apiRequest);return deferred.promise},deleteDestination:function(id){var apiRequest=new APIREQUEST.Class;apiRequest.initialize(NO_MODULE,"backup_destination_delete");apiRequest.addArgument("id",id);var deferred=this.deferred(apiRequest,{transformAPISuccess:function(response){if(configService.destinations.length>0){_.remove(configService.destinations,(function(cachedDest){return cachedDest.id===id}))}return response}});return deferred.promise},toggleStatus:function(id,disabled){var apiRequest=new APIREQUEST.Class;apiRequest.initialize(NO_MODULE,"backup_destination_set");apiRequest.addArgument("id",id);apiRequest.addArgument("disabled",disabled?1:0);var deferred=this.deferred(apiRequest);return deferred.promise},getDestination:function(id){var apiRequest=new APIREQUEST.Class;apiRequest.initialize(NO_MODULE,"backup_destination_get");apiRequest.addArgument("id",id);var deferred=this.deferred(apiRequest,{transformAPISuccess:parseDestination});return deferred.promise},updateCurrentDestination:function(destination){var serializedDestination=serializeDestination(destination);var apiRequest=new APIREQUEST.Class;apiRequest.initialize(NO_MODULE,"backup_destination_set");buildDestinationAPICall({destination:serializedDestination,apiCall:apiRequest});var deferred=this.deferred(apiRequest,{transformAPISuccess:function(response){var destinationTypeKey=Object.keys(destination)[0];var destinationProps=destination[destinationTypeKey];var cachedObject=_.find(configService.destinations,(function(dest){return dest.id===destinationProps.id}));if(cachedObject&&typeof destinationProps==="object"){for(var prop in destinationProps){if(destinationProps.hasOwnProperty(prop)){cachedObject[prop]=destinationProps[prop]}}}return response.data}});return deferred.promise},setNewDestination:function(destination){var serializedDestination=serializeDestination(destination);var apiRequest=new APIREQUEST.Class;apiRequest.initialize(NO_MODULE,"backup_destination_add");buildDestinationAPICall({destination:serializedDestination,apiCall:apiRequest});var deferred=this.deferred(apiRequest,{transformAPISuccess:function(response){var newDestination=_.assign({},destination[Object.keys(destination)[0]],response.data);configService.destinations.push(newDestination);return response.data}});return deferred.promise},generateGoogleCredentials:function(clientId,clientSecret){var apiRequest=new APIREQUEST.Class;apiRequest.initialize(NO_MODULE,"backup_generate_google_oauth_uri");apiRequest.addArgument("client_id",clientId);apiRequest.addArgument("client_secret",clientSecret);var deferred=this.deferred(apiRequest,{transformAPISuccess:function(response){return response.data}});return deferred.promise},checkForGoogleCredentials:function(clientId){var apiRequest=new APIREQUEST.Class;apiRequest.initialize(NO_MODULE,"backup_does_client_id_have_google_credentials");apiRequest.addArgument("client_id",clientId);var deferred=this.deferred(apiRequest,{transformAPISuccess:function(response){if(response.data.exists){return true}else{return false}}});return deferred.promise},generateSSHKeyPair:function(keyConfig,username){var apiRequest=new APIREQUEST.Class;apiRequest.initialize(NO_MODULE,"generatesshkeypair");apiRequest.addArgument("user",username);apiRequest.addArgument("passphrase",keyConfig.passphrase);apiRequest.addArgument("name",keyConfig.name);apiRequest.addArgument("bits",keyConfig.bits);apiRequest.addArgument("algorithm",keyConfig.algorithm==="RSA"?"rsa2":"dsa");apiRequest.addArgument("abort_on_existing_key",1);apiRequest.addArgument("comment",keyConfig.comment?keyConfig.comment:"");var deferred=this.deferred(apiRequest);return deferred.promise},listSSHKeys:function(){var apiRequest=new APIREQUEST.Class;apiRequest.initialize(NO_MODULE,"listsshkeys");apiRequest.addArgument("user","root");apiRequest.addArgument("private",1);apiRequest.addArgument("public",0);var deferred=this.deferred(apiRequest,{transformAPISuccess:function(response){var names=[];response.data.forEach((function(key){names.push(key.file)}));return names}});return deferred.promise}});return new BackupConfigurationServices}])}));
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.03 |
proxy
|
phpinfo
|
Settings