Skip to content

Instantly share code, notes, and snippets.

@willianpinho
Last active March 6, 2018 15:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save willianpinho/c0b443fecca53cd1a23efe1ddb1c1219 to your computer and use it in GitHub Desktop.
Save willianpinho/c0b443fecca53cd1a23efe1ddb1c1219 to your computer and use it in GitHub Desktop.
Auth User
<!DOCTYPE html><html><head><title></title><link rel="stylesheet" href="/stylesheets/style.css"></head><body><h1>models.usuario.get is not a function</h1><h2></h2><pre>TypeError: models.usuario.get is not a function
at /Users/willianpinho/Projects/bilin-api/routes/usuarios.js:363:18
at Layer.handle [as handle_request] (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/layer.js:95:5)
at /Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:335:12)
at next (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:275:10)
at Function.handle (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:174:3)
at router (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:47:12)
at Layer.handle [as handle_request] (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:317:13)
at /Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:335:12)
at next (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:275:10)
at /Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:635:15
at next (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:260:14)
at Function.handle (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:174:3)
at router (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:47:12)
at Layer.handle [as handle_request] (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:317:13)
at /Users/willianpinho/Projects/bilin-api/node_modules/express/lib/router/index.js:284:7</pre></body></html>
/**
* @swagger
* /usuarios/auth:
* post:
* tags:
* - Usuario
* description: Autenticar usuário
* produces:
* - application/json
* parameters:
* - name: email
* type: string
* description: Email obrigatório
* in: formData
* required: true
* - name: senha
* type: string
* description: Senha obrigatório
* in: formData
* required: true
* responses:
* 200:
* description: Dados do user cadastrado, token JWT
* 400:
* description: Faltaram parametros na requisição, ou erro na validacao
* 401:
* description: Usuário ou senha incorretos
* 403:
* description: Nível de acesso insuficiente, ou acesso a dados de usuário diferente
* 500:
* description: Erro interno do servidor
* schema:
* $ref: '#/definitions/Usuario'
*/
//Autenticação de usuário
router.post('/auth', function (req, res) {
if (!req.body.email || !req.body.senha) {
return res.status(400).json({ success: false, 'message': 'email.or.password.not.sent', 'code': 66 });
}
var parameters = {
attributes: ['idUsuario', 'nome', 'telefone', 'creditos', 'provider', 'email', 'senha', 'role','ativo'],
where: {
email: req.body.email
}
}
models.usuario.get(parameters, function (user, error) {
if (error) {
console.log(error)
return res.status(500).json(errorUtil.jsonFromError(error, 'unable.to.auth', 500));
}
if (user.provider == 'facebook' || user.provider == 'google') {
return res.status(401).json({ success: false, title: 'unable.to.login', message: 'social.login.provider', 'code': 47 });
}
if (user) {
if(user.ativo == false){
return res.status(401).json({ success: false, title: 'inactive.user', message: 'inactive.user', 'code': 150 });
}
if (user.validatePassword(req.body.senha)) {
generateToken(res, user);
} else {
return res.status(401).json({ success: false, title: 'unable.to.login', message: 'incorrect.username.password', 'code': 52 });
}
} else {
return res.status(401).json({ success: false, title: 'user.not.found', message: 'user.not.found', 'code': 50 });
}
})
});
"use strict";
var fs = require("fs");
var path = require("path");
var Sequelize = require("sequelize");
var env = process.env.NODE_ENV || "development";
var config = require(path.join(__dirname, '..', 'config', 'config.json'))[env];
var sequelize = new Sequelize(config.database, config.username, config.password, {
//Usando o dialeto do postgres
host: config.host,
dialect: 'postgres'
})
var db = {};
fs
.readdirSync(__dirname)
.filter(function(file) {
return (file.indexOf(".") !== 0) && (file !== "rdb.js");
})
.forEach(function(file) {
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);
}
});
sequelize.authenticate().then(function(err) {
console.log('Relational Database: Connection has been established successfully.');
}).catch(function (err) {
console.log('Relational Database: Unable to connect to the database:', err);
});
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment