Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Model
  2. 'use strict'
  3. const bCrypt = require('bcrypt-nodejs')
  4.  
  5. module.exports = function(sequelize, DataTypes) {
  6.   const User = sequelize.define('User', {
  7.     nick_name: DataTypes.STRING,
  8.     password: {
  9.       type: DataTypes.STRING,
  10.       allowNull: false,
  11.       set(val) {
  12.         val = bCrypt.hashSync(val, bCrypt.genSaltSync(10), null)
  13.         this.setDataValue('password', val)
  14.       }
  15.     },
  16.     email: DataTypes.STRING,
  17.     first_name: DataTypes.STRING,
  18.     last_name: DataTypes.STRING,
  19.     show_as: DataTypes.ENUM(
  20.       "nick_name",
  21.       "email",
  22.       "full_name"
  23.     )
  24.   }, {
  25.     classMethods: {
  26.       associate: (models) => {
  27.         // associations can be defined here
  28.       }
  29.     }
  30.   })
  31.  
  32.   User.prototype.Name = () => {
  33.     console.log(this);
  34.     switch (this.show_as) {
  35.       case "nick_name": return this.nick_name;
  36.       case "email": return this.email;
  37.       case "full_name": return this.first_name + " " + this.last_name;
  38.     }
  39.   };
  40.  
  41.   User.prototype.IsValidPassword = (password) => {
  42.     return bCrypt.compareSync(password, this.password);
  43.   }
  44.  
  45.   return User
  46. };
  47.  
  48. // Router
  49.   router.get('/:nick_name', (req, res, next) => {
  50.     db.User.findOne({where: {nick_name: req.params.nick_name}})
  51.       .then(user => {
  52.         res.render('users/user', {
  53.           title: req.i18n.__("users.user"),
  54.           user: user,
  55.           name: user.Name()
  56.         })
  57.       })
  58.   })
  59.  
  60. // Stack
  61. Unhandled rejection TypeError: Cannot read property 'show_as' of undefined
  62.     at model.User.Name (C:\Users\miesz\Home\Code\git\kaye\book\app\models\user.js:33:17)
  63.     at db.User.findOne.then.user (C:\Users\miesz\Home\Code\git\kaye\book\app\controllers\users.js:56:22)
  64.     at tryCatcher (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\util.js:16:23)
  65.     at Promise._settlePromiseFromHandler (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\promise.js:512:31)
  66.     at Promise._settlePromise (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\promise.js:569:18)
  67.     at Promise._settlePromise0 (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\promise.js:614:10)
  68.     at Promise._settlePromises (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\promise.js:693:18)
  69.     at Async._drainQueue (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\async.js:133:16)
  70.     at Async._drainQueues (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\async.js:143:10)
  71.     at Immediate.Async.drainQueues (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\async.js:17:14)
  72.     at runCallback (timers.js:651:20)
  73.     at tryOnImmediate (timers.js:624:5)
  74.     at processImmediate [as _immediateCallback] (timers.js:596:5)
  75. GET /users/q - - ms - -
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement