Mailspring/internal_packages/worker-sync/lib
Juan Tejada 1ba3a64785 feat(metadata): Switch to storing metadata on models
Summary:
 - Adds a class ModelWithMetadata which models can now extend from
 - Instances of this class can query metadata for a plugin via
   `obj.metadataForPluginId(pluginId)`
 - To observe changes on metadata it is sufficient to observe database changes on
   the model. e.g.:
   `DatabaseStore.findAll(Thread,
   [Thread.attributes.pluginMetadata.contains(pluginId)])`
 - To set metadata a new action has been created: Actions.setMetadata
 - Adds a helper observable in nylas-observables to query for models with
   metadata
 - Merges CreateModelTask and UpdateModelTask into SyncbackModelTask
 - Update SendDraftTask ans SynbackDraftTask to handle metadata changes

Test Plan: - Unit tests

Reviewers: drew, evan, bengotow

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2575
2016-02-17 15:00:33 -08:00
..
contact-rankings-cache.coffee refactor(env): new NylasEnv global 2015-11-17 16:41:20 -08:00
main.coffee feat(mail-rules): Per-account mail rules filter incoming, existing mail 2015-12-23 02:19:32 -05:00
nylas-long-connection.coffee feat(metadata): Switch to storing metadata on models 2016-02-17 15:00:33 -08:00
nylas-sync-worker-pool.coffee feat(metadata): Switch to storing metadata on models 2016-02-17 15:00:33 -08:00
nylas-sync-worker.coffee feat(transactions): Explicit (and faster) database transactions 2015-12-17 11:46:05 -08:00
refreshing-json-cache.coffee feat(transactions): Explicit (and faster) database transactions 2015-12-17 11:46:05 -08:00