fix(draft): Always retrieve draft body when using clientId

This commit is contained in:
Ben Gotow 2015-08-28 11:43:30 -07:00
parent f8c5f7b967
commit 6d6b5ec8f2
4 changed files with 5 additions and 5 deletions

View file

@ -51,7 +51,7 @@ class DraftChangeSet
return Promise.resolve(true)
DatabaseStore = require './database-store'
DatabaseStore.findBy(Message, clientId: @clientId).then (draft) =>
DatabaseStore.findBy(Message, clientId: @clientId).include(Message.attributes.body).then (draft) =>
if @_destroyed
return Promise.resolve(true)
@ -130,7 +130,7 @@ class DraftStoreProxy
prepare: ->
DatabaseStore = require './database-store'
@_draftPromise ?= DatabaseStore.findBy(Message, clientId: @draftClientId).then (draft) =>
@_draftPromise ?= DatabaseStore.findBy(Message, clientId: @draftClientId).include(Message.attributes.body).then (draft) =>
return Promise.reject(new Error("Draft has been destroyed.")) if @_destroyed
return Promise.reject(new Error("Assertion Failure: Draft #{@draftClientId} not found.")) if not draft
@_setDraft(draft)

View file

@ -35,7 +35,7 @@ class DestroyDraftTask extends Task
else
return Promise.reject(new Error("Attempt to call DestroyDraftTask.performLocal without draftClientId"))
find.then (draft) =>
find.include(Message.attributes.body).then (draft) =>
return Promise.resolve() unless draft
@draft = draft
DatabaseStore.unpersistModel(draft)

View file

@ -35,7 +35,7 @@ class SendDraftTask extends Task
performRemote: ->
# Fetch the latest draft data to make sure we make the request with the most
# recent draft version
DatabaseStore.findBy(Message, clientId: @draftClientId).then (draft) =>
DatabaseStore.findBy(Message, clientId: @draftClientId).include(Message.attributes.body).then (draft) =>
# The draft may have been deleted by another task. Nothing we can do.
@draft = draft
if not draft

View file

@ -88,7 +88,7 @@ class SyncbackDraftTask extends Task
return Promise.resolve(Task.Status.Retry)
getLatestLocalDraft: =>
DatabaseStore.findBy(Message, clientId: @draftClientId)
DatabaseStore.findBy(Message, clientId: @draftClientId).include(Message.attributes.body)
checkDraftFromMatchesAccount: (draft) ->
DatabaseStore.findBy(Account, [Account.attributes.emailAddress.equal(draft.from[0].email)]).then (account) =>