aboutsummaryrefslogtreecommitdiff
path: root/roomserver/api/wrapper.go
diff options
context:
space:
mode:
Diffstat (limited to 'roomserver/api/wrapper.go')
-rw-r--r--roomserver/api/wrapper.go14
1 files changed, 8 insertions, 6 deletions
diff --git a/roomserver/api/wrapper.go b/roomserver/api/wrapper.go
index a38c00df..9e821910 100644
--- a/roomserver/api/wrapper.go
+++ b/roomserver/api/wrapper.go
@@ -24,13 +24,14 @@ import (
// SendEvents to the roomserver The events are written with KindNew.
func SendEvents(
- ctx context.Context, rsAPI RoomserverInternalAPI, events []gomatrixserverlib.HeaderedEvent,
+ ctx context.Context, rsAPI RoomserverInternalAPI,
+ kind Kind, events []gomatrixserverlib.HeaderedEvent,
sendAsServer gomatrixserverlib.ServerName, txnID *TransactionID,
) error {
ires := make([]InputRoomEvent, len(events))
for i, event := range events {
ires[i] = InputRoomEvent{
- Kind: KindNew,
+ Kind: kind,
Event: event,
AuthEventIDs: event.AuthEventIDs(),
SendAsServer: string(sendAsServer),
@@ -40,12 +41,13 @@ func SendEvents(
return SendInputRoomEvents(ctx, rsAPI, ires)
}
-// SendEventWithState writes an event with KindNew to the roomserver
+// SendEventWithState writes an event with the specified kind to the roomserver
// with the state at the event as KindOutlier before it. Will not send any event that is
// marked as `true` in haveEventIDs
func SendEventWithState(
- ctx context.Context, rsAPI RoomserverInternalAPI, state *gomatrixserverlib.RespState,
- event gomatrixserverlib.HeaderedEvent, haveEventIDs map[string]bool,
+ ctx context.Context, rsAPI RoomserverInternalAPI, kind Kind,
+ state *gomatrixserverlib.RespState, event gomatrixserverlib.HeaderedEvent,
+ haveEventIDs map[string]bool,
) error {
outliers, err := state.Events()
if err != nil {
@@ -70,7 +72,7 @@ func SendEventWithState(
}
ires = append(ires, InputRoomEvent{
- Kind: KindNew,
+ Kind: kind,
Event: event,
AuthEventIDs: event.AuthEventIDs(),
HasState: true,