aboutsummaryrefslogtreecommitdiff
path: root/roomserver/api/api.go
diff options
context:
space:
mode:
Diffstat (limited to 'roomserver/api/api.go')
-rw-r--r--roomserver/api/api.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/roomserver/api/api.go b/roomserver/api/api.go
index fec28841..e2dd5dd7 100644
--- a/roomserver/api/api.go
+++ b/roomserver/api/api.go
@@ -51,6 +51,7 @@ type RoomserverInternalAPI interface {
UserRoomserverAPI
FederationRoomserverAPI
QuerySenderIDAPI
+ UserRoomPrivateKeyCreator
// needed to avoid chicken and egg scenario when setting up the
// interdependencies between the roomserver and other input APIs
@@ -67,7 +68,9 @@ type RoomserverInternalAPI interface {
req *QueryAuthChainRequest,
res *QueryAuthChainResponse,
) error
+}
+type UserRoomPrivateKeyCreator interface {
// GetOrCreateUserRoomPrivateKey gets the user room key for the specified user. If no key exists yet, a new one is created.
GetOrCreateUserRoomPrivateKey(ctx context.Context, userID spec.UserID, roomID spec.RoomID) (ed25519.PrivateKey, error)
}
@@ -81,8 +84,8 @@ type InputRoomEventsAPI interface {
}
type QuerySenderIDAPI interface {
- QuerySenderIDForUser(ctx context.Context, roomID string, userID spec.UserID) (spec.SenderID, error)
- QueryUserIDForSender(ctx context.Context, roomID string, senderID spec.SenderID) (*spec.UserID, error)
+ QuerySenderIDForUser(ctx context.Context, roomID spec.RoomID, userID spec.UserID) (spec.SenderID, error)
+ QueryUserIDForSender(ctx context.Context, roomID spec.RoomID, senderID spec.SenderID) (*spec.UserID, error)
}
// Query the latest events and state for a room from the room server.
@@ -228,6 +231,7 @@ type FederationRoomserverAPI interface {
QueryLatestEventsAndStateAPI
QueryBulkStateContentAPI
QuerySenderIDAPI
+ UserRoomPrivateKeyCreator
// QueryServerBannedFromRoom returns whether a server is banned from a room by server ACLs.
QueryServerBannedFromRoom(ctx context.Context, req *QueryServerBannedFromRoomRequest, res *QueryServerBannedFromRoomResponse) error