Wait until tables are created before queueing sync

This commit is contained in:
Ben Gotow 2016-07-14 19:32:13 -07:00
parent 08c7ca8b0d
commit 13879db9c8
2 changed files with 8 additions and 4 deletions

View file

@ -6,6 +6,7 @@ const OAuth2 = google.auth.OAuth2;
const Serialization = require('../serialization');
const {
IMAPConnection,
PubsubConnector,
DatabaseConnector,
SyncPolicy,
Provider,
@ -70,9 +71,13 @@ const buildAccountWith = ({name, email, provider, settings, credentials}) => {
return account.save().then((saved) =>
AccountToken.create({accountId: saved.id}).then((token) =>
DatabaseConnector.ensureAccountDatabase(saved.id).thenReturn({
DatabaseConnector.ensureAccountDatabase(saved.id).then(() => {
PubsubConnector.broadcastClient().lpushAsync('accounts:unclaimed', saved.id);
return Promise.resolve({
account: saved,
token: token,
});
})
)
);

View file

@ -4,7 +4,6 @@ const MessageTypes = require('./message-types')
module.exports = (db, sequelize) => {
sequelize.addHook("afterCreate", ({dataValues, $modelOptions}) => {
if ($modelOptions.name.singular === 'account') {
PubsubConnector.broadcastClient().lpushAsync('accounts:unclaimed', dataValues.id);
PubsubConnector.notifyAccount(dataValues.id, {
type: MessageTypes.ACCOUNT_CREATED,
});