mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-11-14 05:41:05 +08:00
f2517ea7d7
Summary: This diff is a rename. No logical changes. We used to have a set of files called `nylas-sync-worker`. In Old N1 these used to have a lot of logic to slowly sync mail from our API. Since we exclusively use local-sync via a soon-to-be-obsolesced delta stream, these files really just manage the delta streaming connection. It's incredibly confusing to have a set of files called worker-sync when there's a sync-worker already in the codebase. This renames everything to refer to them as account sync workers. The reason I wanted this rename is because the IdentityStore on initial launch triggers and fires a fairly scary-sounding `Actions.refreshAllSyncWorkers()`. In reality all it does is `Actions.refreshAllDeltaConnections()`. I'm also tired of staring at files for a full minute before realizing that this is not the sync worker I was looking for. Test Plan: After rename, booted the app and ensured that deltas were coming through for new mail and no errors were being thrown Reviewers: halla, juan Reviewed By: juan Differential Revision: https://phab.nylas.com/D3767
49 lines
1.1 KiB
JavaScript
49 lines
1.1 KiB
JavaScript
import {
|
|
NylasAPI,
|
|
NylasAPIRequest,
|
|
} from 'nylas-exports'
|
|
import RefreshingJSONCache from './refreshing-json-cache'
|
|
|
|
|
|
// Stores contact rankings
|
|
class ContactRankingsCache extends RefreshingJSONCache {
|
|
constructor(accountId) {
|
|
super({
|
|
key: `ContactRankingsFor${accountId}`,
|
|
version: 1,
|
|
refreshInterval: 60 * 60 * 1000 * 24, // one day
|
|
})
|
|
this._accountId = accountId
|
|
}
|
|
|
|
fetchData = (callback) => {
|
|
if (NylasEnv.inSpecMode()) return
|
|
|
|
const request = new NylasAPIRequest({
|
|
api: NylasAPI,
|
|
options: {
|
|
accountId: this._accountId,
|
|
path: "/contacts/rankings",
|
|
returnsModel: false,
|
|
},
|
|
})
|
|
|
|
request.run()
|
|
.then((json) => {
|
|
if (!json || !(json instanceof Array)) return
|
|
|
|
// Convert rankings into the format needed for quick lookup
|
|
const rankings = {}
|
|
for (const [email, rank] of json) {
|
|
rankings[email.toLowerCase()] = rank
|
|
}
|
|
callback(rankings)
|
|
})
|
|
.catch((err) => {
|
|
console.warn(`Request for Contact Rankings failed for
|
|
account ${this._accountId}. ${err}`)
|
|
})
|
|
}
|
|
}
|
|
|
|
export default ContactRankingsCache
|