Viewing File: /usr/local/cpanel/whostmgr/docroot/templates/tls_wizard_redirect/services/indexService.js
/*
# templates/tls_wizard_redirect/services/indexService.js
# Copyright(c) 2020 cPanel, L.L.C.
# All rights reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
*/
/* global define: false */
/* jshint -W100 */
define(
[
"angular",
"cjt/io/api",
"cjt/util/query", // XXX FIXME remove when batch is in
"cjt/io/whm-v1-request",
"cjt/io/whm-v1", // IMPORTANT: Load the driver so its ready
],
function(angular, API, QUERY, APIREQUEST) {
var app = angular.module("App");
var NO_MODULE = "";
function indexServiceFactory($q, PAGE) {
var indexService = {};
indexService.get_domains = function() {
return PAGE.data.domains;
};
indexService.get_enabled_provider_count = function() {
return PAGE.data.enabled_provider_count;
};
indexService.get_default_theme = function() {
return PAGE.data.default_theme;
};
indexService.check_account_has_feature = function(username, feature) {
var deferred = $q.defer();
var apiCall = new APIREQUEST.Class();
apiCall.initialize(NO_MODULE, "verify_user_has_feature");
apiCall.addArgument("user", username);
apiCall.addArgument("feature", feature);
API.promise(apiCall.getRunArguments())
.done(function(response) {
response = response.parsedResponse;
if (response.status) {
deferred.resolve(response);
} else {
deferred.reject(response.error);
}
});
return deferred.promise;
};
indexService.check_user_has_features = function(user, features) {
var deferred = $q.defer();
var apiCall = new APIREQUEST.Class();
apiCall.initialize(NO_MODULE, "batch");
var calls = {};
features.forEach( function(p, i) {
calls["command-" + i] = {
feature: p,
};
} );
for (var query_key in calls) {
if ( calls.hasOwnProperty(query_key) ) {
calls[query_key].user = user;
var this_call_query = QUERY.make_query_string( calls[query_key] );
apiCall.addArgument(query_key, "verify_user_has_feature?" + this_call_query);
}
}
API.promise(apiCall.getRunArguments())
.done(function(response) {
response = response.parsedResponse;
if (response.status) {
deferred.resolve(response);
} else {
deferred.reject(response.error);
}
});
return deferred.promise;
};
indexService.force_enable_features_for_user = function(user, features) {
var deferred = $q.defer();
var apiCall = new APIREQUEST.Class();
apiCall.initialize(NO_MODULE, "add_override_features_for_user");
apiCall.addArgument("user", user);
apiCall.addArgument("features", JSON.stringify(features));
API.promise(apiCall.getRunArguments())
.done(function(response) {
response = response.parsedResponse;
if (response.status) {
deferred.resolve(response);
} else {
deferred.reject(response.error);
}
});
return deferred.promise;
};
indexService.create_user_session = function(user) {
var deferred = $q.defer();
var apiCall = new APIREQUEST.Class();
apiCall.initialize(NO_MODULE, "create_user_session");
apiCall.addArgument("user", user);
apiCall.addArgument("service", "cpaneld");
apiCall.addArgument("app", "SSL_TLS_Wizard");
API.promise(apiCall.getRunArguments())
.done(function(response) {
response = response.parsedResponse;
if (response.status) {
deferred.resolve(response);
} else {
deferred.reject(response.error);
}
});
return deferred.promise;
};
indexService.enable_cpstore_provider = function() {
var deferred = $q.defer();
var apiCall = new APIREQUEST.Class();
apiCall.initialize(NO_MODULE, "enable_market_provider");
apiCall.addArgument("name", "cPStore");
API.promise(apiCall.getRunArguments())
.done(function(response) {
response = response.parsedResponse;
if (response.status) {
deferred.resolve(response);
} else {
deferred.reject(response.error);
}
});
return deferred.promise;
};
indexService.set_user_theme_to_default_theme = function(user) {
var deferred = $q.defer();
var apiCall = new APIREQUEST.Class();
var defaultTheme = PAGE.data.default_theme;
apiCall.initialize(NO_MODULE, "modifyacct");
apiCall.addArgument("user", user);
apiCall.addArgument("RS", defaultTheme);
API.promise(apiCall.getRunArguments())
.done(function(response) {
response = response.parsedResponse;
if (response.status) {
deferred.resolve(response);
} else {
deferred.reject(response.error);
}
});
return deferred.promise;
};
indexService.set_user_style_to_retro = function(user) {
var deferred = $q.defer();
var apiCall = new APIREQUEST.Class();
apiCall.initialize(NO_MODULE, "cpanel");
apiCall.addArgument("user", user);
apiCall.addArgument("cpanel_jsonapi_apiversion", "3");
apiCall.addArgument("cpanel_jsonapi_module", "Styles");
apiCall.addArgument("cpanel_jsonapi_func", "update");
apiCall.addArgument("name", "retro");
apiCall.addArgument("type", "default");
API.promise(apiCall.getRunArguments())
.done(function(response) {
response = response.parsedResponse;
if (response.status) {
deferred.resolve(response);
} else {
deferred.reject(response.error);
}
});
return deferred.promise;
};
indexService.get_user_account_info = function(user) {
var deferred = $q.defer();
var apiCall = new APIREQUEST.Class();
apiCall.initialize(NO_MODULE, "accountsummary");
apiCall.addArgument("user", user);
API.promise(apiCall.getRunArguments())
.done(function(response) {
response = response.parsedResponse;
if (response.status) {
deferred.resolve(response);
} else {
deferred.reject(response.error);
}
});
return deferred.promise;
};
return indexService;
}
indexServiceFactory.$inject = ["$q", "PAGE"];
return app.factory("indexService", indexServiceFactory);
});
Back to Directory
File Manager