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.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/roomserver/storage/interface.go b/roomserver/storage/interface.go
index 0235e51e..a13c44d6 100644
--- a/roomserver/storage/interface.go
+++ b/roomserver/storage/interface.go
@@ -71,6 +71,10 @@ type Database interface {
GetLatestEventsForUpdate(ctx context.Context, roomNID types.RoomNID) (types.RoomRecentEventsUpdater, error)
GetTransactionEventID(ctx context.Context, transactionID string, sessionID int64, userID string) (string, error)
RoomNID(ctx context.Context, roomID string) (types.RoomNID, error)
+ // RoomNIDExcludingStubs is a special variation of RoomNID that will return 0 as if the room
+ // does not exist if the room has no latest events. This can happen when we've received an
+ // invite over federation for a room that we don't know anything else about yet.
+ RoomNIDExcludingStubs(ctx context.Context, roomID string) (types.RoomNID, error)
LatestEventIDs(ctx context.Context, roomNID types.RoomNID) ([]gomatrixserverlib.EventReference, types.StateSnapshotNID, int64, error)
GetInvitesForUser(ctx context.Context, roomNID types.RoomNID, targetUserNID types.EventStateKeyNID) (senderUserIDs []types.EventStateKeyNID, err error)
SetRoomAlias(ctx context.Context, alias string, roomID string, creatorUserID string) error