Snippets

Kristopher Baehr node sql, sp call for performance testing - for idb Issue #14

Created by Kristopher Baehr
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const responseCodes_1 = require("./responseCodes");
const db2pool_1 = require("./db2pool");
let initialized = false;
let pool = null;
const blank = "''";
class UserSpData {
    //-----------------------------------------------------------------------
    // Function:  getRows
    // Purpose:   get row(s)
    // Returns:   void
    // Required Parameters:
    //   searchCriteria  (io)  the search criteria
    //   res             (io)  http response
    // Optional Parameters:
    //   none
    //-----------------------------------------------------------------------
    getRows(searchCriteria, res) {
        init();
        let errors = [];
        let getAction = 'RE';
        let sql = getStoredProcedureCall();
        let connection = pool.get(errors);
        if (errors.length !== 0) {
            return respondError(res, errors, responseCodes_1.ResponseCodes.INTERNAL_SERVER_ERROR);
        }
        let stmt = new connection.db.dbstmt(connection.conn);
        stmt.prepare(sql, function (dbError) {
            if (dbError !== undefined) {
                stmt.close();
                pool.release(connection);
                return respondSqlError(res, sql, 'Prepare Error: ' + dbError);
            }
            // Indicator: 0=CLOB String, 1=NTS String, 2=Integer
            let numRows = 1;
            if (searchCriteria.numRows !== undefined && searchCriteria.numRows !== 0) {
                numRows = searchCriteria.numRows;
            }
            let lastName = '';
            if (searchCriteria.lastName !== undefined && searchCriteria.lastName !== '') {
                lastName = searchCriteria.lastName;
            }
            stmt.bindParam([
                [getAction, connection.db.SQL_PARAM_INPUT, 1],
                [numRows, connection.db.SQL_PARAM_INPUT, 2],
                [lastName, connection.db.SQL_PARAM_INPUT, 1]
            ], function (dbError) {
                if (dbError !== undefined) {
                    stmt.close();
                    pool.release(connection);
                    return respondSqlError(res, sql, 'Bind Error: ' + dbError);
                }
                stmt.execute(function (dbError) {
                    if (dbError !== undefined) {
                        stmt.close();
                        pool.release(connection);
                        return respondSqlError(res, sql, 'Execute Error: ' + dbError);
                    }
                    stmt.fetchAll(function (rs, dbError) {
                        if (dbError !== undefined) {
                            stmt.close();
                            pool.release(connection);
                            return respondSqlError(res, sql, 'FetchAll Error: ' + dbError);
                        }
                        if (rs.length !== 0 && rs[0].M2MSTX !== undefined) {
                            stmt.close();
                            pool.release(connection);
                            return respondSPError(res, rs, errors);
                        }
                        stmt.close();
                        pool.release(connection);
                        respondSuccess(res, rs);
                        return;
                    });
                });
            });
        });
    }
}
exports.UserSpData = UserSpData;
//-----------------------------------------------------------------------
// Function:  getStoredProcedureCall
// Purpose:   validation (all non database validation)
// Returns:   the sp call statement
// Required Parameters:
//   none
// Optional Parameters:
//   none
//-----------------------------------------------------------------------
function getStoredProcedureCall() {
    let call = 'call DUNC.CVRUSERSP (';
    let parmCount = 3;
    for (let int = 1; int <= parmCount; int++) {
        if (int !== parmCount) {
            call += '?,';
        }
        else {
            call += '?';
        }
    }
    call += ');';
    return call;
}
//-----------------------------------------------------------------------
// Function:  respondError
// Purpose:   respond with error(s)
// Returns:   void
// Required Parameters:
//   res     (in)  response
//   errors  (in)  errors
// Optional Parameters:
//   code    (in)  http response code
//-----------------------------------------------------------------------
function respondError(res, errors, code = responseCodes_1.ResponseCodes.BAD_REQUEST) {
    res.status(code).send(errors);
}
//-----------------------------------------------------------------------
// Function:  respondSPError
// Purpose:   respond with Stored Procedure error(s)
// Returns:   void
// Required Parameters:
//   res       (in)  response
//   spErrors  (in)  stored procedure errors 
//   errors    (in)  errors
// Optional Parameters:
//   code      (in)  http response code
//-----------------------------------------------------------------------
function respondSPError(res, spErrors, errors, code = responseCodes_1.ResponseCodes.BAD_REQUEST) {
    spErrors.forEach(function (row) {
        errors.push(row.M2MSTX.trim() + ' - Program: ' + row.M2PGNM.trim() + ', Message Id: ' + row.M2MSID);
    });
    res.status(code).send(errors);
}
//-----------------------------------------------------------------------
// Function:  respondSqlError
// Purpose:   respond with error(s)
// Returns:   void
// Required Parameters:
//   res     (io)  response
//   sql     (io)  the sql statement
//   dbError (io)  the database error
// Optional Parameters:
//   code    (io)  the response code
//-----------------------------------------------------------------------
function respondSqlError(res, sql, dbError, code = responseCodes_1.ResponseCodes.INTERNAL_SERVER_ERROR) {
    let errors = [dbError];
    console.log(sql);
    console.log(dbError);
    // return the errors
    res.status(code).send(errors);
}
//-----------------------------------------------------------------------
// Function:  respondSuccess
// Purpose:   respond to the http request
// Returns:   void
// Required Parameters:
//   res     (in)  response
// Optional Parameters:
//   rs      (in)  result set
//-----------------------------------------------------------------------
function respondSuccess(res, rs = []) {
    res.setHeader('Content-Type', 'application/json');
    res.send(rs);
    //res.json(rs);
}
//-----------------------------------------------------------------------
// Function:  init
// Purpose:   initialize class
// Returns:   void
// Required Parameters:
//   none
// Optional Parameters:
//   none
//-----------------------------------------------------------------------
function init() {
    if (initialized) {
        return;
    }
    pool = new db2pool_1.Db2pool();
    initialized = true;
}
//# sourceMappingURL=node-rpg.js.map

