Viewing File: /usr/local/cpanel/base/frontend/jupiter/passenger/services/apps.min.js
define(["angular","jquery","lodash","cjt/util/locale","cjt/util/parse","cjt/io/api","cjt/io/uapi-request","cjt/io/uapi"],(function(e,n,a,r,t,i,p,s){"use strict";var o=e.module("cpanel.applicationManager.appsService",[]);return o.value("defaultInfo",PAGE),o.factory("Apps",["$q","defaultInfo",function(e,n){var r={applications:[]};return r.homedir_regex=new RegExp("^(?:"+n.homedir+")/?"),r.has_support_for_env_vars=t.parsePerlBoolean(n.has_mod_env),r.max_number_of_apps=Number(n.max_passenger_apps),r.get_maximum_number_of_apps=function(){return r.max_number_of_apps},r.exceeds_quota=function(){return r.applications.length>=r.max_number_of_apps},r.get_default_application=function(){var e={name:"",path:"",enabled:!0,domain:"",base_uri:"/",deployment_mode:"production"};return r.has_support_for_env_vars&&(e.envvars={}),e},r.add_application=function(n){var t=new p.Class;if(t.initialize("PassengerApps","register_application"),t.addArgument("name",n.name),t.addArgument("path",n.path),t.addArgument("deployment_mode",n.deployment_mode),t.addArgument("domain",n.domain),t.addArgument("base_uri",n.base_uri),r.has_support_for_env_vars){var s=1;a.forEach(n.envvars,(function(e,n){t.addArgument("envvar_name-"+s,n),t.addArgument("envvar_value-"+s,e),s++}))}return t.addArgument("enabled",n.enabled?1:0),e.when(i.promise(t.getRunArguments())).then((function(n){if((n=n.parsedResponse).status){var a=r.strip_homedirs_and_convert_enabled(n.data);return r.applications.push(a),a}return e.reject(n.error)}),(function(n){if(!n.status)return e.reject(n.error)}))},r.update_application=function(n,t){var s=new p.Class;if(a.defaults(n,{name:""},{path:""},{base_uri:"/"}),s.initialize("PassengerApps","edit_application"),n.name!==t?(s.addArgument("name",t),s.addArgument("new_name",n.name)):s.addArgument("name",n.name),s.addArgument("path",n.path),s.addArgument("base_uri",n.base_uri),s.addArgument("domain",n.domain),s.addArgument("deployment_mode",n.deployment_mode),r.has_support_for_env_vars)if(0===a.size(n.envvars))s.addArgument("clear_envvars",1);else{var o=0;a.forEach(n.envvars,(function(e,n){o++,s.addArgument("envvar_name-"+o,n),s.addArgument("envvar_value-"+o,e)}))}return s.addArgument("enabled",n.enabled?1:0),e.when(i.promise(s.getRunArguments())).then((function(n){if((n=n.parsedResponse).status){var a=r.get_application_index(t),i=r.strip_homedirs_and_convert_enabled(n.data);return n.data.name!==t?a>=0&&(r.applications.splice(a,1),r.applications.push(i)):r.applications[a]=i,i}return e.reject(n.error)}),(function(n){return e.reject(n.error)}))},r.strip_homedir_from_path=function(e){return e.path&&(e.path=e.path.replace(r.homedir_regex,"")),e},r.strip_homedirs_and_convert_enabled=function(e){var n=e;Array.isArray(e)||(n=[e]);for(var a=0,i=n.length;a<i;a++)n[a]=r.strip_homedir_from_path(n[a]),n[a].enabled=t.parsePerlBoolean(n[a].enabled);return Array.isArray(e)?n:n[0]},r.fetch=function(n){if(0===r.applications.length||n){var t=new p.Class;return t.initialize("PassengerApps","list_applications"),e.when(i.promise(t.getRunArguments())).then((function(n){return(n=n.parsedResponse).status?(r.applications=a.values(n.data),r.applications=r.strip_homedirs_and_convert_enabled(r.applications),r.applications):e.reject(n.error)}))}return e.when(r.applications)},r.get_application_index=function(e){return a.findIndex(r.applications,(function(n){return e===n.name}))},r.find_application=function(e){var n=r.get_application_index(e.name);return n>=0?r.applications[n]:null},r.get_application_by_name=function(e){return r.fetch().then((function(n){var a=r.get_application_index(e);return a>-1?n[a]:null}))},r.toggle_application_status=function(n){var a=new p.Class;return n.enabled?a.initialize("PassengerApps","disable_application"):a.initialize("PassengerApps","enable_application"),a.addArgument("name",n.name),e.when(i.promise(a.getRunArguments())).then((function(a){if((a=a.parsedResponse).status){var t=r.get_application_index(n.name);return r.applications[t].enabled=!n.enabled,r.applications[t]}return e.reject(a.error)}),(function(n){return e.reject(n.error)}))},r.remove_application=function(n){var a=new p.Class;return a.initialize("PassengerApps","unregister_application"),a.addArgument("name",n),e.when(i.promise(a.getRunArguments())).then((function(a){if(!(a=a.parsedResponse).status)return e.reject(a.error);var t=r.get_application_index(n);r.applications.splice(t,1)}),(function(n){return e.reject(n.error)}))},r.ensureDependencies=function(n,a){var r=new p.Class;return r.initialize("PassengerApps","ensure_deps"),r.addArgument("type",n),r.addArgument("app_path",a),e.when(i.promise(r.getRunArguments())).then((function(n){return(n=n.parsedResponse).status?n:e.reject(n.error)}),(function(n){return e.reject(n.error)}))},r}])}));
Back to Directory
File Manager