Don't call SQLBaseStore methods from outside stores

This commit is contained in:
Erik Johnston 2019-12-04 10:16:44 +00:00
parent 3eb15c01d9
commit c2f525a525
4 changed files with 20 additions and 19 deletions

View file

@ -15,6 +15,7 @@
# limitations under the License.
import logging
from typing import Iterable, List
from six import iteritems, itervalues
@ -813,6 +814,22 @@ class RoomMemberWorkerStore(EventsWorkerStore):
return set(room_ids)
def get_membership_from_event_ids(
self, member_event_ids: Iterable[str]
) -> List[dict]:
"""Get user_id and membership of a set of event IDs.
"""
return self._simple_select_many_batch(
table="room_memberships",
column="event_id",
iterable=member_event_ids,
retcols=("user_id", "membership", "event_id"),
keyvalues={},
batch_size=500,
desc="get_membership_from_event_ids",
)
class RoomMemberBackgroundUpdateStore(BackgroundUpdateStore):
def __init__(self, db_conn, hs):