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