Guest User

Untitled

a guest
Feb 15th, 2018
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var passwordHash = require('password-hash');
  2. var v = require('node-input-validator');    
  3. module.exports = function (db) {
  4.     return{
  5.         id: 0,
  6.         username: "",
  7.         password: "",
  8.         email: "",
  9.         CreateUser: async function(){
  10.             let resp = await this.UserValidation();
  11.             var isExixst = await this.IsUserExixstByName(this.username);
  12.         },
  13.  
  14.         Login: function(){
  15.  
  16.         },
  17.  
  18.         UserValidation: async function(){
  19.             let response = {
  20.                 valid: false,
  21.                 msg: ""
  22.             }
  23.             let r = {};
  24.             let validator = new v(r, {username:this.username,password:this.password,email:this.email},
  25.                 {
  26.                     username:'required|minLength:4|maxLength:50',
  27.                     password:'required|minLength:4|maxLength:50',
  28.                     email:'email'
  29.                 }
  30.             );
  31.            
  32.             let isValid = await validator.check();
  33.  
  34.             response.valid = isValid;
  35.             response.msg = validator.errors;
  36.  
  37.             return response;
  38.         },
  39.  
  40.         GetUserByName: function(username){
  41.             /*db.query("SELECT * FROM users WHERE username = ?", function (err, result, fields) {
  42.                 if (err) throw err;
  43.                 console.log(result);
  44.             });*/
  45.         },
  46.  
  47.         IsUserExixstByName: async function(username){
  48.             var sql = "SELECT * FROM users WHERE username = ?";
  49.             var query_var = [username];
  50.             var ret;
  51.             db.query(sql, query_var , function (err, rows , fields) {
  52.                 if (err) {
  53.                     throw err;
  54.                 }
  55.                 return rows;
  56.             });
  57.  
  58.             return await ret;
  59.         },
  60.  
  61.         InsertUserToDb: function(passwordHash){
  62.             return new Promise(function(resolve, reject) {
  63.                
  64.                 var sql = "INSERT INTO users (username, password, email) VALUES ?";
  65.                 var values = [
  66.                     [this.username, passwordHash, this.email]
  67.                 ];
  68.  
  69.                 db.query(sql, [values], function (err, result) {
  70.                     if (err) {
  71.                         return reject(err);
  72.                     }
  73.                     if(result.affectedRows != 1){
  74.                         return reject("unable to create user");
  75.                     }
  76.                     resolve(result);
  77.                 });
  78.  
  79.             });
  80.         }
  81.     }
  82. };
Add Comment
Please, Sign In to add comment