mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-15 10:03:09 -06:00
Refactor HandleInvite naming for clarity
This commit is contained in:
parent
da26e2afb5
commit
94cebe28d8
|
|
@ -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))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue