Use AuthEvents to retrieve the 3PID invite

This commit is contained in:
Brendan Abolivier 2017-09-08 13:56:12 +01:00
parent eb5abbd96a
commit 667408a8a4
No known key found for this signature in database
GPG key ID: 8EF1500759F70623

View file

@ -125,10 +125,6 @@ func createInviteFrom3PIDInvite(
return nil, nil
}
if err = fillDisplayName(builder, content, queryRes.StateEvents); err != nil {
return nil, err
}
// Finish building the event
builder.Depth = queryRes.Depth
builder.PrevEvents = queryRes.LatestEvents
@ -139,6 +135,10 @@ func createInviteFrom3PIDInvite(
authEvents.AddEvent(&queryRes.StateEvents[i])
}
if err = fillDisplayName(builder, content, authEvents); err != nil {
return nil, err
}
refs, err := eventsNeeded.AuthEventReferences(&authEvents)
if err != nil {
return nil, err
@ -167,15 +167,10 @@ func createInviteFrom3PIDInvite(
// rejected by gomatrixserverlib.
func fillDisplayName(
builder *gomatrixserverlib.EventBuilder, content common.MemberContent,
stateEvents []gomatrixserverlib.Event,
authEvents gomatrixserverlib.AuthEvents,
) error {
// Look for the m.room.third_party_invite event
var thirdPartyInviteEvent *gomatrixserverlib.Event
for _, event := range stateEvents {
if event.Type() == "m.room.third_party_invite" && *(event.StateKey()) == content.ThirdPartyInvite.Signed.Token {
thirdPartyInviteEvent = &event
}
}
thirdPartyInviteEvent, _ := authEvents.ThirdPartyInvite(content.ThirdPartyInvite.Signed.Token)
if thirdPartyInviteEvent == nil {
// If the third party invite event doesn't exist then we can't use it to set the display name.