aboutsummaryrefslogtreecommitdiff
path: root/roomserver/storage/shared
diff options
context:
space:
mode:
Diffstat (limited to 'roomserver/storage/shared')
-rw-r--r--roomserver/storage/shared/storage.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/roomserver/storage/shared/storage.go b/roomserver/storage/shared/storage.go
new file mode 100644
index 00000000..7a8da865
--- /dev/null
+++ b/roomserver/storage/shared/storage.go
@@ -0,0 +1,34 @@
+package shared
+
+import (
+ "context"
+
+ "github.com/matrix-org/dendrite/roomserver/storage/tables"
+ "github.com/matrix-org/dendrite/roomserver/types"
+)
+
+type Database struct {
+ EventTypesTable tables.EventTypes
+ EventStateKeysTable tables.EventStateKeys
+}
+
+// EventTypeNIDs implements state.RoomStateDatabase
+func (d *Database) EventTypeNIDs(
+ ctx context.Context, eventTypes []string,
+) (map[string]types.EventTypeNID, error) {
+ return d.EventTypesTable.BulkSelectEventTypeNID(ctx, eventTypes)
+}
+
+// EventStateKeys implements query.RoomserverQueryAPIDatabase
+func (d *Database) EventStateKeys(
+ ctx context.Context, eventStateKeyNIDs []types.EventStateKeyNID,
+) (map[types.EventStateKeyNID]string, error) {
+ return d.EventStateKeysTable.BulkSelectEventStateKey(ctx, eventStateKeyNIDs)
+}
+
+// EventStateKeyNIDs implements state.RoomStateDatabase
+func (d *Database) EventStateKeyNIDs(
+ ctx context.Context, eventStateKeys []string,
+) (map[string]types.EventStateKeyNID, error) {
+ return d.EventStateKeysTable.BulkSelectEventStateKeyNID(ctx, eventStateKeys)
+}