Advertisement
Guest User

Untitled

a guest
Jul 16th, 2017
1,907
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. function login(email, password, callback) {
  2. //this example uses the "tedious" library
  3. //more info here: http://pekim.github.io/tedious/index.html
  4. var Connection = require('tedious@1.11.0').Connection;
  5. var Request = require('tedious@1.11.0').Request;
  6. var TYPES = require('tedious@1.11.0').TYPES;
  7.  
  8. var connection = new Connection({
  9. userName: 'username',
  10. password: 'pass',
  11. server: 'server',
  12. options: {
  13. database: 'db',
  14. encrypt: true,
  15. rowCollectionOnRequestCompletion: true
  16. }
  17. });
  18.  
  19. var query = "SELECT Id, Email, Password " +
  20. "FROM user WHERE Email = @Email";
  21.  
  22. connection.on('debug', function (text) {
  23. // Uncomment next line in order to enable debugging messages
  24. // console.log(text);
  25. }).on('errorMessage', function (text) {
  26. console.log(JSON.stringify(text, null, 2));
  27. return callback(text);
  28. }).on('infoMessage', function (text) {
  29. // Uncomment next line in order to enable information messages
  30. // console.log(JSON.stringify(text, null, 2));
  31. });
  32.  
  33. connection.on('connect', function (err) {
  34. if (err) { return callback(err); }
  35.  
  36. var request = new Request(query, function (err, rowCount, rows) {
  37. if (err) {
  38. callback(new Error(err));
  39. } else if (rowCount < 1) {
  40. callback(new WrongUsernameOrPasswordError(email));
  41. } else {
  42. bcrypt.compare(password, rows[0][2].value, function (err, isValid) {
  43. if (err) { callback(new Error(err)); }
  44. else if (!isValid) { callback(new WrongUsernameOrPasswordError(email)); }
  45. else {
  46. callback(null, {
  47. user_id: rows[0][0].value,
  48. email: rows[0][1].value
  49. });
  50. }
  51. });
  52. }
  53. });
  54.  
  55. request.addParameter('Email', TYPES.VarChar, email);
  56. connection.execSql(request);
  57. });
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement