Refactor HandleInvite naming for clarity

This commit is contained in:
Devon Hudson 2023-05-19 15:10:44 -06:00
parent da26e2afb5
commit 94cebe28d8
No known key found for this signature in database
GPG key ID: CD06B18E77F6A628

View file

@ -61,16 +61,16 @@ func (r *Inviter) generateInviteStrippedState(
func (r *Inviter) HandleInvite( func (r *Inviter) HandleInvite(
ctx context.Context, ctx context.Context,
event *types.HeaderedEvent, inviteEvent *types.HeaderedEvent,
inviteRoomState []fclient.InviteV2StrippedState, inviteRoomState []fclient.InviteV2StrippedState,
) ([]api.OutputEvent, error) { ) ([]api.OutputEvent, error) {
var outputUpdates []api.OutputEvent var outputUpdates []api.OutputEvent
if event.StateKey() == nil { if inviteEvent.StateKey() == nil {
return nil, fmt.Errorf("invite must be a state event") return nil, fmt.Errorf("invite must be a state event")
} }
roomID := event.RoomID() roomID := inviteEvent.RoomID()
targetUserID := *event.StateKey() targetUserID := *inviteEvent.StateKey()
_, domain, err := gomatrixserverlib.SplitID('@', targetUserID) _, domain, err := gomatrixserverlib.SplitID('@', targetUserID)
if err != nil { if err != nil {
@ -85,42 +85,42 @@ func (r *Inviter) HandleInvite(
if err != nil { if err != nil {
return nil, err return nil, err
} }
info, inviteState, err := r.generateInviteStrippedState(ctx, *validRoomID, event, inviteRoomState) info, inviteState, err := r.generateInviteStrippedState(ctx, *validRoomID, inviteEvent, inviteRoomState)
if err != nil { if err != nil {
return nil, err return nil, err
} }
logger := util.GetLogger(ctx).WithFields(map[string]interface{}{ logger := util.GetLogger(ctx).WithFields(map[string]interface{}{
"inviter": event.Sender(), "inviter": inviteEvent.Sender(),
"invitee": *event.StateKey(), "invitee": *inviteEvent.StateKey(),
"room_id": roomID, "room_id": roomID,
"event_id": event.EventID(), "event_id": inviteEvent.EventID(),
}) })
logger.WithFields(log.Fields{ logger.WithFields(log.Fields{
"room_version": event.Version(), "room_version": inviteEvent.Version(),
"room_info_exists": info != nil, "room_info_exists": info != nil,
"target_local": isTargetLocal, "target_local": isTargetLocal,
}).Debug("processing incoming federation invite event") }).Debug("processing incoming federation invite event")
if len(inviteState) == 0 { if len(inviteState) == 0 {
if err = event.SetUnsignedField("invite_room_state", struct{}{}); err != nil { if err = inviteEvent.SetUnsignedField("invite_room_state", struct{}{}); err != nil {
return nil, fmt.Errorf("event.SetUnsignedField: %w", err) return nil, fmt.Errorf("event.SetUnsignedField: %w", err)
} }
} else { } else {
if err = event.SetUnsignedField("invite_room_state", inviteState); err != nil { if err = inviteEvent.SetUnsignedField("invite_room_state", inviteState); err != nil {
return nil, fmt.Errorf("event.SetUnsignedField: %w", err) return nil, fmt.Errorf("event.SetUnsignedField: %w", err)
} }
} }
updateMembershipTableManually := func() ([]api.OutputEvent, error) { updateMembershipTableManually := func() ([]api.OutputEvent, error) {
var updater *shared.MembershipUpdater var updater *shared.MembershipUpdater
if updater, err = r.DB.MembershipUpdater(ctx, roomID, targetUserID, isTargetLocal, event.Version()); err != nil { if updater, err = r.DB.MembershipUpdater(ctx, roomID, targetUserID, isTargetLocal, inviteEvent.Version()); err != nil {
return nil, fmt.Errorf("r.DB.MembershipUpdater: %w", err) return nil, fmt.Errorf("r.DB.MembershipUpdater: %w", err)
} }
outputUpdates, err = helpers.UpdateToInviteMembership(updater, &types.Event{ outputUpdates, err = helpers.UpdateToInviteMembership(updater, &types.Event{
EventNID: 0, EventNID: 0,
PDU: event.PDU, PDU: inviteEvent.PDU,
}, outputUpdates, event.Version()) }, outputUpdates, inviteEvent.Version())
if err != nil { if err != nil {
return nil, fmt.Errorf("updateToInviteMembership: %w", err) return nil, fmt.Errorf("updateToInviteMembership: %w", err)
} }
@ -142,7 +142,7 @@ func (r *Inviter) HandleInvite(
var isAlreadyJoined bool var isAlreadyJoined bool
if info != nil { if info != nil {
_, isAlreadyJoined, _, err = r.DB.GetMembership(ctx, info.RoomNID, *event.StateKey()) _, isAlreadyJoined, _, err = r.DB.GetMembership(ctx, info.RoomNID, *inviteEvent.StateKey())
if err != nil { if err != nil {
return nil, fmt.Errorf("r.DB.GetMembership: %w", err) return nil, fmt.Errorf("r.DB.GetMembership: %w", err)
} }
@ -343,7 +343,7 @@ func buildInviteStrippedState(
ctx context.Context, ctx context.Context,
db storage.Database, db storage.Database,
info *types.RoomInfo, info *types.RoomInfo,
event *types.HeaderedEvent, inviteEvent *types.HeaderedEvent,
) ([]fclient.InviteV2StrippedState, error) { ) ([]fclient.InviteV2StrippedState, error) {
stateWanted := []gomatrixserverlib.StateKeyTuple{} stateWanted := []gomatrixserverlib.StateKeyTuple{}
// "If they are set on the room, at least the state for m.room.avatar, m.room.canonical_alias, m.room.join_rules, and m.room.name SHOULD be included." // "If they are set on the room, at least the state for m.room.avatar, m.room.canonical_alias, m.room.join_rules, and m.room.name SHOULD be included."
@ -377,9 +377,9 @@ func buildInviteStrippedState(
return nil, err return nil, err
} }
inviteState := []fclient.InviteV2StrippedState{ inviteState := []fclient.InviteV2StrippedState{
fclient.NewInviteV2StrippedState(event.PDU), fclient.NewInviteV2StrippedState(inviteEvent.PDU),
} }
stateEvents = append(stateEvents, types.Event{PDU: event.PDU}) stateEvents = append(stateEvents, types.Event{PDU: inviteEvent.PDU})
for _, event := range stateEvents { for _, event := range stateEvents {
inviteState = append(inviteState, fclient.NewInviteV2StrippedState(event.PDU)) inviteState = append(inviteState, fclient.NewInviteV2StrippedState(event.PDU))
} }