34 lines
839 B
JavaScript
34 lines
839 B
JavaScript
const db = require("../models/index");
|
|
|
|
const Op = db.Sequelize.Op;
|
|
|
|
const { Auth: Auth, User: User, Role: Role } = db;
|
|
|
|
const registerUser = (user) => {
|
|
return Auth.create({
|
|
email: user.email,
|
|
password: user.password
|
|
}).then((auth) => {
|
|
return User.create({
|
|
firstName: user.firstName,
|
|
lastName: user.lastName,
|
|
dateOfBirth: new Date(user.dateOfBirth),
|
|
authId: auth.id
|
|
}).then(createdUser => {
|
|
return Role.findAll({
|
|
where: {
|
|
name: {
|
|
[Op.or]: user.roles
|
|
}
|
|
}
|
|
}).then(roles => {
|
|
createdUser.setRoles(roles);
|
|
|
|
return createdUser;
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
module.exports = { registerUser };
|