Name

sn_install_base.InstallBaseItemAPIImpl

Description

No description available

Script

var InstallBaseItemAPIImpl = Class.create();
InstallBaseItemAPIImpl.prototype = {
  initialize: function() {
  	this.apiHelper = new sn_install_base.InstallBaseItemAPIHelper();
  },

  getInstallBaseItemByID: function(id, context, queryParams) {
      var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
  	try {
          return requestHandler.getInstallBaseItemByID(id, queryParams);
  	} catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },

  getInstallBaseItems: function(context, queryParams) {
      var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
  	try{
          return requestHandler.getInstallBaseItems(queryParams);
  	} catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },

  getSoldProductForInstallBase: function(id, context, queryParams) {
      var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
  	try{
          return requestHandler.getSoldProductsForInstallBaseItem(id, queryParams);
  	} catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },

  getChildItemsForInstallBase: function(id, context, queryParams) {
      var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
  	try{
          return requestHandler.getChildItemsForInstallBase(id, queryParams);
  	} catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },

  getEntitlementsForInstallBaseItem: function(id, context, queryParams) {
      var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
  	try{
          return requestHandler.getEntitlementsForInstallBaseItem(id, queryParams);
  	} catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },

  getContractsForInstallBaseItem: function(id, context, queryParams) {
      var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
  	try{
          return requestHandler.getContractsForInstallBaseItem(id, queryParams);
  	} catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },
  getCasesForInstallBaseItem: function(id, context, queryParams) {
      var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
  	try{
          return requestHandler.getCasesForInstallBaseItem(id, queryParams);
  	} catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },

  getRelatedPartiesForInstallBaseItem: function(id, context, queryParams) {
      var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
  	try{
          return requestHandler.getRelatedPartiesForInstallBaseItem(id, queryParams);
  	} catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },
  getWorkOrdersForInstallBaseItem: function(id, context, queryParams) {
      var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
  	try{
          return requestHandler.getWorkOrdersForInstallBaseItem(id, queryParams);
  	} catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },

  createInstallBaseItem: function(context, payload) {
      var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
  	try{
          return requestHandler.createInstallBaseItem(context, payload);
  	} catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },

  updateInstallBaseItem: function(context, id, payload) {
      //list of attributes that are accepted in install base for creation.
     var requestHandler = this._getRequestHandler(context);
        if (gs.nil(requestHandler)) {
         return this._getErrorObjectForNoEndPoint();
     }
     try{
         return requestHandler.updateInstallBaseItem(context, id, payload);
      } catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },

  uninstallInstallBaseItem: function(context, id, payload) {
      var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
      try {
          return requestHandler.uninstallInstallBaseItem(context, id, payload);
      } catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },

  createRelatedPartyForIB: function(context, id, payload) {
      //list of attributes that are accepted in install base for creation.
      var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
  	try{
          return requestHandler.createRelatedPartyForIB(context, id, payload);
  	} catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },

  updateRelatedPartyForIB:function(context, installBaseItemId, relatedPartyID, payload) {
      //list of attributes that are accepted in install base for creation.
      var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
  	try{
          return requestHandler.updateRelatedPartyForIB(context, installBaseItemId, relatedPartyID, payload);
  	} catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },
  deleteRelatedParty: function(context, installBaseId, relatedPartyId) {
  	var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
  	try{
  		return requestHandler.deleteRelatedParty(installBaseId, relatedPartyId);
  	} catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },

  getMaintenancePlansForIB: function(id, context, queryParams) {
      var requestHandler = this._getRequestHandler(context);
      if (gs.nil(requestHandler)) {
          return this._getErrorObjectForNoEndPoint();
      }
      try {
          return requestHandler.getMaintenancePlansForIB(id, queryParams);
      } catch (err) {
          return this.apiHelper.requestCannotProcess();
      }
  },

  _getErrorObjectForNoEndPoint: function() {
      return InstallBaseItemAPIHelper.getErrorObject('No Request Handler - no end point defined', 'Please contact system administrator.');
  },

  _getRequestHandler: function(context) {
      var ep = new GlideScriptedExtensionPoint().getExtensions("sn_install_base.InstallBaseItemAPIEP");
      var epNull = false;
      if (gs.nil((ep)))
          epNull = true;
      var requestHandler;
      for (var e = 0, l = ep.length; e < l; e++) {
          ep[e].initialize();
          if (ep[e].canHandleRequest(context)) {
              requestHandler = ep[e];
              break;
          }
      }
      return requestHandler;
  },

  type: 'InstallBaseItemAPIImpl'
};

Sys ID

fe3fdb204f6e1110194f62b6ed72e005

Offical Documentation

Official Docs: