mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-08-03 08:21:07 +00:00
closure access to party and members query, setting up for
unsubscription / resubscription
This commit is contained in:
parent
3d881ef373
commit
d8bc88dcb0
2 changed files with 18 additions and 8 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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) ->
|
||||
|
|
|
|||
Loading…
Reference in a new issue