From 13879db9c83dfbc0ec002bd396fcf41acae207ae Mon Sep 17 00:00:00 2001 From: Ben Gotow Date: Thu, 14 Jul 2016 19:32:13 -0700 Subject: [PATCH] Wait until tables are created before queueing sync --- packages/nylas-api/routes/auth.js | 11 ++++++++--- packages/nylas-core/hook-account-crud.js | 1 - 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/nylas-api/routes/auth.js b/packages/nylas-api/routes/auth.js index 25f1e1bd4..cab20cafa 100644 --- a/packages/nylas-api/routes/auth.js +++ b/packages/nylas-api/routes/auth.js @@ -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({ - account: saved, - token: token, + DatabaseConnector.ensureAccountDatabase(saved.id).then(() => { + PubsubConnector.broadcastClient().lpushAsync('accounts:unclaimed', saved.id); + + return Promise.resolve({ + account: saved, + token: token, + }); }) ) ); diff --git a/packages/nylas-core/hook-account-crud.js b/packages/nylas-core/hook-account-crud.js index 5efc658f6..89c4eff8c 100644 --- a/packages/nylas-core/hook-account-crud.js +++ b/packages/nylas-core/hook-account-crud.js @@ -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, });