Skip to content

Never return password not working? #2

@rastalamm

Description

@rastalamm

So I am not sure what I am doing wrong but the 'password' column/value is still being sent out.

Here are my settings:

User.js Model

var sequelizeAttributeRoles = require('sequelize-attribute-roles');

"use strict";
module.exports = function (sequelize, DataTypes) {

    var User = sequelize.define("User", {
        id: {
            type: DataTypes.INTEGER,
            primaryKey: true,
            autoIncrement: true
        },
        first_name: DataTypes.STRING,
        last_name: DataTypes.STRING,
        password: {
            type: DataTypes.STRING,
            access: false
        },
    }, {
        getterMethods: {
            full_name: function () {
                return `${this.first_name} ${this.last_name}`;
            }
        },
        tableName: "users"
    });

    sequelizeAttributeRoles(User);

    return User;
};

index.js (Sequelize generated)

'use strict';

var fs        = require('fs');
var path      = require('path');
var Sequelize = require('sequelize');
var sequelizeAttributeRoles = require('sequelize-attribute-roles');
var basename  = path.basename(module.filename);
var env       = process.env.NODE_ENV || 'development';
var config    = require(__dirname + '/../config/config.json')[env];
var sequelize = new Sequelize(config.database, config.username, config.password, {
    host: config.host,
    dialect: config.dialect,
    define: {underscored: true}
});
var db        = {};


fs
  .readdirSync(__dirname)
  .filter(function(file) {
    return (file.indexOf('.') !== 0) && (file !== basename);
  })
  .forEach(function(file) {
    if (file.slice(-3) !== '.js') return;
    var model = sequelize['import'](path.join(__dirname, file));
    db[model.name] = model;
  });

Object.keys(db).forEach(function(modelName) {
  if ('associate' in db[modelName]) {
    db[modelName].associate(db);
  }
});

sequelizeAttributeRoles(sequelize);

db.sequelize = sequelize;
db.Sequelize = Sequelize;

module.exports = db;

My query: (the where: where is predefined above and is working properly)

User.findOne({
                where: where
            }, {role: 'other'}).then(function (user) {
                if (!user) {
                    res.sendStatus(404);
                } else {
                    res.json(user);
                }
            });

I also tried the below query with no luck :(

User.findOne({
                where: where,
                role: 'other'
            }).then(function (user) {
                if (!user) {
                    res.sendStatus(404);
                } else {
                    res.json(user);
                }
            });

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions