Задать вопрос
@urajo

Как добавить данные в бд через sequelize?

в папки roures лежит файл auth с кодом

const express = require('express'),
	router = express.Router(),
	bcrypt = require('bcrypt-nodejs'),
	models = require('../models');

router.post('/register', (request, response)=>{
	const login = request.body.name,
		mail = request.body.email,
		pass = request.body.password,
		repass = request.body.repassword;
	if(!login || !mail || !pass || !repass){
		response.json({
			ok: false,
			error: 'Все поля должны быть заполнены!',
			fields: ['login', 'mail', 'pass', 'repass']
		});
	}else if(login.length < 3 || login.length > 16){
		response.json({
			ok: false,
			error: 'Длина логина от 3 до 16 символов!',
			fields: ['login']
		});
	}else if(pass !== repass){
		response.json({
			ok: false,
			error: 'Не совпадают пароль',
			fields: ['pass', 'repass']
		})
	}else{
		bcrypt.hash(pass, null, null, function(err, hash){
			models.User.create({
				login: login,
				mail: mail,
				password: hash,
				privilege: 1
			}).then(user => {
				console.log(user);
				response.json({
					ok:true
				})
			}).catch(err => {
				console.log(err);
			})
		}) 
	}
});

module.exports = router;

В нем не срабатывает фрагмент
models.User.create({
				login: login,
				mail: mail,
				password: hash,
				privilege: 1
			})

В логе пишет
models.User.create({

TypeError: models.User.create is not a function


Файл индекс для models лежит в соседней папке models, его содержание
const Book = require('./book'),
	User =  require('./user');

module.exports = {
	Book,
	User
}

И файл юзер лежит по соседству с индексом, содержит в себе
const database = require('../database'),
	User = database.sequelize.define('user',{
		id: {
			type: database.Sequelize.INTEGER,
			autoIncrement: true,
			primaryKey: true,
			allowNull: false
		},
		login: {
			type: database.Sequelize.STRING,
			allowNull: false,
			unique: true
		},
		password: {
			type: database.Sequelize.STRING,
			allowNull: false
		},
		mail: {
			type: database.Sequelize.STRING,
			allowNull: false,
			unique: true
		},
		privilege:{
			type: database.Sequelize.INTEGER,
			allowNull: false
		}
	});

module.exports = {
	User: User
}


В чем ошибка не могу понять?
  • Вопрос задан
  • 245 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Robur
@Robur
Знаю больше чем это необходимо
const Book = require('./book').Book,
  User =  require('./user').User;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы