FFSQL
This is a functional library that wraps the cross-platofrm node to sql library Seriate. It relies on three npm packages.
- data.task - used to create a task oriented work flow
- data.either - used to check on nulls
- seriate - used to make calls to a sql database from node
Installation
npm install @firstfleet/ffsql --save
Use
Each of the exposed module methods return Task from data.task. You need to fork the task in order to get you Task.rejected(error) or your Task.of(data)
Require the module
cosnt sql = require('@firstfleet/ffsql')
ReturnSqlResults
sql.ReturnSqlResults(procedure, params)
Takes in a prodcedure name {string} and params {Object}. Returns a Task.rejected(error) || Task.of(data)
Example
sql.ReturnSqlResults("Database.dbo.getSqlRecords", {user: userId, option: 1})
ExecSql
sql.ExecSql(procedure, params)
Takes in a procedure name {string} and a params {Object}. Returns either a Task.rejected(error) || Task.of('Success')
Used to execute a sql procedure when not expecting any data to return.
ExecDynamicSql
sql.ExecDynamicSql(procdedure || sql string, params)
Takes in either a sql procedure, or a string of sql text like "select * from table". Returns either a Task.rejected(error) || Task.of(data)