import * as validate from './validate';
import { DateTime } from './dateTime';
import { DbOperations } from './dbOperations';
import * as boolean from './boolean';
import { ResponseCodes } from './responseCodes';
import * as db2 from './db2conn';
import {Db2pool} from './db2pool';

let initialized: boolean = false;
let pool: any = null;
const blank: string = "''";

export class UserSpData {
	
	//-----------------------------------------------------------------------
	// Function:  getRows
	// Purpose:   get row(s)
	// Returns:   void
	// Required Parameters:
	//   searchCriteria  (io)  the search criteria
	//   res             (io)  http response
	// Optional Parameters:
	//   none
	//-----------------------------------------------------------------------
	getRows(searchCriteria: any, res: any): void {
		
		init();
		let errors: string[] = [];
        let getAction: string = 'RE';
        let sql: string = getStoredProcedureCall();
		
		let connection: any = pool.get(errors);
		if (errors.length !== 0) {
			return respondError(res, errors, ResponseCodes.INTERNAL_SERVER_ERROR);
		}
		
		let stmt: any = new connection.db.dbstmt(connection.conn);
        stmt.prepare(sql, function(dbError) {
            if(dbError !== undefined) {
                stmt.close();
                pool.release(connection);
                return respondSqlError(res, sql, 'Prepare Error: ' + dbError);
            }
            
            // Indicator: 0=CLOB String, 1=NTS String, 2=Integer
            let numRows: number = 1;
            if (searchCriteria.numRows !== undefined && searchCriteria.numRows !== 0) {
            	numRows = searchCriteria.numRows;
            }
            let lastName: string = '';
            if (searchCriteria.lastName !== undefined && searchCriteria.lastName !== '') {
            	lastName = searchCriteria.lastName;
            }
            
            stmt.bindParam([
                [getAction, connection.db.SQL_PARAM_INPUT, 1],
                [numRows, connection.db.SQL_PARAM_INPUT, 2],
                [lastName, connection.db.SQL_PARAM_INPUT, 1]
            ], function(dbError) {
                if(dbError !== undefined){
                    stmt.close();
                    pool.release(connection);
                    return respondSqlError(res, sql, 'Bind Error: ' + dbError);
                }
                
                stmt.execute(function(dbError) {
                    if(dbError !== undefined){
                        stmt.close();
                        pool.release(connection);
                        return respondSqlError(res, sql, 'Execute Error: ' + dbError);
                    }
                    
                    stmt.fetchAll( function(rs, dbError) {
                        if(dbError !== undefined) {
                            stmt.close();
                            pool.release(connection);
                            return respondSqlError(res, sql, 'FetchAll Error: ' + dbError);
                        }
                        
                        if(rs.length !== 0 && rs[0].M2MSTX !== undefined) {
                            stmt.close();
                            pool.release(connection);
                            return respondSPError(res, rs, errors);
                        }
                        
                        stmt.close();
                        pool.release(connection);
                        respondSuccess(res, rs);
                        return;
                    });
                });
            });
        });
		
	}
}

