closure access to party and members query, setting up for

unsubscription / resubscription
This commit is contained in:
Tyler Renelle 2013-02-05 23:42:30 -05:00
parent 3d881ef373
commit d8bc88dcb0
2 changed files with 18 additions and 8 deletions

View file

@ -65,16 +65,13 @@ get '/', (page, model, next) ->
setupModelFns(model)
if obj.party?.current?
throw err if err
partiesQ = model.query('parties').withId(obj.party.current)
model.subscribe partiesQ, (err, parties) ->
party.partyQuery(model, obj.party.current, true).subscribe (err, res) ->
throw err if err
party = parties.at(0)
model.ref '_party', party
membersQ = model.query('users').party(parties.at(0).get('members'))
model.subscribe membersQ, (err, members) ->
p = res.at(0)
model.ref '_party', p
party.membersQuery(model, p.get('members'), true).subscribe (err, res) ->
throw err if err
model.ref '_partyMembers', members
model.ref '_partyMembers', res
# Here's a hack we need to get fixed (hopefully Lever will) - later model.queries override previous model.queries'
# returned fields. Aka, we need this here otherwise we only get the "public" fields for the current user, which

View file

@ -1,6 +1,19 @@
_ = require('underscore')
schema = require './schema'
_partyQ = null
_membersQ = null
module.exports.partyQuery = partyQuery = (model, id, reset) ->
if !_partyQ? or reset
_partyQ = model.query('parties').withId(id)
_partyQ
module.exports.membersQuery = membersQuery = (model, ids, reset) ->
if !_membersQ? or reset
_membersQ = model.query('users').party(ids)
_membersQ
setupListeners = (model) ->
model.on 'set', '_user.party.invitation', (id) ->