Merge branch 'master' of github.com:nylas/k2

This commit is contained in:
Halla Moore 2016-06-30 17:11:05 -07:00
commit 84ce3bdeb3
3 changed files with 14 additions and 2 deletions

View file

@ -49,8 +49,9 @@ const buildAccountWith = ({name, email, provider, settings, credentials}) => {
name: name,
provider: provider,
emailAddress: email,
syncPolicy: SyncPolicy.defaultPolicy(),
connectionSettings: settings,
syncPolicy: SyncPolicy.defaultPolicy(),
lastSyncCompletions: [],
})
account.setCredentials(credentials);

View file

@ -1,5 +1,5 @@
const crypto = require('crypto');
const {JSONType} = require('../../database-types');
const {JSONType, JSONARRAYType} = require('../../database-types');
const {DB_ENCRYPTION_ALGORITHM, DB_ENCRYPTION_PASSWORD} = process.env;
@ -12,6 +12,7 @@ module.exports = (sequelize, Sequelize) => {
connectionCredentials: Sequelize.STRING,
syncPolicy: JSONType('syncPolicy'),
syncError: JSONType('syncError', {defaultValue: null}),
lastSyncCompletions: JSONARRAYType('lastSyncCompletions'),
}, {
classMethods: {
associate: ({AccountToken}) => {
@ -29,6 +30,7 @@ module.exports = (sequelize, Sequelize) => {
connection_settings: this.connectionSettings,
sync_policy: this.syncPolicy,
sync_error: this.syncError,
lastSyncCompletions: this.lastSyncCompletions,
}
},

View file

@ -176,6 +176,15 @@ class SyncWorker {
onSyncDidComplete() {
const {afterSync} = this._account.syncPolicy;
let lastSyncCompletions = [...this._account.lastSyncCompletions]
lastSyncCompletions = [Date.now(), ...lastSyncCompletions]
if (lastSyncCompletions.length > 10) {
lastSyncCompletions.pop()
}
this._account.lastSyncCompletions = lastSyncCompletions
this._account.save()
console.log('Syncworker: Completed sync cycle')
if (afterSync === 'idle') {
return this._getIdleFolder()
.then((idleFolder) => this._conn.openBox(idleFolder.name))