Pull out full state less

This commit is contained in:
Erik Johnston 2016-08-25 18:15:51 +01:00
parent 721414d98a
commit 0e1900d819
2 changed files with 15 additions and 10 deletions

View file

@ -278,18 +278,19 @@ class Auth(object):
@defer.inlineCallbacks
def check_host_in_room(self, room_id, host):
curr_state = yield self.state.get_current_state(room_id)
curr_state_id = yield self.state.get_current_state_ids(room_id)
for event in curr_state.values():
if event.type == EventTypes.Member:
for (etype, state_key), event_id in curr_state_id.items():
if etype == EventTypes.Member:
try:
if get_domain_from_id(event.state_key) != host:
if get_domain_from_id(state_key) != host:
continue
except:
logger.warn("state_key not user_id: %s", event.state_key)
logger.warn("state_key not user_id: %s", state_key)
continue
if event.content["membership"] == Membership.JOIN:
event = yield self.store.get_event(event_id, allow_none=True)
if event and event.content["membership"] == Membership.JOIN:
defer.returnValue(True)
defer.returnValue(False)