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>
This commit is contained in:
Kevin Liu 2021-08-18 04:41:30 -07:00 committed by GitHub
parent 614e67280d
commit fe5050c0a5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 2 deletions

View file

@ -111,6 +111,12 @@ func UserInUse(msg string) *MatrixError {
return &MatrixError{"M_USER_IN_USE", msg} 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 // ASExclusive is an error returned when an application service tries to
// register an username that is outside of its registered namespace, or if a // 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 // user attempts to register a username or room alias within an exclusive

View file

@ -325,7 +325,10 @@ func createRoom(
return jsonerror.InternalServerError() return jsonerror.InternalServerError()
} }
if aliasResp.RoomID != "" { 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{ aliasEvent = &fledglingEvent{
@ -484,7 +487,10 @@ func createRoom(
} }
if aliasResp.AliasExists { if aliasResp.AliasExists {
return util.MessageResponse(400, "Alias already exists") return util.JSONResponse{
Code: http.StatusBadRequest,
JSON: jsonerror.RoomInUse("Room alias already exists."),
}
} }
} }