Viewing File: /usr/local/cpanel/base/frontend/jupiter/api_tokens/index.cmb.min.js

define("app/services/apiTokens",["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,i,n,a){"use strict";var r="cpanel.apiTokens.services.apiTokens",s="APITokensService",o=["APICatcher","$q","$log"],c=new Date;c=c.getTime()/1e3;var l=function(e,i,n,a,r){return this.id=e,this.new=!1,this.label=e,this.unrestricted=i,t.isBoolean(i)||(this.unrestricted=i&&"1"===i.toString()),this.features=n,this.createdOn=parseInt(a,10),this.expired=!1,this.expiresSoon=!1,this.hasExpiry=!1,r&&(this.hasExpiry=!0,this.expiresAt=parseInt(r,10),this.expiresAt<=c?this.expired=!0:this.expiresAt-c<86400&&(this.expiresSoon=!0)),this},u=function(r,s,o){var c=function(){};return c.prototype=Object.create(r),t.assign(c.prototype,{_featuresMetadata:null,_tokens:[],_promise:function(){return r.promise.apply(this,arguments)},_apiCall:function(e,t,i){var a=new n.Class;return a.initialize(e,t,i),a},_batchAPICall:function(e){return new a.Class(e)},_processAPITokenResult:function(e){var t=e.name,i=e.has_full_access,n=e.features,a=e.create_time,r=e.expires_at;return new l(t,i,n,a,r)},_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,i,n){return{label:i,id:t,installed:e&&"1"===e.toString(),badges:n}},_processFeaturesResults:function(n){var a=this,r=n.data;if(r){var s=[];e.forEach(r,(function(e,t){var n=t,r=[];if(a._featuresMetadata&&a._featuresMetadata[t]){var o=a._featuresMetadata[t];n=o.name,"1"===o.is_cpaddon.toString()&&r.push(i.maketext("[asis,cPAddon]")),"1"===o.is_plugin.toString()&&r.push(i.maketext("Plugin"))}s.push(a._processFeatureResult(e,t,n,r))}));var o=s.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,i=e.map(t._deleteToken.bind(t)).map(t._promise.bind(t));return s.all(i).then(t.fetchTokens.bind(t))},getFeatures:function(){var e=this,t=[this._getFeatures()];e._featuresMetadata||t.unshift(this._apiCall("Features","get_feature_metadata"));var i=e._batchAPICall(t);return e._promise(i).then((function(i){if(t.length>1){var n=i.data.shift();e._processFeatureMetadataResult.call(e,n)}return i.data.pop()})).then(e._processFeaturesResults.bind(e))},_processTokenCreationResults:function(e,t,i,n,a){var r=a.data,s=new l(e,t,i,(new Date).getTime()/1e3,n);return s.new=!0,this._tokens.push(s),r.token},createToken:function(e,t,i,n){var a;return a=t?this._apiCall("Tokens","create_full_access",{name:e,expires_at:n}):this._apiCall("Tokens","create_limited",{name:e,feature:i,expires_at:n}),this._promise(a).then(this._processTokenCreationResults.bind(this,e,t,i,n))},getTokenById:function(e){for(var t=this.getTokens(),i=0;i<t.length;i++)if(t[i].id===e)return t[i]},updateTokenRestrictions:function(e,t,i){var n,a=this;return n=t?this._apiCall("Tokens","set_full_access",{name:e}):this._apiCall("Tokens","set_features",{name:e,feature:i}),a._promise(n).then((function(){var n=a.getTokenById(e);n.unrestricted=t,n.features=i}))},renameToken:function(e,t){var i=this._apiCall("Tokens","rename",{name:e,new_name:t});return this._promise(i)}}),new c};return o.push(u),e.module(r,["cjt2.services.apicatcher"]).factory(s,o),{class:u,serviceName:s,namespace:r}})),define("app/directives/tableShowing",["angular","cjt/util/locale","cjt/core"],(function(e,t,i){"use strict";var n="directives/tableShowing.phtml",a=i.config.debug?i.buildFullPath("api_tokens/directives/tableShowing.phtml"):n,r="cpanel.apiTokens.tableShowing.directive",s=e.module(r,[]),o=function(e){e.getShowingText=function(){return t.maketext("[_1] - [_2] of [_3]",e.start,e.limit,e.total)}};return s.directive("tableShowing",(function(){return{templateUrl:a,restrict:"EA",scope:{start:"=",limit:"=",total:"="},transclude:!0,controller:["$scope",o]}})),{class:o,namespace:r,template:n}})),define("app/decorators/paginationDecorator",["angular","cjt/core","cjt/util/locale","uiBootstrap"],(function(e,t,i){"use strict";var n,a="cpanel.emailAccounts",r="decorators/pagination.phtml";try{n=e.module(a)}catch(t){n=e.module(a,["ui.bootstrap.pagination"])}return n.config(["$provide",function(e){e.decorator("uibPaginationDirective",["$delegate",function(e){var n=e[0],a=function(e,t){e&&e.forEach((function(e){e.id=t+"_"+e.text}))},s=function(e){e&&e.forEach((function(e){e.ariaLabel=i.maketext("Go to page “[_1]”.",e.text)}))},o=function(e,t){return i.maketext("Page [numf,_1] of [numf,_2]",e,t)};n.templateUrl=t.config.debug?t.buildFullPath("email_accounts/decorators/pagination.phtml"):r;var c=n.link;return n.compile=function(){return function(e,t,n,r){var l=r[0];c.apply(this,arguments),e.parentId=n.id,e.ariaLabels={title:i.maketext("Pagination"),firstPage:i.maketext("Go to first page."),previousPage:i.maketext("Go to previous page."),nextPage:i.maketext("Go to next page."),lastPage:i.maketext("Go to last page.")},e.updateCurrentSelectedText=o;var u=l.render;l.render=function(){u.apply(l),a(e.pages,e.parentId),s(e.pages)}}},e}])}]),{namespace:a,template:r}})),define("app/directives/itemLister",["angular","lodash","cjt/core","app/directives/tableShowing","app/decorators/paginationDecorator","ngSanitize","ngRoute","cjt/modules","cjt/directives/pageSizeButtonDirective","cjt/services/cpanel/componentSettingSaverService","cjt/directives/toggleSortDirective","cjt/directives/searchDirective","cjt/directives/pageSizeDirective","cjt/directives/indeterminateState","cjt/filters/startFromFilter","cjt/decorators/paginationDecorator"],(function(e,t,i,n,a){"use strict";var r=[n.namespace,a.namespace,"ngRoute","ngSanitize","cjt2.filters.startFrom"],s="cpanel.apiTokens.itemLister.directive",o="apiTokensItemLister",c=["$routeParams","$scope","$filter","$log","$window","componentSettingSaverService","ITEM_LISTER_CONSTANTS"],l=function(i,n,a,r,s,c,l){n.viewCallbacks=[],n.checkAll={indeterminate:!1,all:!1};var u={filter:a("filter"),orderBy:a("orderBy"),startFrom:a("startFrom"),limitTo:a("limitTo")};n._filter=function(e){return""!==n.filterValue?u.filter(e,n.filterValue,!1):e},n._sort=function(e){return""!==n.sort.sortDirection&&""!==n.sort.sortBy?u.orderBy(e,n.sort.sortBy,"asc"!==n.sort.sortDirection):e},n._paginate=function(e){if(n.totalItems>t.min(n.pageSizes)){var i=(n.currentPage-1)*n.pageSize,a=n.pageSize;e=u.startFrom(e,i),e=u.limitTo(e,a),n.showPager=!0,n.start=i+1,n.limit=i+e.length}else n.showPager=!1,0===e.length?n.start=0:n.start=1,n.limit=e.length;return e},n._updatedListerState=function(e){if(!n.loadingInitialState){var t={pageSize:n.pageSize,sort:{sortDirection:n.sort.sortDirection,sortBy:n.sort.sortBy}};c.set(o,t)}},n._itemInteracted=function(e,t){t.interactionID&&n._updatedListerState(t.interactionID)},this.registerViewCallback=function(e){n.viewCallbacks.push(e),e(n.filteredItems)},this.getHeaderItems=function(){return n.headerItems},this.deregisterViewCallback=function(e){for(var t=n.viewCallbacks.length-1;t>=0;t--)n.viewCallbacks[t]===e&&n.viewCallbacks.splice(t,1)},n.fetch=function(){var t=[];return n.items&&(t=n._filter(n.items)),n.totalItems=t.length,t=n._sort(t),t=n._paginate(t),n.filteredItems=t,n._updatedListerState(),e.forEach(n.viewCallbacks,(function(e){e(n.filteredItems)})),n.$emit(l.ITEM_LISTER_UPDATED_EVENT,{meta:{filterValue:n.filterValue},items:t}),n._updateSelectAllState(),t},n.focusSearch=function(){e.element(document).find("#"+n.parentID+"_search_input").focus(),s.scrollTop=0},n.tableConfigurationClicked=function(e){n.$emit(l.TABLE_ITEM_BUTTON_EVENT,{actionType:"tableConfigurationClicked",config:e})},n._updateSelectAllState=function(){n.selectedItems=n.filteredItems.filter((function(e){return e.selected})),n.selectedItems.length&&n.filteredItems.length&&n.selectedItems.length===n.filteredItems.length?n.checkAll.all=!0:n.checkAll.all=!1},n.getIndeterminateState=function(){return n.selectedItems.length&&n.filteredItems.length&&n.filteredItems.length!==n.selectedItems.length},n.toggleSelectAll=function(){n.selectedItems.length<n.filteredItems.length?(n.filteredItems.forEach((function(e){e.selected=!0})),n.$emit(l.ITEM_LISTER_SELECT_ALL,{items:n.filteredItems})):(n.filteredItems.forEach((function(e){e.selected=!1})),n.$emit(l.ITEM_LISTER_DESELECT_ALL,{items:n.filteredItems})),n._updateSelectAllState()},n.$on(l.TABLE_ITEM_BUTTON_EVENT,n._itemInteracted),n.$on(l.TABLE_ITEM_SELECTED,n._updateSelectAllState),n.$on(l.TABLE_ITEM_DESELECTED,n._updateSelectAllState),e.extend(n,{maxPages:5,totalItems:n.items.length,filteredItems:[],currentPage:1,pageSize:20,pageSizes:[20,100,500],start:0,limit:20,filterValue:"",sort:{sortDirection:"asc",sortBy:n.headerItems.length?n.headerItems[0].field:""}},{filterValue:i.q}),n._savedStateLoaded=function(t){e.extend(n,t,{filterValue:i.q})};var d=c.register(o);d&&(n.loadingInitialState=!0,d.then(n._savedStateLoaded,r.error).finally((function(){n.loadingInitialState=!1,n.fetch()}))),n.$on("$destroy",(function(){c.unregister(o)})),n.fetch(),n.$watch("items",n.fetch)},u="directives/itemLister.ptt",d=i.config.debug?i.buildFullPath("api_tokens/directives/itemLister.ptt"):u,p=function(i,n,a){t.isUndefined(a.canSelectAll)||"0"===a.canSelectAll||(i.canSelectAll=!0),i.controlsBlock=null,i.contentBlock=null,i._attachControls=function(e){i.controlsBlock.append(e)},i._attachOthers=function(e){e.setAttribute("id",i.parentID+"_transcludePoint"),e.setAttribute("ng-if","filteredItems.length"),i.contentBlock.replaceWith(e)},i._attachTransclude=function(t){e.element(t).hasClass("lister-controls")?i._attachControls(t):i._attachOthers(t)},i._findTranscludes=function(){i.controlsBlock=n.find("#"+i.parentID+"_transcludedControls"),i.contentBlock=n.find("#"+i.parentID+"_transcludePoint");var t=n.find("div.transcluded"),a=t.children();e.forEach(a,i._attachTransclude,i),t.remove()},setTimeout(i._findTranscludes,2)};return e.module(s,r).directive("itemLister",["$window","$log","componentSettingSaverService"].concat((function(e,t,i){return{templateUrl:d,restrict:"EA",scope:{parentID:"@id",items:"=",headerItems:"=",tableConfigurations:"=",createRoute:"@"},transclude:!0,replace:!0,link:p,controller:c.concat(l)}}))),{class:l,namespace:s,link:p,template:u}})),define("app/filters/htmlSafeString",["angular","lodash"],(function(e,t){"use strict";var i="cpanel.apiTokens.htmlSafeString.filter",n=function(){return t.escape};return e.module(i,[]).filter("htmlSafeString",[].concat(n)),{class:n,namespace:i}})),define("app/directives/itemListerView",["angular","lodash","cjt/core","cjt/util/locale","app/filters/htmlSafeString"],(function(e,t,i,n,a){"use strict";var r="cpanel.apiTokens.itemListerView.directive",s=[a.namespace],o="directives/itemListerView.ptt",c=i.config.debug?i.buildFullPath("api_tokens/directives/itemListerView.ptt"):o,l=["$scope","$location","ITEM_LISTER_CONSTANTS"],u=function(e,t,i){e.toggleSelection=function(t){t.selected?e.$emit(i.TABLE_ITEM_SELECTED,{item:t}):e.$emit(i.TABLE_ITEM_DESELECTED,{item:t})},e.getCreationLabel=function(e){return n.local_datetime(e,"datetime_format_medium")},e.getExpirationLabel=function(e){return e?n.local_datetime(e,"datetime_format_medium"):""},e.getRestrictionLabel=function(e){return e?n.maketext("Unrestricted"):n.maketext("Limited")},e.getItems=function(){return e.items},e.manageToken=function(e){t.path("/manage").search("token",e.id)}},d=e.module(r,s);d.value("PAGE",PAGE);var p=function(e,t,i,n){e.items=[],e.headerItems=n.getHeaderItems(),e.updateView=function(t){e.items=t},n.registerViewCallback(e.updateView.bind(e)),e.$on("$destroy",(function(){n.deregisterViewCallback(e.updateView)}))};return d.directive("itemListerView",(function(){return{templateUrl:c,restrict:"EA",replace:!0,require:"^itemLister",link:p,controller:l.concat(u)}})),{class:u,namespace:r,link:p,template:o}})),define("app/validators/uniqueTokenName",["angular","cjt/util/locale","cjt/validator/validator-utils","app/services/apiTokens","cjt/validator/validateDirectiveFactory"],(function(e,t,i,n){"use strict";var a,r={_lastFetch:0,_processLoadedTokens:function(e){return a=null,e&&(a={},e.forEach((function(e){a[e.id]=e}))),a},_fetchTokens:function(){return a}},s={tokenNameIsUnique:function(e,n){var a=i.initializeValidationResult(),s=r._fetchTokens();return n&&e===n||(!s||e&&s[e])&&(a.isValid=!1,a.add("tokenNameIsUnique",t.maketext("This [asis,API] token name already exists on this account. Enter a different name."),"tokenNameIsUnique")),a},validate:function(e,t,i,n,a){var o=(new Date).getTime();if(r._fetchTokens()&&o-r._lastFetch<1e3){var c=s.tokenNameIsUnique(i,n,a);return t.resolve(c)}return r._lastFetch=o,e.fetchTokens().then((function(e){r._processLoadedTokens(e);var o=s.tokenNameIsUnique(i,n,a);return t.resolve(o)}))}};return e.module("cjt2.validate").run(["validatorFactory","$q",n.serviceName,function(e,t,i){var n={tokenNameIsUnique:s.validate.bind(s,i,t)};n.tokenNameIsUnique.async=!0,e.generate(n,t)}]),{methods:s,factoryMethods:r,name:"token-name-is-unique",description:"Validation to ensure the api Token is unique for this account.",version:1}})),define("app/views/create",["angular","lodash","cjt/util/locale","app/services/apiTokens","cjt/directives/copyField","cjt/directives/timePicker","cjt/directives/datePicker","app/validators/uniqueTokenName","cjt/modules","cjt/directives/actionButtonDirective","cjt/services/cpanel/componentSettingSaverService","cjt/directives/validationContainerDirective","cjt/directives/validationItemDirective","cjt/directives/toggleSwitchDirective","cjt/directives/searchDirective","cjt/directives/indeterminateState","cjt/services/alertService"],(function(e,t,i,n,a,r,s){"use strict";var o="createAPITokenView",c=i.maketext("Create API Token"),l="cpanel.apiTokens.views.create",u=["cjt2.directives.validationContainer","cjt2.directives.validationItem","cjt2.directives.toggleSwitch","cjt2.directives.search","cjt2.directives.indeterminateState",r.namespace,s.namespace,a.namespace],d=["$scope","$location","alertService",n.serviceName,"componentSettingSaverService","CAN_CREATE_LIMITED","apiTokens","features"],p="CreateTokenController",f=function(t,n,a,r,s,l,u,d){t.canCreateLimited=l,t.pageTitle=c,t.RTL=i.is_rtl(),t.showAllHelp=!1,t.selectedFeatures=[],t.ui={stayAfterCopy:!1},t.checkAll={all:!1},t.features=d,t.apiTokens=u,t.working={},t.datePickerOptions={},t.timePickerOptions={};var p=new Date;p.setHours(0),p.setMinutes(0),p.setSeconds(0,0);var f=new Date(p.getTime());f.setHours(23),f.setMinutes(59),f.setSeconds(59,999),f.setFullYear(f.getFullYear()+1),t.init=function(){s.register(o).then((function(e){e&&(t.showAllHelp=e.showAllHelp,t.ui.stayAfterCopy=e.stayAfterCopy)})),t.reset()},t.reset=function(e){t.datePickerOptions.minDate=p,t.timePickerOptions.min=p,t.working={name:"",unrestricted:!l,features:{},tokenExpires:!1,expiresAt:f},t.generatedToken=null,t.pageTitle=c,t.selectedFeatures=[],e&&e.$setPristine()},t._updateCSSS=function(){s.set(o,{showAllHelp:t.showAllHelp,stayAfterCopy:t.ui.stayAfterCopy})},t.toggleHelp=function(){t.showAllHelp=!t.showAllHelp,t._updateCSSS()},t._tokenCreated=function(e){var n;return t.generatedToken=e,t.pageTitle=i.maketext("Token Created Successfully"),t.apiTokens=r.getTokens(),n=t.working.unrestricted?i.maketext("You successfully created an [output,strong,unrestricted] [asis,API] token “[_1]”.",t.working.name):i.maketext("You successfully created a [output,strong,limited-access] [asis,API] token “[_1]”.",t.working.name),a.success(n),e},t.create=function(e){e.tokenExpires&&(e.expiresAt.setHours(23),e.expiresAt.setMinutes(59),e.expiresAt.setSeconds(59,999));var i=e.tokenExpires?Math.floor(e.expiresAt/1e3):null;return r.createToken(e.name,e.unrestricted,t.selectedFeatures,i).then(t._tokenCreated)},t.newTokenExpiresMessage=function(e){var t=i.datetime(e.expiresAt,"datetime_format_medium");return i.maketext("This [asis,API] token will expire on [_1][comment,Bareword is a date].",t)},t.toggleSelectAllFeatures=function(){t.selectedFeatures.length<t.features.length?t.features.forEach((function(e){t.working.features[e.id]=!0})):t.features.forEach((function(e){t.working.features[e.id]=!1})),t.updateSelectedFeatures()},t.getFeaturesIndeterminateState=function(){return t.selectedFeatures.length&&t.features.length&&t.features.length!==t.selectedFeatures.length},t.updateSelectedFeatures=function(){t.selectedFeatures=[],e.forEach(t.working.features,(function(e,i){e&&t.selectedFeatures.push(i)}))},t.backToListView=function(){n.path("/")},t.tokenCopied=function(e){t.ui.stayAfterCopy?t.reset(e):t.backToListView()},t.stayAfterCopyChanged=function(){t._updateCSSS()},t.dateValidator=function(e){t.working.tokenExpires&&t.working.expiresAt&&(t.working.expiresAt.setHours(23),t.working.expiresAt.setMinutes(59),t.working.expiresAt.setSeconds(59,999)),t.working.tokenExpires&&t.datePickerOptions.minDate>t.working.expiresAt&&(e.$invalid=!0,e.$valid=!1)},t.resetDate=function(){t.working.tokenExpires&&(t.working.expiresAt=f)},t.$on("$destroy",s.unregister.bind(s,o)),t.init()};e.module(l,u).controller(p,d.concat(f));var m={apiTokens:[n.serviceName,function(e){return e.fetchTokens()}],features:[n.serviceName,function(e){return e.getFeatures()}]};return{id:"createAPIToken",route:"/create",controller:p,class:f,templateUrl:"views/create.ptt",title:c,namespace:l,showResourcePanel:!0,resolve:m}})),define("app/views/list",["angular","lodash","cjt/util/locale","app/directives/itemLister","app/directives/itemListerView","app/services/apiTokens","app/views/create","cjt/modules","cjt/services/alertService","cjt/directives/actionButtonDirective"],(function(e,t,i,n,a,r,s){"use strict";var o=i.maketext("List API Tokens"),c="cpanel.apiTokens.views.list",l=[n.namespace,a.namespace,r.namespace],u=["$scope","$location",r.serviceName,"alertService","apiTokens","ITEM_LISTER_CONSTANTS"],d="ListController",p=function(e,n,a,r,o,c){e.init=function(){e._apiTokens=o,e._filteredItems=[],e.selectedItems=[],e.confirmingDelete=!1,e.deletingTokens=!1,e.tableHeaderItems=[{field:"label",label:i.maketext("Token Name"),sortable:!0},{field:"createdOn",label:i.maketext("Created"),hiddenOnMobile:!0,sortable:!0},{field:"expiresAt",label:i.maketext("Expires"),hiddenOnMobile:!0,sortable:!0},{field:"actions",label:"",sortable:!1}],["TABLE_ITEM_SELECTED","TABLE_ITEM_DESELECTED","ITEM_LISTER_SELECT_ALL","ITEM_LISTER_DESELECT_ALL"].forEach((function(t){e.$on(c[t],e._updatedSelected)})),e.$on(c.ITEM_LISTER_UPDATED_EVENT,(function(t,i){e._filteredItems=i.items,e._updatedSelected()}))},e._deleteTokenSuccess=function(t,a){e._apiTokens=a,r.success(i.maketext("The system successfully revoked the following [asis,API] [numerate,_1,token,tokens]: [list_and_quoted,_1]",t)),0===e._apiTokens.length&&n.path(s.route),e.confirmingDelete=!1,e.deletingTokens=!1},e._updatedSelected=function(){e.selectedItems=e._filteredItems.filter((function(e){return e.selected}))},e.deleteTokens=function(i){var n=[],r=[];return i.forEach((function(e){r.push(e.id),n.push(t.escape(e.label))})),e.deletingTokens=!0,a.deleteTokens(r).then(e._deleteTokenSuccess.bind(e,n))},e.showDeletionConfirmationMessage=function(){e.confirmingDelete=!0},e.hideDeletionConfirmationMessage=function(){e.confirmingDelete=!1},e.confirmDeleteButtonLabel=function(){return i.maketext("Revoke Selected [asis,API] [numerate,_1,Token,Tokens]",e.selectedItems.length)},e.getItems=function(){return e._apiTokens},e.getSelectedFeatureNames=function(){return e.selectedItems.map((function(e){return e.id}))},e.confirmDeleteMessage=function(){var n=e.getSelectedFeatureNames().map(t.escape);return i.maketext("Are you sure that you want to revoke the following [asis,API] [numerate,_1,token,tokens]: [list_and_quoted,_2]",n.length,n)},e.init()};return e.module(c,l).controller(d,u.concat(p)),{id:"listAPITokens",route:"/",controller:d,class:p,templateUrl:"views/list.ptt",title:o,namespace:c,showResourcePanel:!1,resolve:{apiTokens:[r.serviceName,"$location",function(e,t){return e.fetchTokens().then((function(e){return e.length?e:(t.path(s.route),!1)}))}]}}})),define("app/views/manage",["angular","lodash","cjt/util/locale","app/services/apiTokens","app/filters/htmlSafeString","app/validators/uniqueTokenName","cjt/modules","cjt/services/alertService","cjt/directives/actionButtonDirective","cjt/services/cpanel/componentSettingSaverService","cjt/directives/validationContainerDirective","cjt/directives/validationItemDirective","cjt/directives/toggleSwitchDirective","cjt/directives/searchDirective","cjt/directives/indeterminateState"],(function(e,t,i,n,a){"use strict";var r="manageAPITokenView",s=i.maketext("Manage [asis,API] Token"),o="cpanel.apiTokens.views.manage",c=["cjt2.directives.validationContainer","cjt2.directives.validationItem","cjt2.directives.toggleSwitch","cjt2.directives.search","cjt2.directives.indeterminateState",a.namespace],l=["$scope","$location","$routeParams","alertService",n.serviceName,"componentSettingSaverService","CAN_CREATE_LIMITED","apiTokens"],u="ManageTokenController",d=function(n,a,o,c,l,u,d,p){n.pageTitle=s,n.RTL=i.is_rtl(),n.showAllHelp=!1,n.ui={confirmingRevocation:!1},n.selectedFeatures=[],n.checkAll={all:!1},n.apiTokens=p,n.working={},n.expiringMessage=function(e){return n.current.expired?i.maketext("[output,strong,Danger]: This [asis,API] token expired on [datetime,_1,datetime_format_medium].",n.current.expiresAt):n.current.expiresSoon?i.maketext("[output,strong,Warning]: This [asis,API] token will expire on [datetime,_1,datetime_format_medium].",n.current.expiresAt):void 0},n.getExpirationLabel=function(e){return e?i.local_datetime(e,"datetime_format_medium"):""},n.init=function(){u.register(r).then((function(e){e&&(n.showAllHelp=e.showAllHelp,n.stayOnView=e.stayOnView)}));var e=o.token,t=l.getTokenById(e);t?(n.canEditFeatureRestrictions=!t.unrestricted||d,n.current=t,n.working={name:t.id,unrestricted:t.unrestricted,features:{}},t.features.forEach((function(e){n.working.features[e]=!0,n.selectedFeatures.push(e)})),n.current.unrestricted||l.getFeatures().then(n._featuresLoaded)):a.path("/")},n._updateCSSS=function(){u.set(r,{showAllHelp:n.showAllHelp})},n._featuresLoaded=function(e){n.features=e},n.toggleHelp=function(){n.showAllHelp=!n.showAllHelp,n._updateCSSS()},n._tokenRenamed=function(e,n){c.success(i.maketext("You have successfully renamed the API Token “[_1]” to “[_2]”.",t.escape(e),t.escape(n)))},n._renameToken=function(e,t){return l.renameToken(e,t).then(n._tokenRenamed.bind(n,e,t))},n._getFeatureById=function(e){for(var t=n.features,i=0;i<t.length;i++)if(t[i].id===e)return t[i]},n._tokenRestrictionUpdated=function(e,a,r){if(a)c.success({message:i.maketext("You have successfully set the [asis,API] token “[_1]” to unrestricted.",t.escape(e)),replace:!1});else{var s=r.map((function(e){return n._getFeatureById(e).label})).map(t.escape);c.success({message:i.maketext("The [asis,API] Token “[_1]” is now limited to the following features: [list_and_quoted,_2].",e,s),replace:!1})}},n.update=function(e){var t,i=n.current,a=e.unrestricted!==n.current.unrestricted||n.selectedFeatures.sort().join()!==n.current.features.sort().join();if(i.id!==e.name&&(t=n._renameToken(i.id,e.name),a||t.finally(n.backToListView)),a){var r=l.updateTokenRestrictions.bind(l,e.name,e.unrestricted,n.selectedFeatures),s=n._tokenRestrictionUpdated.bind(n,e.name,e.unrestricted,n.selectedFeatures);t?t.then(r).then(s):t=r().then(s),t.finally(n.backToListView)}return t},n.unrestrictedToggled=function(){n.working.unrestricted||n.features||l.getFeatures().then(n._featuresLoaded)},n.toggleSelectAllFeatures=function(){n.working.features=n.working.features||{},n.selectedFeatures.length<n.features.length?n.features.forEach((function(e){n.working.features[e.id]=!0})):n.features.forEach((function(e){n.working.features[e.id]=!1})),n.updateSelectedFeatures()},n.getFeaturesIndeterminateState=function(){return n.selectedFeatures.length&&n.features.length&&n.features.length!==n.selectedFeatures.length},n.updateSelectedFeatures=function(){n.selectedFeatures=[],e.forEach(n.working.features,(function(e,t){e&&n.selectedFeatures.push(t)}))},n.backToListView=function(){a.path("/")},n.showRevokeConfirm=function(){n.ui.confirmingRevocation=!0},n.hideRevokeConfirm=function(){n.ui.confirmingRevocation=!1},n._tokenRevoked=function(e){c.success(i.maketext("You have successfully revoked the following [asis,API] [numerate,_1,token,tokens]: “[_1]”",t.escape(e)))},n.revokeToken=function(e){return l.deleteTokens([e.id]).then(n._tokenRevoked.bind(n,e.id)).then(n.backToListView)},n.$on("$destroy",u.unregister.bind(u,r)),n.init()};e.module(o,c).controller(u,l.concat(d));var p={apiTokens:[n.serviceName,function(e){return e.fetchTokens()}]};return{id:"manageAPIToken",route:"/manage",controller:u,class:d,templateUrl:"views/manage.ptt",title:s,namespace:o,showResourcePanel:!0,resolve:p}})),define("app/index",["angular","cjt/core","cjt/util/locale","app/services/apiTokens","app/views/list","app/views/create","app/views/manage","app/filters/htmlSafeString","cjt/modules","cjt/directives/alertList","cjt/services/alertService","cjt/services/APICatcher","cjt/directives/loadingPanel","cjt/directives/breadcrumbs","ngRoute"],(function(e,t,i,n,a,r,s,o){"use strict";var c="cpanel.apiTokens";return function(){var l=[],u=["ngRoute","cjt2."+t.applicationName,n.namespace,o.namespace];[a,r,s].forEach((function(e){e.breadcrumb=e.breadcrumb?e.breadcrumb:{id:e.id,name:e.title,path:e.route,parentID:e.parentID},l.push(e),u.push(e.namespace)}));var d=e.module(c,u);return d.value("ITEM_LISTER_CONSTANTS",{TABLE_ITEM_BUTTON_EVENT:"TableItemActionButtonEmitted",TABLE_ITEM_SELECTED:"TableItemSelectedEmitted",TABLE_ITEM_DESELECTED:"TableItemDeselectedEmitted",ITEM_LISTER_UPDATED_EVENT:"ItemListerUpdatedEvent",ITEM_LISTER_SELECT_ALL:"ItemListerSelectAllEvent",ITEM_LISTER_DESELECT_ALL:"ItemListerDeselectAllEvent"}),d.value("CAN_CREATE_LIMITED",PAGE.canCreateLimited),d.controller("MainController",["$scope","$rootScope","alertService",function(e,t,n){e.showResourcePanel=!0,e.mainPanelClasses="",e.sidePanelClasses="",e.updatePanelClasses=function(){e.sidePanelClasses="col-sm-4 col-md-4 hidden-xs",e.sidePanelClasses+=" ",e.sidePanelClasses+=i.is_rtl()?"pull-left":"pull-right",e.mainPanelClasses=e.showResourcePanel?"col-xs-12 col-sm-8 col-md-8":"col-xs-12"},t.$on("$routeChangeStart",(function(){e.loading=!0,n.clear("danger")})),t.$on("$routeChangeSuccess",(function(t,i){if(e.loading=!1,i){var n=(a=i.$$route.originalPath,l.forEach((function(e,t){e.route===a&&(r=t)})),r);l[n]&&(e.currentTab=l[n],e.showResourcePanel=e.currentTab.showResourcePanel,e.activeTab=n,e.updatePanelClasses())}var a,r})),t.$on("$routeChangeError",(function(){e.loading=!1}))}]),require(["cjt/bootstrap"],(function(e){d.config(["$routeProvider","$animateProvider",function(e,t){t.classNameFilter(/^((?!no-animate).)*$/),l.forEach((function(t,i){e.when(t.route,t)})),e.otherwise({redirectTo:"/"})}]),e("#content",c)})),d}}));
Back to Directory File Manager