mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-17 03:43:11 -06:00
Tidy a bit
This commit is contained in:
parent
c79b1294ee
commit
5f28243464
|
|
@ -169,7 +169,7 @@ func (r *FederationSenderInternalAPI) PerformLeave(
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// TODO: Check if the user was not allowed to leave the room.
|
// 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
|
// 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.
|
// If we reach here then we didn't complete a leave for some reason.
|
||||||
return fmt.Errorf(
|
return fmt.Errorf(
|
||||||
"failed to leave user %q from room %q through %d server(s)",
|
"Failed to leave room %q through %d server(s)",
|
||||||
request.UserID, request.RoomID, len(request.ServerNames),
|
request.RoomID, len(request.ServerNames),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,10 +40,7 @@ func (r *RoomserverInternalAPI) performLeaveRoomByID(
|
||||||
// that.
|
// that.
|
||||||
senderUser, err := r.isInvitePending(ctx, req, res)
|
senderUser, err := r.isInvitePending(ctx, req, res)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
fmt.Println("Responding to invite")
|
|
||||||
return r.performRejectInvite(ctx, req, res, senderUser)
|
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
|
// 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
|
return err
|
||||||
}
|
}
|
||||||
if !latestRes.RoomExists {
|
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.
|
// Now let's see if the user is in the room.
|
||||||
if len(latestRes.StateEvents) == 0 {
|
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()
|
membership, err := latestRes.StateEvents[0].Membership()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("error getting membership: %w", err)
|
return fmt.Errorf("Error getting membership: %w", err)
|
||||||
}
|
}
|
||||||
if membership != "join" {
|
if membership != "join" {
|
||||||
// TODO: should be able to handle "invite" in this case too, if
|
// TODO: should be able to handle "invite" in this case too, if
|
||||||
// it's a case of kicking or banning or such
|
// 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.
|
// Prepare the template for the leave event.
|
||||||
|
|
@ -102,7 +99,7 @@ func (r *RoomserverInternalAPI) performLeaveRoomByID(
|
||||||
buildRes := api.QueryLatestEventsAndStateResponse{}
|
buildRes := api.QueryLatestEventsAndStateResponse{}
|
||||||
event, err := common.BuildEvent(
|
event, err := common.BuildEvent(
|
||||||
ctx, // the request context
|
ctx, // the request context
|
||||||
&eb, // the template join event
|
&eb, // the template leave event
|
||||||
r.Cfg, // the server configuration
|
r.Cfg, // the server configuration
|
||||||
time.Now(), // the event timestamp to use
|
time.Now(), // the event timestamp to use
|
||||||
r, // the roomserver API to use
|
r, // the roomserver API to use
|
||||||
|
|
@ -141,7 +138,7 @@ func (r *RoomserverInternalAPI) performRejectInvite(
|
||||||
) error {
|
) error {
|
||||||
_, domain, err := gomatrixserverlib.SplitID('@', senderUser)
|
_, domain, err := gomatrixserverlib.SplitID('@', senderUser)
|
||||||
if err != nil {
|
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.
|
// Ask the federation sender to perform a federated leave for us.
|
||||||
|
|
@ -152,9 +149,12 @@ func (r *RoomserverInternalAPI) performRejectInvite(
|
||||||
}
|
}
|
||||||
leaveRes := fsAPI.PerformLeaveResponse{}
|
leaveRes := fsAPI.PerformLeaveResponse{}
|
||||||
if err := r.fsAPI.PerformLeave(ctx, &leaveReq, &leaveRes); err != nil {
|
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
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue