Start his vis

This commit is contained in:
Neil Alexander 2021-01-20 14:41:09 +00:00
parent 33f8d0e278
commit 10f2e8d92f
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944
7 changed files with 214 additions and 30 deletions

View file

@ -500,6 +500,30 @@ func (d *Database) EventPositionInTopology(
return types.TopologyToken{Depth: depth, PDUPosition: stream}, nil
}
func (d *Database) EventPositionInStream(
ctx context.Context, eventID string,
) (types.StreamPosition, error) {
pos, err := d.OutputEvents.SelectPositionInStream(ctx, nil, eventID)
if err != nil {
return 0, err
}
return pos, nil
}
func (d *Database) MostRecentMembership(
ctx context.Context, roomID, userID string,
) (*gomatrixserverlib.HeaderedEvent, types.StreamPosition, error) {
event, err := d.CurrentRoomState.SelectStateEvent(ctx, roomID, gomatrixserverlib.MRoomMember, userID)
if err != nil {
return nil, 0, fmt.Errorf("d.CurrentRoomState.SelectStateEvent: %w", err)
}
pos, err := d.OutputEvents.SelectPositionInStream(ctx, nil, event.EventID())
if err != nil {
return nil, 0, fmt.Errorf("d.OutputEvents.SelectPositionInStream: %w", err)
}
return event, pos, nil
}
func (d *Database) GetFilter(
ctx context.Context, localpart string, filterID string,
) (*gomatrixserverlib.Filter, error) {