//-----------------------------------------------------------------------
// Function:  getStoredProcedureCall
// Purpose:   validation (all non database validation)
// Returns:   the sp call statement
// Required Parameters:
//   none
// Optional Parameters:
//   none
//-----------------------------------------------------------------------
function getStoredProcedureCall(): string {
  
  let call: string = 'call DUNC.CVRUSERSP (';
  
  let parmCount: number = 3;
  for (let int :number = 1; int <= parmCount; int++) {
      if(int !== parmCount){
          call += '?,';
      }else{
          call += '?';
      }
  }
  
  call += ');';
  
  return call;
}

//-----------------------------------------------------------------------
// Function:  respondError
// Purpose:   respond with error(s)
// Returns:   void
// Required Parameters:
//   res     (in)  response
//   errors  (in)  errors
// Optional Parameters:
//   code    (in)  http response code
//-----------------------------------------------------------------------
function respondError(res: any, errors: string[], code: number = ResponseCodes.BAD_REQUEST): void {
	res.status(code).send(errors);
}

//-----------------------------------------------------------------------
// Function:  respondSPError
// Purpose:   respond with Stored Procedure error(s)
// Returns:   void
// Required Parameters:
//   res       (in)  response
//   spErrors  (in)  stored procedure errors 
//   errors    (in)  errors
// Optional Parameters:
//   code      (in)  http response code
//-----------------------------------------------------------------------
function respondSPError(res: any, spErrors: any[], errors: string[], code: number = ResponseCodes.BAD_REQUEST): void {
	
	spErrors.forEach(function(row) {
	   errors.push(row.M2MSTX.trim() + ' - Program: ' + row.M2PGNM.trim() + ', Message Id: ' + row.M2MSID);
	})

res.status(code).send(errors);
}

//-----------------------------------------------------------------------
// Function:  respondSqlError
// Purpose:   respond with error(s)
// Returns:   void
// Required Parameters:
//   res     (io)  response
//   sql     (io)  the sql statement
//   dbError (io)  the database error
// Optional Parameters:
//   code    (io)  the response code
//-----------------------------------------------------------------------
function respondSqlError(res: any, sql: string, dbError: any, code: number = ResponseCodes.INTERNAL_SERVER_ERROR): void {
	
	let errors: any[] = [dbError];
	console.log(sql);
	console.log(dbError);
	
	// return the errors
	res.status(code).send(errors);
}

//-----------------------------------------------------------------------
// Function:  respondSuccess
// Purpose:   respond to the http request
// Returns:   void
// Required Parameters:
//   res     (in)  response
// Optional Parameters:
//   rs      (in)  result set
//-----------------------------------------------------------------------
function respondSuccess(res: any, rs: any[] = []): void {
	res.setHeader('Content-Type', 'application/json');
	res.send(rs);
	//res.json(rs);
}

