@pitschbr/tedious-helper

1.2.12 • Public • Published

tedious-helper

Simple promise-based utility for tedious to make queries easier

Installation

npm install --save @pitschbr/tedious-helper

How to use

There are 3 main methods exposed:

  • execSP(cfg, query, params)
  • execSQL(cfg, query, params)
  • execSQLBatch(cfg, query)

and some helpers

  • merge(params, values, options)
  • TYPES

Basic

// require the module
const tds = require('@pitschbr/tedious-helper');
const TYPES = tds.TYPES; // this a copy of tedious types

// create a db api

exports.deleteUser = o => {
  const cs = {}; // your tedious options
  const query = 'delete from users where accountid = @AccountID and username = @UserName';
  const params = {
    'AccountID': { type: TYPES.Int, required: true },
    'UserName': { type: TYPES.VarChar, required: true },
  };

  return tdsHelper.execSQL(cs, query, tdsHelper.merge(params, o));
};

exports.runAddObject = function (o) {
  const cs = { }; // all your connection options
  const query = 'dbo.spAddObject';
  const params = {
    'Name': { type: TYPES.VarChar, required: true },
    'TypeID': { type: TYPES.Int },
  };

  return tdsHelper.execSP(cs, query, tdsHelper.merge(params, o));
};

If used the parameter description object holds all the parameters for the sql. Each property is the parameter name, and the value is description of that parameter. Parameter names are case-insensitive!

{
  type: tedious.TYPES.VarChar, // the type of parameter
  alt: ['id', 'userid'], // alternate incoming names when matching values in merge
  required: !!boolean, // throws if true and parameter is not given
  options: { length: 50 }, // tedious param options if needed
  value: 1, // the value of parameter
}

if you use merge, you can merge the parameter type with another object that has parameter values given by property names.

Output parameters and return values

You can get output parameters and return values by keeping a reference to the parameters you passed in. The 'value' will be filled in with the appropriate value.

Readme

Keywords

Package Sidebar

Install

npm i @pitschbr/tedious-helper

Weekly Downloads

0

Version

1.2.12

License

ISC

Unpacked Size

11.2 kB

Total Files

5

Last publish

Collaborators

  • pitschbr