Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function login(email, password, callback) {
- //this example uses the "tedious" library
- //more info here: http://pekim.github.io/tedious/index.html
- var Connection = require('tedious@1.11.0').Connection;
- var Request = require('tedious@1.11.0').Request;
- var TYPES = require('tedious@1.11.0').TYPES;
- var connection = new Connection({
- userName: 'username',
- password: 'pass',
- server: 'server',
- options: {
- database: 'db',
- encrypt: true,
- rowCollectionOnRequestCompletion: true
- }
- });
- var query = "SELECT Id, Email, Password " +
- "FROM user WHERE Email = @Email";
- connection.on('debug', function (text) {
- // Uncomment next line in order to enable debugging messages
- // console.log(text);
- }).on('errorMessage', function (text) {
- console.log(JSON.stringify(text, null, 2));
- return callback(text);
- }).on('infoMessage', function (text) {
- // Uncomment next line in order to enable information messages
- // console.log(JSON.stringify(text, null, 2));
- });
- connection.on('connect', function (err) {
- if (err) { return callback(err); }
- var request = new Request(query, function (err, rowCount, rows) {
- if (err) {
- callback(new Error(err));
- } else if (rowCount < 1) {
- callback(new WrongUsernameOrPasswordError(email));
- } else {
- bcrypt.compare(password, rows[0][2].value, function (err, isValid) {
- if (err) { callback(new Error(err)); }
- else if (!isValid) { callback(new WrongUsernameOrPasswordError(email)); }
- else {
- callback(null, {
- user_id: rows[0][0].value,
- email: rows[0][1].value
- });
- }
- });
- }
- });
- request.addParameter('Email', TYPES.VarChar, email);
- connection.execSql(request);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement