aboutsummaryrefslogtreecommitdiff
path: root/roomserver/storage/interface.go
diff options
context:
space:
mode:
Diffstat (limited to 'roomserver/storage/interface.go')
-rw-r--r--roomserver/storage/interface.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/roomserver/storage/interface.go b/roomserver/storage/interface.go
index e0b9c56b..99891512 100644
--- a/roomserver/storage/interface.go
+++ b/roomserver/storage/interface.go
@@ -175,4 +175,11 @@ type Database interface {
GetLeftUsers(ctx context.Context, userIDs []string) ([]string, error)
PurgeRoom(ctx context.Context, roomID string) error
UpgradeRoom(ctx context.Context, oldRoomID, newRoomID, eventSender string) error
+
+ // GetMembershipForHistoryVisibility queries the membership events for the given eventIDs.
+ // Returns a map from (input) eventID -> membership event. If no membership event is found, returns an empty event, resulting in
+ // a membership of "leave" when calculating history visibility.
+ GetMembershipForHistoryVisibility(
+ ctx context.Context, userNID types.EventStateKeyNID, info *types.RoomInfo, eventIDs ...string,
+ ) (map[string]*gomatrixserverlib.HeaderedEvent, error)
}