Name
sn_table_builder.APIRequestProcessor
Description
No description available
Script
var APIRequestProcessor = Class.create();
APIRequestProcessor.REQUEST_TABLE_STRUCTURE_DATA = 'req-table-structure-data';
APIRequestProcessor.REQUEST_TABLE_PROPERTIES = 'req-table-properties';
APIRequestProcessor.VALIDATE_FIELD_VALUES = 'validate-field-values';
APIRequestProcessor.DELETE_TABLE_RECORDS = 'del-table-records';
APIRequestProcessor.REQUEST_TABLE_EXTENSIONS = 'req-table-extensions';
APIRequestProcessor.REQUEST_FLOW_LIST = 'req-flow-list';
APIRequestProcessor.prototype = {
initialize: function(action, options) {
this.action = action;
this.options = options;
this.options.sysId = TBUtil.getValidTableId(this.options.sysId);
},
build: function() {
switch (this.action) {
case APIRequestProcessor.REQUEST_TABLE_STRUCTURE_DATA:
return this._buildTableStructureData();
case APIRequestProcessor.REQUEST_TABLE_PROPERTIES:
return this._buildTableProperties();
case APIRequestProcessor.VALIDATE_FIELD_VALUES:
return this._validateFieldValues();
case APIRequestProcessor.DELETE_TABLE_RECORDS:
return this._deleteTableRecords();
case APIRequestProcessor.REQUEST_TABLE_EXTENSIONS:
return this._buildTableExtensions();
case APIRequestProcessor.REQUEST_FLOW_LIST:
return this._buildFlowList();
default:
return gs.getMessage('No action requested');
}
},
_buildTableStructureData: function() {
return new TBTableStructureAPI(
this.options.sysId,
this.options.perspective, {
transactionScope: this.options.sysparm_transaction_scope || TBConstants.DEFAULT_SCOPE
}
).build();
},
_buildTableProperties: function() {
return new TBTablePropertiesAPI(this.options.sysId).build();
},
_validateFieldValues: function() {
return new TBFieldValidationAPI(this.options.table, this.options.payload).build();
},
_deleteTableRecords: function() {
return new TBDeleteRecords(this.options.table).build();
},
_buildTableExtensions: function() {
return new TBTableExtensionsAPI(this.options.table).build();
},
_buildFlowList: function() {
return new FlowDataAPI({
tableName: this.options.tableName,
query: this.options.query,
orderByColumn: this.options.orderByColumn,
orderByIsDescending: this.options.orderByIsDescending,
}).build();
},
type: 'APIRequestProcessor'
};
Sys ID
565db74e73f110107419c907fbf6a751