Tidy a bit

This commit is contained in:
Neil Alexander 2020-05-04 17:16:57 +01:00
parent c79b1294ee
commit 5f28243464
2 changed files with 13 additions and 13 deletions

View file

@ -169,7 +169,7 @@ func (r *FederationSenderInternalAPI) PerformLeave(
)
if err != nil {
// TODO: Check if the user was not allowed to leave the room.
return fmt.Errorf("r.federation.MakeLeave: %w", err)
return err
}
// Set all the fields to be what they should be, this should be a no-op
@ -225,7 +225,7 @@ func (r *FederationSenderInternalAPI) PerformLeave(
// If we reach here then we didn't complete a leave for some reason.
return fmt.Errorf(
"failed to leave user %q from room %q through %d server(s)",
request.UserID, request.RoomID, len(request.ServerNames),
"Failed to leave room %q through %d server(s)",
request.RoomID, len(request.ServerNames),
)
}

View file

@ -40,10 +40,7 @@ func (r *RoomserverInternalAPI) performLeaveRoomByID(
// that.
senderUser, err := r.isInvitePending(ctx, req, res)
if err == nil {
fmt.Println("Responding to invite")
return r.performRejectInvite(ctx, req, res, senderUser)
} else {
fmt.Println("Not responding to invite:", err)
}
// First of all we want to find out if the room exists and if the
@ -62,21 +59,21 @@ func (r *RoomserverInternalAPI) performLeaveRoomByID(
return err
}
if !latestRes.RoomExists {
return fmt.Errorf("room %q does not exist", req.RoomID)
return fmt.Errorf("Room %q does not exist", req.RoomID)
}
// Now let's see if the user is in the room.
if len(latestRes.StateEvents) == 0 {
return fmt.Errorf("user %q is not a member of room %q", req.UserID, req.RoomID)
return fmt.Errorf("User %q is not a member of room %q", req.UserID, req.RoomID)
}
membership, err := latestRes.StateEvents[0].Membership()
if err != nil {
return fmt.Errorf("error getting membership: %w", err)
return fmt.Errorf("Error getting membership: %w", err)
}
if membership != "join" {
// TODO: should be able to handle "invite" in this case too, if
// it's a case of kicking or banning or such
return fmt.Errorf("user %q is not joined to the room (membership is %q)", req.UserID, membership)
return fmt.Errorf("User %q is not joined to the room (membership is %q)", req.UserID, membership)
}
// Prepare the template for the leave event.
@ -102,7 +99,7 @@ func (r *RoomserverInternalAPI) performLeaveRoomByID(
buildRes := api.QueryLatestEventsAndStateResponse{}
event, err := common.BuildEvent(
ctx, // the request context
&eb, // the template join event
&eb, // the template leave event
r.Cfg, // the server configuration
time.Now(), // the event timestamp to use
r, // the roomserver API to use
@ -141,7 +138,7 @@ func (r *RoomserverInternalAPI) performRejectInvite(
) error {
_, domain, err := gomatrixserverlib.SplitID('@', senderUser)
if err != nil {
return fmt.Errorf("user ID %q invalid: %w", senderUser, err)
return fmt.Errorf("User ID %q invalid: %w", senderUser, err)
}
// Ask the federation sender to perform a federated leave for us.
@ -152,9 +149,12 @@ func (r *RoomserverInternalAPI) performRejectInvite(
}
leaveRes := fsAPI.PerformLeaveResponse{}
if err := r.fsAPI.PerformLeave(ctx, &leaveReq, &leaveRes); err != nil {
return fmt.Errorf("fsAPI.PerformLeave: %w", err)
return err
}
// TODO: Withdraw the invite, so that the sync API etc are
// notified that we rejected it.
return nil
}