diff options
author | S7evinK <2353100+S7evinK@users.noreply.github.com> | 2022-02-21 17:12:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-21 17:12:22 +0100 |
commit | cf525d1f619cc65df244c20ec0f220ace22ae2bd (patch) | |
tree | 40e72b7e7da95956892d45e1613ad7eae206d147 /syncapi/storage/tables/interface.go | |
parent | 280e9b19a195e3ce19f0fa5bc0e94bb09e397a23 (diff) |
Implement `/context` (#2207)
* Add QueryEventsAfter
* Add /context
* Make all tests pass on sqlite
* Add queries to get the events for /context requests
* Move /context to the syncapi
* Revert "Add QueryEventsAfter"
This reverts commit 440a771d10632622e8c65d35fe90f0804bc98862.
* Simplify getting the required events
* Apply RoomEventFilter when getting events
* Add passing tests
* Remove logging
* Remove unused SQL statements
Update comments & add TODO
Diffstat (limited to 'syncapi/storage/tables/interface.go')
-rw-r--r-- | syncapi/storage/tables/interface.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/syncapi/storage/tables/interface.go b/syncapi/storage/tables/interface.go index 02887271..1d807ee6 100644 --- a/syncapi/storage/tables/interface.go +++ b/syncapi/storage/tables/interface.go @@ -63,6 +63,10 @@ type Events interface { UpdateEventJSON(ctx context.Context, event *gomatrixserverlib.HeaderedEvent) error // DeleteEventsForRoom removes all event information for a room. This should only be done when removing the room entirely. DeleteEventsForRoom(ctx context.Context, txn *sql.Tx, roomID string) (err error) + + SelectContextEvent(ctx context.Context, txn *sql.Tx, roomID, eventID string) (int, gomatrixserverlib.HeaderedEvent, error) + SelectContextBeforeEvent(ctx context.Context, txn *sql.Tx, id int, roomID string, filter *gomatrixserverlib.RoomEventFilter) ([]*gomatrixserverlib.HeaderedEvent, error) + SelectContextAfterEvent(ctx context.Context, txn *sql.Tx, id int, roomID string, filter *gomatrixserverlib.RoomEventFilter) (int, []*gomatrixserverlib.HeaderedEvent, error) } // Topology keeps track of the depths and stream positions for all events. |