Viewing File: /usr/local/cpanel/base/frontend/jupiter/api_tokens/services/apiTokens.min.js

define(["angular","lodash","cjt/util/locale","cjt/io/uapi-request","cjt/io/batch-request","cjt/modules","cjt/io/api","cjt/io/uapi","cjt/services/APICatcher"],(function(e,t,s,a,n){"use strict";var i="cpanel.apiTokens.services.apiTokens",r="APITokensService",o=["APICatcher","$q","$log"],u=new Date;u=u.getTime()/1e3;var c=function(e,s,a,n,i){return this.id=e,this.new=!1,this.label=e,this.unrestricted=s,t.isBoolean(s)||(this.unrestricted=s&&"1"===s.toString()),this.features=a,this.createdOn=parseInt(n,10),this.expired=!1,this.expiresSoon=!1,this.hasExpiry=!1,i&&(this.hasExpiry=!0,this.expiresAt=parseInt(i,10),this.expiresAt<=u?this.expired=!0:this.expiresAt-u<86400&&(this.expiresSoon=!0)),this},l=function(i,r,o){var u=function(){};return u.prototype=Object.create(i),t.assign(u.prototype,{_featuresMetadata:null,_tokens:[],_promise:function(){return i.promise.apply(this,arguments)},_apiCall:function(e,t,s){var n=new a.Class;return n.initialize(e,t,s),n},_batchAPICall:function(e){return new n.Class(e)},_processAPITokenResult:function(e){var t=e.name,s=e.has_full_access,a=e.features,n=e.create_time,i=e.expires_at;return new c(t,s,a,n,i)},_processAPITokensResults:function(e){var t=e.data;return this._tokens=t.map(this._processAPITokenResult.bind(this)),this._tokens},_fetchTokens:function(){return this._apiCall("Tokens","list")},_deleteToken:function(e){return this._apiCall("Tokens","revoke",{name:e})},_processFeatureResult:function(e,t,s,a){return{label:s,id:t,installed:e&&"1"===e.toString(),badges:a}},_processFeaturesResults:function(a){var n=this,i=a.data;if(i){var r=[];e.forEach(i,(function(e,t){var a=t,i=[];if(n._featuresMetadata&&n._featuresMetadata[t]){var o=n._featuresMetadata[t];a=o.name,"1"===o.is_cpaddon.toString()&&i.push(s.maketext("[asis,cPAddon]")),"1"===o.is_plugin.toString()&&i.push(s.maketext("Plugin"))}r.push(n._processFeatureResult(e,t,a,i))}));var o=r.filter((function(e){return e.installed}));return t.sortBy(o,(function(e){return e.label}))}},_getFeatures:function(){return this._apiCall("Features","list_features")},_processFeatureMetadataResult:function(e){var t=e.data;this._featuresMetadata={},t&&t.forEach((function(e){this._featuresMetadata[e.id]=e}),this)},fetchTokens:function(){var e=this._fetchTokens();return this._promise(e).then(this._processAPITokensResults.bind(this))},getTokens:function(){return this._tokens},deleteTokens:function(e){var t=this,s=e.map(t._deleteToken.bind(t)).map(t._promise.bind(t));return r.all(s).then(t.fetchTokens.bind(t))},getFeatures:function(){var e=this,t=[this._getFeatures()];e._featuresMetadata||t.unshift(this._apiCall("Features","get_feature_metadata"));var s=e._batchAPICall(t);return e._promise(s).then((function(s){if(t.length>1){var a=s.data.shift();e._processFeatureMetadataResult.call(e,a)}return s.data.pop()})).then(e._processFeaturesResults.bind(e))},_processTokenCreationResults:function(e,t,s,a,n){var i=n.data,r=new c(e,t,s,(new Date).getTime()/1e3,a);return r.new=!0,this._tokens.push(r),i.token},createToken:function(e,t,s,a){var n;return n=t?this._apiCall("Tokens","create_full_access",{name:e,expires_at:a}):this._apiCall("Tokens","create_limited",{name:e,feature:s,expires_at:a}),this._promise(n).then(this._processTokenCreationResults.bind(this,e,t,s,a))},getTokenById:function(e){for(var t=this.getTokens(),s=0;s<t.length;s++)if(t[s].id===e)return t[s]},updateTokenRestrictions:function(e,t,s){var a,n=this;return a=t?this._apiCall("Tokens","set_full_access",{name:e}):this._apiCall("Tokens","set_features",{name:e,feature:s}),n._promise(a).then((function(){var a=n.getTokenById(e);a.unrestricted=t,a.features=s}))},renameToken:function(e,t){var s=this._apiCall("Tokens","rename",{name:e,new_name:t});return this._promise(s)}}),new u};return o.push(l),e.module(i,["cjt2.services.apicatcher"]).factory(r,o),{class:l,serviceName:r,namespace:i}}));
Back to Directory File Manager