Skip to content
This repository was archived by the owner on Nov 25, 2024. It is now read-only.

Commit 71eeccf

Browse files
authored
refactor: funnel event creation through room versions (#3060)
In preparation of interfacing up the room version value.
1 parent 72285b2 commit 71eeccf

File tree

21 files changed

+41
-35
lines changed

21 files changed

+41
-35
lines changed

federationapi/federationapi_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ func TestRoomsV3URLEscapeDoNot404(t *testing.T) {
321321
)
322322

323323
for _, tc := range testCases {
324-
ev, err := gomatrixserverlib.NewEventFromTrustedJSON([]byte(tc.eventJSON), false, tc.roomVer)
324+
ev, err := tc.roomVer.NewEventFromTrustedJSON([]byte(tc.eventJSON), false)
325325
if err != nil {
326326
t.Errorf("failed to parse event: %s", err)
327327
}

federationapi/internal/perform.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ func (r *FederationInternalAPI) performJoinUsingServer(
235235
// contain signatures that we don't know about.
236236
if len(respSendJoin.Event) > 0 {
237237
var remoteEvent *gomatrixserverlib.Event
238-
remoteEvent, err = gomatrixserverlib.UntrustedEvent(respSendJoin.Event, respMakeJoin.RoomVersion)
238+
remoteEvent, err = respMakeJoin.RoomVersion.NewEventFromUntrustedJSON(respSendJoin.Event)
239239
if err == nil && isWellFormedMembershipEvent(
240240
remoteEvent, roomID, userID,
241241
) {
@@ -660,7 +660,7 @@ func (r *FederationInternalAPI) PerformInvite(
660660
return fmt.Errorf("r.federation.SendInviteV2: failed to send invite: %w", err)
661661
}
662662

663-
inviteEvent, err := gomatrixserverlib.UntrustedEvent(inviteRes.Event, request.RoomVersion)
663+
inviteEvent, err := request.RoomVersion.NewEventFromUntrustedJSON(inviteRes.Event)
664664
if err != nil {
665665
return fmt.Errorf("r.federation.SendInviteV2 failed to decode event response: %w", err)
666666
}
@@ -808,7 +808,7 @@ func federatedAuthProvider(
808808
// event ID again.
809809
for _, pdu := range tx.PDUs {
810810
// Try to parse the event.
811-
ev, everr := gomatrixserverlib.NewEventFromUntrustedJSON(pdu, roomVersion)
811+
ev, everr := roomVersion.NewEventFromUntrustedJSON(pdu)
812812
if everr != nil {
813813
return nil, fmt.Errorf("missingAuth gomatrixserverlib.NewEventFromUntrustedJSON: %w", everr)
814814
}

federationapi/queue/queue_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ func (f *stubFederationClient) P2PSendTransactionToRelay(ctx context.Context, u
105105
func mustCreatePDU(t *testing.T) *gomatrixserverlib.HeaderedEvent {
106106
t.Helper()
107107
content := `{"type":"m.room.message"}`
108-
ev, err := gomatrixserverlib.NewEventFromTrustedJSON([]byte(content), false, gomatrixserverlib.RoomVersionV10)
108+
ev, err := gomatrixserverlib.RoomVersionV10.NewEventFromTrustedJSON([]byte(content), false)
109109
if err != nil {
110110
t.Fatalf("failed to create event: %v", err)
111111
}

federationapi/routing/invite.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ func InviteV1(
7878
) util.JSONResponse {
7979
roomVer := gomatrixserverlib.RoomVersionV1
8080
body := request.Content()
81-
event, err := gomatrixserverlib.NewEventFromTrustedJSON(body, false, roomVer)
81+
event, err := roomVer.NewEventFromTrustedJSON(body, false)
8282
switch err.(type) {
8383
case gomatrixserverlib.BadJSONError:
8484
return util.JSONResponse{
@@ -157,7 +157,7 @@ func processInvite(
157157
}
158158

159159
// Check that the event is signed by the server sending the request.
160-
redacted, err := gomatrixserverlib.RedactEventJSON(event.JSON(), event.Version())
160+
redacted, err := event.Version().RedactEventJSON(event.JSON())
161161
if err != nil {
162162
return util.JSONResponse{
163163
Code: http.StatusBadRequest,

federationapi/routing/join.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ func SendJoin(
207207
}
208208
}
209209

210-
event, err := gomatrixserverlib.NewEventFromUntrustedJSON(request.Content(), verRes.RoomVersion)
210+
event, err := verRes.RoomVersion.NewEventFromUntrustedJSON(request.Content())
211211
if err != nil {
212212
return util.JSONResponse{
213213
Code: http.StatusBadRequest,
@@ -287,7 +287,7 @@ func SendJoin(
287287
}
288288

289289
// Check that the event is signed by the server sending the request.
290-
redacted, err := gomatrixserverlib.RedactEventJSON(event.JSON(), event.Version())
290+
redacted, err := event.Version().RedactEventJSON(event.JSON())
291291
if err != nil {
292292
logrus.WithError(err).Errorf("XXX: join.go")
293293
return util.JSONResponse{

federationapi/routing/leave.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ func SendLeave(
150150
}
151151

152152
// Decode the event JSON from the request.
153-
event, err := gomatrixserverlib.NewEventFromUntrustedJSON(request.Content(), verRes.RoomVersion)
153+
event, err := verRes.RoomVersion.NewEventFromUntrustedJSON(request.Content())
154154
switch err.(type) {
155155
case gomatrixserverlib.BadJSONError:
156156
return util.JSONResponse{
@@ -253,7 +253,7 @@ func SendLeave(
253253
}
254254

255255
// Check that the event is signed by the server sending the request.
256-
redacted, err := gomatrixserverlib.RedactEventJSON(event.JSON(), event.Version())
256+
redacted, err := event.Version().RedactEventJSON(event.JSON())
257257
if err != nil {
258258
logrus.WithError(err).Errorf("XXX: leave.go")
259259
return util.JSONResponse{

federationapi/routing/threepid.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ func ExchangeThirdPartyInvite(
196196
util.GetLogger(httpReq.Context()).WithError(err).Error("federation.SendInvite failed")
197197
return jsonerror.InternalServerError()
198198
}
199-
inviteEvent, err := gomatrixserverlib.UntrustedEvent(signedEvent.Event, verRes.RoomVersion)
199+
inviteEvent, err := verRes.RoomVersion.NewEventFromUntrustedJSON(signedEvent.Event)
200200
if err != nil {
201201
util.GetLogger(httpReq.Context()).WithError(err).Error("federation.SendInvite failed")
202202
return jsonerror.InternalServerError()

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ require (
2222
github.com/matrix-org/dugong v0.0.0-20210921133753-66e6b1c67e2e
2323
github.com/matrix-org/go-sqlite3-js v0.0.0-20220419092513-28aa791a1c91
2424
github.com/matrix-org/gomatrix v0.0.0-20220926102614-ceba4d9f7530
25-
github.com/matrix-org/gomatrixserverlib v0.0.0-20230419135026-7f3c8ee774a0
25+
github.com/matrix-org/gomatrixserverlib v0.0.0-20230420172450-7ea8ead4a832
2626
github.com/matrix-org/pinecone v0.11.1-0.20230210171230-8c3b24f2649a
2727
github.com/matrix-org/util v0.0.0-20221111132719-399730281e66
2828
github.com/mattn/go-sqlite3 v1.14.16

go.sum

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,12 @@ github.com/matrix-org/gomatrixserverlib v0.0.0-20230418132954-2113ec20fc8e h1:nL
331331
github.com/matrix-org/gomatrixserverlib v0.0.0-20230418132954-2113ec20fc8e/go.mod h1:7HTbSZe+CIdmeqVyFMekwD5dFU8khWQyngKATvd12FU=
332332
github.com/matrix-org/gomatrixserverlib v0.0.0-20230419135026-7f3c8ee774a0 h1:u+1vK+Sj2gL8IWgaaSF4WM38iL/Cx7jf6Q/aa1g0Icc=
333333
github.com/matrix-org/gomatrixserverlib v0.0.0-20230419135026-7f3c8ee774a0/go.mod h1:7HTbSZe+CIdmeqVyFMekwD5dFU8khWQyngKATvd12FU=
334+
github.com/matrix-org/gomatrixserverlib v0.0.0-20230420162839-554da317ffc2 h1:4ie9gE3sPfR8ecyRCpCUbWXnvgxB7fWj7O/B5NS0orc=
335+
github.com/matrix-org/gomatrixserverlib v0.0.0-20230420162839-554da317ffc2/go.mod h1:7HTbSZe+CIdmeqVyFMekwD5dFU8khWQyngKATvd12FU=
336+
github.com/matrix-org/gomatrixserverlib v0.0.0-20230420165305-c51ffd14d28d h1:pShTdTsNhtkY9cv0+tbFBvLnQKUeZ23ismYMc9xP9aE=
337+
github.com/matrix-org/gomatrixserverlib v0.0.0-20230420165305-c51ffd14d28d/go.mod h1:7HTbSZe+CIdmeqVyFMekwD5dFU8khWQyngKATvd12FU=
338+
github.com/matrix-org/gomatrixserverlib v0.0.0-20230420172450-7ea8ead4a832 h1:xEUPCS8+BEJ9+JEazxkQS1+YnWyFAsHoIMp5ijA7NAY=
339+
github.com/matrix-org/gomatrixserverlib v0.0.0-20230420172450-7ea8ead4a832/go.mod h1:7HTbSZe+CIdmeqVyFMekwD5dFU8khWQyngKATvd12FU=
334340
github.com/matrix-org/pinecone v0.11.1-0.20230210171230-8c3b24f2649a h1:awrPDf9LEFySxTLKYBMCiObelNx/cBuv/wzllvCCH3A=
335341
github.com/matrix-org/pinecone v0.11.1-0.20230210171230-8c3b24f2649a/go.mod h1:HchJX9oKMXaT2xYFs0Ha/6Zs06mxLU8k6F1ODnrGkeQ=
336342
github.com/matrix-org/util v0.0.0-20221111132719-399730281e66 h1:6z4KxomXSIGWqhHcfzExgkH3Z3UkIXry4ibJS4Aqz2Y=

internal/pushrules/evaluate_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ func TestPatternMatches(t *testing.T) {
189189
}
190190

191191
func mustEventFromJSON(t *testing.T, json string) *gomatrixserverlib.Event {
192-
ev, err := gomatrixserverlib.NewEventFromTrustedJSON([]byte(json), false, gomatrixserverlib.RoomVersionV7)
192+
ev, err := gomatrixserverlib.RoomVersionV7.NewEventFromTrustedJSON([]byte(json), false)
193193
if err != nil {
194194
t.Fatal(err)
195195
}

0 commit comments

Comments
 (0)