diff --git a/synapse/rest/client/v2_alpha/sync.py b/synapse/rest/client/v2_alpha/sync.py
index 31db47eba0..6dcc407451 100644
--- a/synapse/rest/client/v2_alpha/sync.py
+++ b/synapse/rest/client/v2_alpha/sync.py
@@ -172,44 +172,36 @@ class SyncRestServlet(RestServlet):
@staticmethod
def encode_response(time_now, sync_result, access_token_id, filter):
- response = {
- "device_one_time_keys_count": sync_result.device_one_time_keys_count,
- "next_batch": sync_result.next_batch.to_string(),
- }
-
- if sync_result.account_data:
- response["account_data"] = {"events": sync_result.account_data}
- if sync_result.to_device:
- response["to_device"] = {"events": sync_result.to_device}
- if sync_result.device_lists:
- response["device_lists"] = {
- "changed": list(sync_result.device_lists),
- }
-
- if sync_result.presence:
- response["presence"] = SyncRestServlet.encode_presence(
- sync_result.presence, time_now
- )
+ joined = SyncRestServlet.encode_joined(
+ sync_result.joined, time_now, access_token_id, filter.event_fields
+ )
- rooms = {}
- if sync_result.joined:
- rooms["join"] = SyncRestServlet.encode_joined(
- sync_result.joined, time_now, access_token_id, filter.event_fields
- )
- if sync_result.invited:
- rooms["invite"] = SyncRestServlet.encode_invited(
- sync_result.invited, time_now, access_token_id
- )
- if sync_result.archived:
- rooms["leave"] = SyncRestServlet.encode_archived(
- sync_result.archived, time_now, access_token_id,
- filter.event_fields,
- )
+ invited = SyncRestServlet.encode_invited(
+ sync_result.invited, time_now, access_token_id,
+ )
- if rooms:
- response["rooms"] = rooms
+ archived = SyncRestServlet.encode_archived(
+ sync_result.archived, time_now, access_token_id,
+ filter.event_fields,
+ )
- return response
+ return {
+ "account_data": {"events": sync_result.account_data},
+ "to_device": {"events": sync_result.to_device},
+ "device_lists": {
+ "changed": list(sync_result.device_lists),
+ },
+ "presence": SyncRestServlet.encode_presence(
+ sync_result.presence, time_now
+ ),
+ "rooms": {
+ "join": joined,
+ "invite": invited,
+ "leave": archived,
+ },
+ "device_one_time_keys_count": sync_result.device_one_time_keys_count,
+ "next_batch": sync_result.next_batch.to_string(),
+ }
@staticmethod
def encode_presence(events, time_now):
|