//-----------------------------------------------------------------------
// Function:  init
// Purpose:   initialize class
// Returns:   void
// Required Parameters:
//   none
// Optional Parameters:
//   none
//-----------------------------------------------------------------------
function init(): void {
	
	if (initialized) {
		return;
	}
	
	pool = new Db2pool();
	initialized = true;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const responseCodes_1 = require("./responseCodes");
const db2pool_1 = require("./db2pool");
let initialized = false;
let pool = null;
const blank = "' '";
let charValues = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o,', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
let obfuscatedValues = ['z', 'y', 'x', 'w', 'v', 'u', 't', 's', 'r', 'q', 'p', 'o', 'n', 'm', 'l,', 'k', 'j', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a'];
class UserData {
    //-----------------------------------------------------------------------
    // Function:  getRows
    // Purpose:   get row(s)
    // Returns:   void
    // Required Parameters:
    //   searchCriteria  (io)  the search criteria
    //   res             (io)  http response
    // Optional Parameters:
    //   none
    //-----------------------------------------------------------------------
    getRows(searchCriteria, res) {
        init();
        let errors = [];
        let sql = buildSelectSql(searchCriteria, errors);
        if (errors.length !== 0) {
            return respondError(res, errors);
        }
        let connection = pool.get(errors);
        if (errors.length !== 0) {
            return respondError(res, errors, responseCodes_1.ResponseCodes.INTERNAL_SERVER_ERROR);
        }
        let stmt = new connection.db.dbstmt(connection.conn);
        stmt.exec(sql, (rs, dbError) => {
            if (dbError !== undefined) {
                stmt.close();
                pool.release(connection);
                return respondSqlError(res, sql, dbError);
            }
            else {
                stmt.close();
                pool.release(connection);
                return respondSuccess(res, convertResultSet(rs));
            }
        });
    }
}
exports.UserData = UserData;
//-----------------------------------------------------------------------
// Function:  buildSelectSql
// Purpose:   build sql statement into a string
// Returns:   void
// Required Parameters:
//   searchCriteria
//   errors
// Optional Parameters:
//   none
//-----------------------------------------------------------------------
function buildSelectSql(searchCriteria, errors) {
    let numRows = 1;
    if (searchCriteria.numRows !== undefined && searchCriteria.numRows !== 0) {
        numRows = searchCriteria.numRows;
    }
    let sql = 'select usr.rcId as "rsRcId", trim(usr.fNam) || ' + blank + ' || trim(usr.lNam) as "rsName", trim(usr.email) as "rsEmail", ' +
        'trim(cpcn.jbTitle) as "jobTitle", trim(cpms.lglName) as "legalName" ' +
        'from gppuser as usr ' +
        "inner join crpcpcn as cpcn on (cpcn.uId = usr.uId and cpcn.rcdSts = 'A') " +
        "inner join crpcpms as cpms on (cpms.cpId = cpcn.cpId and cpms.rcdSts = 'A') " +
        "where usr.rcdSts = 'A' and usr.usrType = 'C' and usr.fNam <> '' and usr.lNam <> '' ";
    if (searchCriteria.lastName !== undefined && searchCriteria.lastName !== '') {
        sql += "and usr.lNam like '" + searchCriteria.lastName + "%' ";
    }
    sql +=
        'order by usr.rcId ' +
            'limit ' + numRows;
    return sql;
}
//-----------------------------------------------------------------------
// Function:  convertResultSet
// Purpose:   cast columns and convert result set to JSON
// Returns:   result set
// Required Parameters:
//   rs  (io)  result set
// Optional Parameters:
//   none
//-----------------------------------------------------------------------
function convertResultSet(rs) {
    if (rs === undefined || rs === []) {
        return [];
    }
    try {
        rs.forEach(function (row) {
            row.rsObfuscatedName = obfuscate(row.rsName.trim());
        });
    }
    catch (e) {
        console.log(e);
    }
    return rs;
}
//-----------------------------------------------------------------------
// Function:  obfuscate
// Purpose:   obfuscate a string
// Returns:   the obfuscated value
// Required Parameters:
//   val     (io)  the value to obfuscate
// Optional Parameters:
//   none
//-----------------------------------------------------------------------
function obfuscate(val) {
    let index;
    let char;
    let obfuscatedVal = '';
    for (var i = 0, len = val.length; i < len; i++) {
        char = val[i];
        index = charValues.indexOf(char);
        if (index === -1) {
            obfuscatedVal += char;
        }
        else {
            obfuscatedVal += obfuscatedValues[index];
        }
    }
    return obfuscatedVal;
}
//-----------------------------------------------------------------------
// Function:  respondError
// Purpose:   respond with error(s)
// Returns:   void
// Required Parameters:
//   res     (in)  response
//   errors  (in)  errors
// Optional Parameters:
//   code    (in)  http response code
//-----------------------------------------------------------------------
function respondError(res, errors, code = responseCodes_1.ResponseCodes.BAD_REQUEST) {
    res.status(code).send(errors);
}
//-----------------------------------------------------------------------
// Function:  respondSPError
// Purpose:   respond with Stored Procedure error(s)
// Returns:   void
// Required Parameters:
//   res       (in)  response
//   spErrors  (in)  stored procedure errors 
//   errors    (in)  errors
// Optional Parameters:
//   code      (in)  http response code
//-----------------------------------------------------------------------
function respondSPError(res, spErrors, errors, code = responseCodes_1.ResponseCodes.BAD_REQUEST) {
    spErrors.forEach(function (row) {
        errors.push(row.M2MSTX.trim() + ' - Program: ' + row.M2PGNM.trim() + ', Message Id: ' + row.M2MSID);
    });
    res.status(code).send(errors);
}
//-----------------------------------------------------------------------
// Function:  respondSqlError
// Purpose:   respond with error(s)
// Returns:   void
// Required Parameters:
//   res     (io)  response
//   sql     (io)  the sql statement
//   dbError (io)  the database error
// Optional Parameters:
//   code    (io)  the response code
//-----------------------------------------------------------------------
function respondSqlError(res, sql, dbError, code = responseCodes_1.ResponseCodes.INTERNAL_SERVER_ERROR) {
    let errors = [dbError];
    console.log(sql);
    console.log(dbError);
    // return the errors
    res.status(code).send(errors);
}
//-----------------------------------------------------------------------
// Function:  respondSuccess
// Purpose:   respond to the http request
// Returns:   void
// Required Parameters:
//   res     (in)  response
// Optional Parameters:
//   rs      (in)  result set
//-----------------------------------------------------------------------
function respondSuccess(res, rs = []) {
    res.setHeader('Content-Type', 'application/json');
    res.send(rs);
    //res.json(rs);
}
//-----------------------------------------------------------------------
// Function:  init
// Purpose:   initialize class
// Returns:   void
// Required Parameters:
//   none
// Optional Parameters:
//   none
//-----------------------------------------------------------------------
function init() {
    if (initialized) {
        return;
    }
    pool = new db2pool_1.Db2pool();
    initialized = true;
}
//# sourceMappingURL=node-sql.js.map

import * as validate from './validate';
import { DateTime } from './dateTime';
import { DbOperations } from './dbOperations';
import * as boolean from './boolean';
import { ResponseCodes } from './responseCodes';
import * as db2 from './db2conn';
import {Db2pool} from './db2pool';

let initialized: boolean = false;
let pool: any = null;
const blank: string = "' '";
let charValues: string[] = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o,', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' ];
let obfuscatedValues: string[] = [ 'z', 'y', 'x', 'w', 'v', 'u', 't', 's', 'r', 'q', 'p', 'o', 'n', 'm', 'l,', 'k', 'j', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a' ];

export class UserData {
	
	//-----------------------------------------------------------------------
	// Function:  getRows
	// Purpose:   get row(s)
	// Returns:   void
	// Required Parameters:
	//   searchCriteria  (io)  the search criteria
	//   res             (io)  http response
	// Optional Parameters:
	//   none
	//-----------------------------------------------------------------------
	getRows(searchCriteria: any, res: any): void {
		
		init();
		
		let errors: string[] = [];
		
		let sql :string = buildSelectSql(searchCriteria, errors);
		if (errors.length !== 0) {
			return respondError(res, errors);
		}
		
		let connection: any = pool.get(errors);
		if (errors.length !== 0) {
			return respondError(res, errors, ResponseCodes.INTERNAL_SERVER_ERROR);
		}
		
		let stmt: any = new connection.db.dbstmt(connection.conn);
		stmt.exec(sql, (rs, dbError) => {
			
			if(dbError !== undefined){
				stmt.close();
				pool.release(connection);
				return respondSqlError(res, sql, dbError);
			}else{
				stmt.close();
				pool.release(connection);
				
				return respondSuccess(res, convertResultSet(rs));
			}
		});
		
	}
}

//-----------------------------------------------------------------------
// Function:  buildSelectSql
// Purpose:   build sql statement into a string
// Returns:   void
// Required Parameters:
//   searchCriteria
//   errors
// Optional Parameters:
//   none
//-----------------------------------------------------------------------
function buildSelectSql(searchCriteria: any, errors: string[]): string {
	
    let numRows: number = 1;
    if (searchCriteria.numRows !== undefined && searchCriteria.numRows !== 0) {
        numRows = searchCriteria.numRows;
    }
	
	let sql: string =
		'select usr.rcId as "rsRcId", trim(usr.fNam) || ' + blank + ' || trim(usr.lNam) as "rsName", trim(usr.email) as "rsEmail", ' +
		 'trim(cpcn.jbTitle) as "jobTitle", trim(cpms.lglName) as "legalName" ' +
		'from gppuser as usr ' +
		 "inner join crpcpcn as cpcn on (cpcn.uId = usr.uId and cpcn.rcdSts = 'A') " +
		 "inner join crpcpms as cpms on (cpms.cpId = cpcn.cpId and cpms.rcdSts = 'A') " +
		"where usr.rcdSts = 'A' and usr.usrType = 'C' and usr.fNam <> '' and usr.lNam <> '' ";
    
    if (searchCriteria.lastName !== undefined && searchCriteria.lastName !== '') {
    	sql += "and usr.lNam like '" + searchCriteria.lastName + "%' ";
    }
    
    sql +=
		'order by usr.rcId ' +
		'limit ' + numRows;
	
	return sql;
	
}

//-----------------------------------------------------------------------
// Function:  convertResultSet
// Purpose:   cast columns and convert result set to JSON
// Returns:   result set
// Required Parameters:
//   rs  (io)  result set
// Optional Parameters:
//   none
//-----------------------------------------------------------------------
function convertResultSet(rs: any[]): any[] {
  
    if (rs === undefined || rs === []) {
        return [];
    }
  
  try {
      rs.forEach(function(row) {
         
          row.rsObfuscatedName = obfuscate(row.rsName.trim());
          
      })
  } catch (e) {
      console.log(e);
  }
  
  return rs;
}

//-----------------------------------------------------------------------
// Function:  obfuscate
// Purpose:   obfuscate a string
// Returns:   the obfuscated value
// Required Parameters:
//   val     (io)  the value to obfuscate
// Optional Parameters:
//   none
//-----------------------------------------------------------------------
function obfuscate(val: string): string {
    
    let index: number;
    let char: string;
    let obfuscatedVal: string = '';
    
    for (var i = 0, len = val.length; i < len; i++) {
        char = val[i];
        index = charValues.indexOf(char);
        if(index === -1) {
            obfuscatedVal += char;
        }else{
            obfuscatedVal += obfuscatedValues[index];
        }
    }
    
    return obfuscatedVal;
}

//-----------------------------------------------------------------------
// Function:  respondError
// Purpose:   respond with error(s)
// Returns:   void
// Required Parameters:
//   res     (in)  response
//   errors  (in)  errors
// Optional Parameters:
//   code    (in)  http response code
//-----------------------------------------------------------------------
function respondError(res: any, errors: string[], code: number = ResponseCodes.BAD_REQUEST): void {
	res.status(code).send(errors);
}

//-----------------------------------------------------------------------
// Function:  respondSPError
// Purpose:   respond with Stored Procedure error(s)
// Returns:   void
// Required Parameters:
//   res       (in)  response
//   spErrors  (in)  stored procedure errors 
//   errors    (in)  errors
// Optional Parameters:
//   code      (in)  http response code
//-----------------------------------------------------------------------
function respondSPError(res: any, spErrors: any[], errors: string[], code: number = ResponseCodes.BAD_REQUEST): void {
	
	spErrors.forEach(function(row) {
	   errors.push(row.M2MSTX.trim() + ' - Program: ' + row.M2PGNM.trim() + ', Message Id: ' + row.M2MSID);
	})

res.status(code).send(errors);
}

//-----------------------------------------------------------------------
// Function:  respondSqlError
// Purpose:   respond with error(s)
// Returns:   void
// Required Parameters:
//   res     (io)  response
//   sql     (io)  the sql statement
//   dbError (io)  the database error
// Optional Parameters:
//   code    (io)  the response code
//-----------------------------------------------------------------------
function respondSqlError(res: any, sql: string, dbError: any, code: number = ResponseCodes.INTERNAL_SERVER_ERROR): void {
	
	let errors: any[] = [dbError];
	console.log(sql);
	console.log(dbError);
	
	// return the errors
	res.status(code).send(errors);
}

//-----------------------------------------------------------------------
// Function:  respondSuccess
// Purpose:   respond to the http request
// Returns:   void
// Required Parameters:
//   res     (in)  response
// Optional Parameters:
//   rs      (in)  result set
//-----------------------------------------------------------------------
function respondSuccess(res: any, rs: any[] = []): void {
	res.setHeader('Content-Type', 'application/json');
	res.send(rs);
	//res.json(rs);
}

//-----------------------------------------------------------------------
// Function:  init
// Purpose:   initialize class
// Returns:   void
// Required Parameters:
//   none
// Optional Parameters:
//   none
//-----------------------------------------------------------------------
function init(): void {
	
	if (initialized) {
		return;
	}
	
	pool = new Db2pool();
	initialized = true;
}

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.