Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Model
- 'use strict'
- const bCrypt = require('bcrypt-nodejs')
- module.exports = function(sequelize, DataTypes) {
- const User = sequelize.define('User', {
- nick_name: DataTypes.STRING,
- password: {
- type: DataTypes.STRING,
- allowNull: false,
- set(val) {
- val = bCrypt.hashSync(val, bCrypt.genSaltSync(10), null)
- this.setDataValue('password', val)
- }
- },
- email: DataTypes.STRING,
- first_name: DataTypes.STRING,
- last_name: DataTypes.STRING,
- show_as: DataTypes.ENUM(
- "nick_name",
- "email",
- "full_name"
- )
- }, {
- classMethods: {
- associate: (models) => {
- // associations can be defined here
- }
- }
- })
- User.prototype.Name = () => {
- console.log(this);
- switch (this.show_as) {
- case "nick_name": return this.nick_name;
- case "email": return this.email;
- case "full_name": return this.first_name + " " + this.last_name;
- }
- };
- User.prototype.IsValidPassword = (password) => {
- return bCrypt.compareSync(password, this.password);
- }
- return User
- };
- // Router
- router.get('/:nick_name', (req, res, next) => {
- db.User.findOne({where: {nick_name: req.params.nick_name}})
- .then(user => {
- res.render('users/user', {
- title: req.i18n.__("users.user"),
- user: user,
- name: user.Name()
- })
- })
- })
- // Stack
- Unhandled rejection TypeError: Cannot read property 'show_as' of undefined
- at model.User.Name (C:\Users\miesz\Home\Code\git\kaye\book\app\models\user.js:33:17)
- at db.User.findOne.then.user (C:\Users\miesz\Home\Code\git\kaye\book\app\controllers\users.js:56:22)
- at tryCatcher (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\util.js:16:23)
- at Promise._settlePromiseFromHandler (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\promise.js:512:31)
- at Promise._settlePromise (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\promise.js:569:18)
- at Promise._settlePromise0 (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\promise.js:614:10)
- at Promise._settlePromises (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\promise.js:693:18)
- at Async._drainQueue (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\async.js:133:16)
- at Async._drainQueues (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\async.js:143:10)
- at Immediate.Async.drainQueues (C:\Users\miesz\Home\Code\git\kaye\book\node_modules\bluebird\js\release\async.js:17:14)
- at runCallback (timers.js:651:20)
- at tryOnImmediate (timers.js:624:5)
- at processImmediate [as _immediateCallback] (timers.js:596:5)
- GET /users/q - - ms - -
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement