Skip to content

Instantly share code, notes, and snippets.

@mimiz
Created March 31, 2019 14:03
Show Gist options
  • Save mimiz/2a543e6aa74159ba02217e9ac17c9cef to your computer and use it in GitHub Desktop.
Save mimiz/2a543e6aa74159ba02217e9ac17c9cef to your computer and use it in GitHub Desktop.
function createUserAndCompany(userCompany) {
return sequelize.transaction((registerTrans) => {
return new Promise((resolve, reject) => {
const { user, company} = userCompany;
User.create(user)
.then((newUser) => {
Company.create({...company,idUser: newUser.id})
.then((newCompany) => {
EventEmitter.emit('USER_CREATED', {user:newUser}); // HERE IS THE PROBLEM
EventEmitter.emit('COMPANY_CREATED', {company: newCompany}); // OR HERE
resolve() // Promise is resolved so the transaction should be commited
})
.catch((err)=>reject(err)) // Promise is rejected so transaction is rolled back
})
.catch((err) => reject(err)); // Promise is rejected so transaction is rolled back
})
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment