Это код контроллера. Этот пост или создает пользователя. адрес электронной почты должен быть уникальным, и учетная запись не может быть создана повторно с тем же адресом электронной почты.
exports.saveUser = (request, response) => {
const result = (savedUser) => {
response.status(200);
response.json(savedUser);
};
bcrypt.hash(request.body.user.password, saltRounds, function(err, hash) {
let user = {
first_name : request.body.user.firstName,
last_name : request.body.user.lastName,
email : request.body.user.email,
hashed_password : hash
}
console.log("conroller")
const promise = userService.save(user);
promise
.then(result)
.catch(renderErrorResponse(response));
});
};
Это уровень обслуживания
'use strict';
const db = require("./../../models")
/**
* Saves the new user object.
*
* @param user
*/
exports.save = (user,result) => {
return db.User_tbl.create({
first_name: user.first_name,
last_name:user.last_name,
email:user.email,
hashed_password:user.hashed_password
})
}
Ниже представлена модель пользователя
module.exports = (sequelize,DataTypes)=>{
const user = sequelize.define("User_tbl",{
first_name:{
type: DataTypes.STRING(64),
allowNull:false
},
last_name:{
type: DataTypes.STRING(64),
allowNull:false
},
email:{
type: DataTypes.STRING(64),
allowNull:false,
unique:true
},
hashed_password:{
type: DataTypes.STRING(255),
allowNull:false
},
id:{
type:DataTypes.INTEGER,
primaryKey:true,
autoIncrement: true
}
})
return user;
}
Вещи Я включил тестовый тест, который попал в тестовую базу данных ... но это не работает при проверках PR, поскольку на стороне хоста нет базы данных. Пробовал фиктивное продолжение, но неправильная документация.