mirror of
https://github.com/hoernschen/dendrite.git
synced 2025-08-02 06:12:45 +00:00
Start his vis
This commit is contained in:
parent
33f8d0e278
commit
10f2e8d92f
7 changed files with 214 additions and 30 deletions
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue