Add and use M_ROOM_IN_USE
MODIFY
clientapi/jsonerror/jsonerror.go
clientapi/jsonerror/jsonerror.go
@@ -111,6 +111,12 @@ func UserInUse(msg string) *MatrixError {
return &MatrixError{"M_USER_IN_USE", msg}
}
+// RoomInUse is an error returned when the client tries to make a room
+// that already exists
+func RoomInUse(msg string) *MatrixError {
+ return &MatrixError{"M_ROOM_IN_USE", msg}
+}
+
// ASExclusive is an error returned when an application service tries to
// register an username that is outside of its registered namespace, or if a
// user attempts to register a username or room alias within an exclusive

MODIFY
clientapi/routing/createroom.go
clientapi/routing/createroom.go
@@ -325,7 +325,10 @@ func createRoom(
return jsonerror.InternalServerError()
}
if aliasResp.RoomID != "" {
- return util.MessageResponse(400, "Alias already exists")
+ return util.JSONResponse{
+ Code: http.StatusBadRequest,
+ JSON: jsonerror.RoomInUse("Room ID already exists."),
+ }
}
aliasEvent = &fledglingEvent{
@@ -484,7 +487,10 @@ func createRoom(
}
if aliasResp.AliasExists {
- return util.MessageResponse(400, "Alias already exists")
+ return util.JSONResponse{
+ Code: http.StatusBadRequest,
+ JSON: jsonerror.RoomInUse("Room alias already exists."),
+ }
}
}

Add and use M_ROOM_IN_USE (#1972)

Signed-off-by: nivekuil <mail@nivekuil.com>

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>