Translate events in pre-channel subscribe responses.
This commit is contained in:
2
api.py
2
api.py
@@ -137,7 +137,7 @@ def Subscribe(google_user, client, client_address, instance_id, args):
|
|||||||
# Probably a race with the channel opening
|
# Probably a race with the channel opening
|
||||||
return {
|
return {
|
||||||
'result': 'retry',
|
'result': 'retry',
|
||||||
'events': subject.GetEvents(messages, last_id),
|
'events': subject.GetEvents(messages, last_id, args['subject']),
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -357,13 +357,17 @@ class Subject(db.Model):
|
|||||||
for event in events]
|
for event in events]
|
||||||
|
|
||||||
@db.transactional()
|
@db.transactional()
|
||||||
def GetEvents(self, messages, last_id):
|
def GetEvents(self, messages, last_id, request):
|
||||||
events = [m.ToEvent() for m in self.GetPins()]
|
events = [m.ToEvent() for m in self.GetPins()]
|
||||||
if messages:
|
if messages:
|
||||||
events.extend(m.ToEvent() for m in self.GetRecentMessages(messages))
|
events.extend(m.ToEvent() for m in self.GetRecentMessages(messages))
|
||||||
if last_id is not None:
|
if last_id is not None:
|
||||||
events.extend(m.ToEvent() for m in self.GetMessagesSince(last_id))
|
events.extend(m.ToEvent() for m in self.GetMessagesSince(last_id))
|
||||||
return events
|
|
||||||
|
readable_only_by_me = (request.get('readable_only_by') == 'me')
|
||||||
|
writable_only_by_me = (request.get('writable_only_by') == 'me')
|
||||||
|
return self.TranslateEvents(
|
||||||
|
events, readable_only_by_me, writable_only_by_me)
|
||||||
|
|
||||||
|
|
||||||
class Subscription(db.Model):
|
class Subscription(db.Model):
|
||||||
@@ -388,9 +392,7 @@ class Subscription(db.Model):
|
|||||||
.fetch(1))
|
.fetch(1))
|
||||||
if not subscriptions:
|
if not subscriptions:
|
||||||
cls(parent=subject, instance=instance).put()
|
cls(parent=subject, instance=instance).put()
|
||||||
return subject.TranslateEvents(
|
return subject.GetEvents(messages, last_id, request)
|
||||||
subject.GetEvents(messages, last_id),
|
|
||||||
readable_only_by_me, writable_only_by_me)
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@db.transactional()
|
@db.transactional()
|
||||||
|
|||||||
Reference in New Issue
Block a user