mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-09-17 18:14:53 +08:00
Fix account creation redis publish, rename to make more clear
This commit is contained in:
parent
ef5c4a29fe
commit
3c2b8bcb15
10 changed files with 18 additions and 18 deletions
|
@ -54,7 +54,7 @@ const validate = (request, username, password, callback) => {
|
|||
callback(null, false, {});
|
||||
return;
|
||||
}
|
||||
SchedulerUtils.notifyAccountIsActive(account.id)
|
||||
SchedulerUtils.markAccountIsActive(account.id)
|
||||
callback(null, true, account);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -5,8 +5,7 @@ module.exports = {
|
|||
createSyncbackRequest: function createSyncbackRequest(request, reply, syncRequestArgs) {
|
||||
request.getAccountDatabase().then((db) => {
|
||||
db.SyncbackRequest.create(syncRequestArgs).then((syncbackRequest) => {
|
||||
PubsubConnector.notify({
|
||||
accountId: db.accountId,
|
||||
PubsubConnector.notifyAccount(db.accountId, {
|
||||
type: MessageTypes.SYNCBACK_REQUESTED,
|
||||
data: syncbackRequest.id,
|
||||
});
|
||||
|
|
|
@ -9,6 +9,8 @@ const {
|
|||
DatabaseConnector,
|
||||
SyncPolicy,
|
||||
Provider,
|
||||
PubsubConnector,
|
||||
MessageTypes,
|
||||
} = require('nylas-core');
|
||||
|
||||
const {GMAIL_CLIENT_ID, GMAIL_CLIENT_SECRET, GMAIL_REDIRECT_URL} = process.env;
|
||||
|
|
|
@ -3,18 +3,16 @@ const MessageTypes = require('./message-types')
|
|||
|
||||
module.exports = (db, sequelize) => {
|
||||
sequelize.addHook("afterCreate", ({dataValues, $modelOptions}) => {
|
||||
if ($modelOptions.name.singular === 'Account') {
|
||||
if ($modelOptions.name.singular === 'account') {
|
||||
PubsubConnector.broadcastClient().lpushAsync('accounts:unclaimed', dataValues.id);
|
||||
PubsubConnector.notify({
|
||||
accountId: dataValues.id,
|
||||
type: MessageTypes.ACCOUNT_UPDATED,
|
||||
PubsubConnector.notifyAccount(dataValues.id, {
|
||||
type: MessageTypes.ACCOUNT_CREATED,
|
||||
});
|
||||
}
|
||||
})
|
||||
sequelize.addHook("afterUpdate", ({dataValues, $modelOptions}) => {
|
||||
if ($modelOptions.name.singular === 'Account') {
|
||||
PubsubConnector.notify({
|
||||
accountId: dataValues.id,
|
||||
if ($modelOptions.name.singular === 'account') {
|
||||
PubsubConnector.notifyAccount(dataValues.id, {
|
||||
type: MessageTypes.ACCOUNT_UPDATED,
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
module.exports = {
|
||||
ACCOUNT_CREATED: "ACCOUNT_CREATED",
|
||||
ACCOUNT_UPDATED: "ACCOUNT_UPDATED",
|
||||
SYNCBACK_REQUESTED: "SYNCBACK_REQUESTED",
|
||||
}
|
||||
|
|
|
@ -62,11 +62,11 @@ class PubsubConnector {
|
|||
});
|
||||
}
|
||||
|
||||
notify({accountId, type, data}) {
|
||||
notifyAccount(accountId, {type, data}) {
|
||||
this.broadcastClient().publish(`account-${accountId}`, JSON.stringify({type, data}));
|
||||
}
|
||||
|
||||
observe(accountId) {
|
||||
observeAccount(accountId) {
|
||||
return this._observableForChannelOnSharedListener(`account-${accountId}`);
|
||||
}
|
||||
|
||||
|
|
|
@ -47,14 +47,13 @@ const listActiveAccounts = () => {
|
|||
);
|
||||
}
|
||||
|
||||
const notifyAccountIsActive = (accountId) => {
|
||||
const markAccountIsActive = (accountId) => {
|
||||
const client = PubsubConnector.broadcastClient();
|
||||
const key = ACTIVE_KEY_FOR(accountId);
|
||||
client.incrAsync(key).then((val) => {
|
||||
client.expireAsync(key, 5 * 60 * 1000); // 5 min
|
||||
if (val === 1) {
|
||||
PubsubConnector.notify({
|
||||
accountId: accountId,
|
||||
PubsubConnector.notifyAccount(accountId, {
|
||||
type: MessageTypes.ACCOUNT_UPDATED,
|
||||
});
|
||||
}
|
||||
|
@ -72,6 +71,6 @@ module.exports = {
|
|||
assignPolicy,
|
||||
forEachAccountList,
|
||||
listActiveAccounts,
|
||||
notifyAccountIsActive,
|
||||
markAccountIsActive,
|
||||
checkIfAccountIsActive,
|
||||
}
|
||||
|
|
|
@ -99,6 +99,7 @@ class Root extends React.Component {
|
|||
onReceivedActiveAccountIds(accountIds) {
|
||||
this.setState({activeAccountIds: accountIds})
|
||||
}
|
||||
|
||||
onReceivedAccount(account) {
|
||||
const accounts = Object.assign({}, this.state.accounts);
|
||||
accounts[account.id] = account;
|
||||
|
|
|
@ -238,7 +238,7 @@ class FetchMessagesInFolder {
|
|||
folderImapUID: attributes.uid,
|
||||
folderId: this._category.id,
|
||||
headers: parsedHeaders,
|
||||
headerMessageId: parsedHeaders['message-id'][0],
|
||||
headerMessageId: parsedHeaders['message-id'] ? parsedHeaders['message-id'][0] : '',
|
||||
subject: parsedHeaders.subject[0],
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ class SyncWorker {
|
|||
this.syncNow();
|
||||
|
||||
this._onMessage = this._onMessage.bind(this);
|
||||
this._listener = PubsubConnector.observe(account.id).subscribe(this._onMessage)
|
||||
this._listener = PubsubConnector.observeAccount(account.id).subscribe(this._onMessage)
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
|
|
Loading…
Add table
Reference in a new issue