Name

sn_appclient.AppManagerPageConfigurationUtil

Description

Get various configurations for new App Manager Home page and App details page

Script

var AppManagerPageConfigurationUtil = Class.create();
AppManagerPageConfigurationUtil.prototype = {
  initialize: function() {},

  getPageConfigurations: function() {
      var result = {};
      result.storeUrl = this.getStoreUrl();
      result.requestPluginSupportUrl = this.getRequestPluginSupportUrl();
      result.userDateFormat = gs.getDateFormat();
      result.userTimeFormat = gs.getTimeFormat();
      result.isMaintUser = gs.hasRole('maint') == true;
      result.isAdminOrAppClientUser = gs.hasRole("admin") || gs.hasRole("sn_appclient.app_client_user");
      result.isAdminUser = gs.hasRole("admin") || gs.hasRole("maint");
      result.isReadOnlyAppUser = gs.hasRole("unified_plugin_read_only") &&
          !gs.hasRole('sn_appclient.app_client_company_installer') &&
          !gs.hasRole("sn_appclient.app_client_user") &&
          !gs.hasRole("admin") &&
          !gs.hasRole("maint");
      new global.PluginsData().getAndClearSessionInfo(['invalid_instance', 'invalid_certificate', 'upload_app_success'], result);
      var instanceMessage = gs.getSession().getClientData('invalid_instance') || "";
      var certMessage = gs.getSession().getClientData('invalid_certificate') || "";
      result.uploadAppErrorMessage = result.invalid_instance || result.invalid_instance.invalid_certificate;
      result.uploadAppSuccessMessage = result.upload_app_success || "";
      result.isInstanceOffline = gs.getProperty("sn_appclient.app.install.offline", 'false') == 'true';
      result.isSyncRequired = result.uploadAppSuccessMessage ? true : false;
      result.appsLastSyncTime = new GlideDateTime(gs.getProperty("sn_appclient.apps_last_sync_time")).getDisplayValue();
      return result;
  },

  getRequestPluginSupportUrl: function() {
      var supportHostUrl = "https://support.servicenow.com/";
      if (this.isGCCInstance()) {
          supportHostUrl = "https://hiwave.servicenowservices.com/";
      }
      return supportHostUrl + "/now?id=ns_automation_store&catalog_sys_id=891f088e465667e234a3cb52ffa1d299";
  },

  getStoreUrl: function() {
      var storeHostUrl = 'https://store.servicenow.com/';
      var instanceId = this.getInstanceId();
      if (this.isGCCInstance()) {
          storeHostUrl = new ScopedAppRepoRequest().getUploadUrl();
      }
      return storeHostUrl + '$appstore.do?ref=appmgmt&instanceid=' + instanceId + '#!/store/home';
  },

  isGCCInstance: function() {
      return gs.getProperty("sn_appclient.is_gcc_instance", "false") == 'true';
  },

  getInstanceId: function() {
      return gs.getProperty("instance_id");
  },

  type: 'AppManagerPageConfigurationUtil'
};

Sys ID

5c25a21577f21110adafc1bfbd5a99b4

Offical Documentation

Official Docs: