aboutsummaryrefslogtreecommitdiff
path: root/clientapi/routing/createroom.go
diff options
context:
space:
mode:
authordevonh <devon.dmytro@gmail.com>2023-05-09 22:46:49 +0000
committerGitHub <noreply@github.com>2023-05-09 22:46:49 +0000
commit0489d16f95a3d9f1f5bc532e2060bd2482d7b156 (patch)
treea0573b5a0c21ca563e97abae81e36d66ad14e7d8 /clientapi/routing/createroom.go
parenta49c9f01e227aeb12aa2f27d5bf1915453c23a3b (diff)
Move json errors over to gmsl (#3080)
Diffstat (limited to 'clientapi/routing/createroom.go')
-rw-r--r--clientapi/routing/createroom.go55
1 files changed, 27 insertions, 28 deletions
diff --git a/clientapi/routing/createroom.go b/clientapi/routing/createroom.go
index abf5b4f4..f0cdd6f5 100644
--- a/clientapi/routing/createroom.go
+++ b/clientapi/routing/createroom.go
@@ -32,7 +32,6 @@ import (
"github.com/matrix-org/gomatrixserverlib/spec"
"github.com/matrix-org/dendrite/clientapi/httputil"
- "github.com/matrix-org/dendrite/clientapi/jsonerror"
"github.com/matrix-org/dendrite/internal/eventutil"
"github.com/matrix-org/dendrite/setup/config"
"github.com/matrix-org/gomatrixserverlib"
@@ -75,7 +74,7 @@ func (r createRoomRequest) Validate() *util.JSONResponse {
if strings.ContainsAny(r.RoomAliasName, whitespace+":") {
return &util.JSONResponse{
Code: http.StatusBadRequest,
- JSON: jsonerror.BadJSON("room_alias_name cannot contain whitespace or ':'"),
+ JSON: spec.BadJSON("room_alias_name cannot contain whitespace or ':'"),
}
}
for _, userID := range r.Invite {
@@ -87,7 +86,7 @@ func (r createRoomRequest) Validate() *util.JSONResponse {
if _, _, err := gomatrixserverlib.SplitID('@', userID); err != nil {
return &util.JSONResponse{
Code: http.StatusBadRequest,
- JSON: jsonerror.BadJSON("user id must be in the form @localpart:domain"),
+ JSON: spec.BadJSON("user id must be in the form @localpart:domain"),
}
}
}
@@ -96,7 +95,7 @@ func (r createRoomRequest) Validate() *util.JSONResponse {
default:
return &util.JSONResponse{
Code: http.StatusBadRequest,
- JSON: jsonerror.BadJSON("preset must be any of 'private_chat', 'trusted_private_chat', 'public_chat'"),
+ JSON: spec.BadJSON("preset must be any of 'private_chat', 'trusted_private_chat', 'public_chat'"),
}
}
@@ -108,7 +107,7 @@ func (r createRoomRequest) Validate() *util.JSONResponse {
if err != nil {
return &util.JSONResponse{
Code: http.StatusBadRequest,
- JSON: jsonerror.BadJSON("malformed creation_content"),
+ JSON: spec.BadJSON("malformed creation_content"),
}
}
@@ -117,7 +116,7 @@ func (r createRoomRequest) Validate() *util.JSONResponse {
if err != nil {
return &util.JSONResponse{
Code: http.StatusBadRequest,
- JSON: jsonerror.BadJSON("malformed creation_content"),
+ JSON: spec.BadJSON("malformed creation_content"),
}
}
@@ -156,7 +155,7 @@ func CreateRoom(
if err != nil {
return util.JSONResponse{
Code: http.StatusBadRequest,
- JSON: jsonerror.InvalidArgumentValue(err.Error()),
+ JSON: spec.InvalidParam(err.Error()),
}
}
return createRoom(req.Context(), r, device, cfg, profileAPI, rsAPI, asAPI, evTime)
@@ -175,12 +174,12 @@ func createRoom(
_, userDomain, err := gomatrixserverlib.SplitID('@', device.UserID)
if err != nil {
util.GetLogger(ctx).WithError(err).Error("gomatrixserverlib.SplitID failed")
- return jsonerror.InternalServerError()
+ return spec.InternalServerError()
}
if !cfg.Matrix.IsLocalServerName(userDomain) {
return util.JSONResponse{
Code: http.StatusForbidden,
- JSON: jsonerror.Forbidden(fmt.Sprintf("User domain %q not configured locally", userDomain)),
+ JSON: spec.Forbidden(fmt.Sprintf("User domain %q not configured locally", userDomain)),
}
}
@@ -200,7 +199,7 @@ func createRoom(
if roomVersionError != nil {
return util.JSONResponse{
Code: http.StatusBadRequest,
- JSON: jsonerror.UnsupportedRoomVersion(roomVersionError.Error()),
+ JSON: spec.UnsupportedRoomVersion(roomVersionError.Error()),
}
}
roomVersion = candidateVersion
@@ -219,7 +218,7 @@ func createRoom(
profile, err := appserviceAPI.RetrieveUserProfile(ctx, userID, asAPI, profileAPI)
if err != nil {
util.GetLogger(ctx).WithError(err).Error("appserviceAPI.RetrieveUserProfile failed")
- return jsonerror.InternalServerError()
+ return spec.InternalServerError()
}
createContent := map[string]interface{}{}
@@ -228,7 +227,7 @@ func createRoom(
util.GetLogger(ctx).WithError(err).Error("json.Unmarshal for creation_content failed")
return util.JSONResponse{
Code: http.StatusBadRequest,
- JSON: jsonerror.BadJSON("invalid create content"),
+ JSON: spec.BadJSON("invalid create content"),
}
}
}
@@ -249,7 +248,7 @@ func createRoom(
util.GetLogger(ctx).WithError(err).Error("json.Unmarshal for power_level_content_override failed")
return util.JSONResponse{
Code: http.StatusBadRequest,
- JSON: jsonerror.BadJSON("malformed power_level_content_override"),
+ JSON: spec.BadJSON("malformed power_level_content_override"),
}
}
}
@@ -343,12 +342,12 @@ func createRoom(
err = rsAPI.GetRoomIDForAlias(ctx, &hasAliasReq, &aliasResp)
if err != nil {
util.GetLogger(ctx).WithError(err).Error("aliasAPI.GetRoomIDForAlias failed")
- return jsonerror.InternalServerError()
+ return spec.InternalServerError()
}
if aliasResp.RoomID != "" {
return util.JSONResponse{
Code: http.StatusBadRequest,
- JSON: jsonerror.RoomInUse("Room ID already exists."),
+ JSON: spec.RoomInUse("Room ID already exists."),
}
}
@@ -437,7 +436,7 @@ func createRoom(
if err != nil {
return util.JSONResponse{
Code: http.StatusBadRequest,
- JSON: jsonerror.BadJSON("unknown room version"),
+ JSON: spec.BadJSON("unknown room version"),
}
}
@@ -456,7 +455,7 @@ func createRoom(
err = builder.SetContent(e.Content)
if err != nil {
util.GetLogger(ctx).WithError(err).Error("builder.SetContent failed")
- return jsonerror.InternalServerError()
+ return spec.InternalServerError()
}
if i > 0 {
builder.PrevEvents = []gomatrixserverlib.EventReference{builtEvents[i-1].EventReference()}
@@ -464,17 +463,17 @@ func createRoom(
var ev gomatrixserverlib.PDU
if err = builder.AddAuthEvents(&authEvents); err != nil {
util.GetLogger(ctx).WithError(err).Error("AddAuthEvents failed")
- return jsonerror.InternalServerError()
+ return spec.InternalServerError()
}
ev, err = builder.Build(evTime, userDomain, cfg.Matrix.KeyID, cfg.Matrix.PrivateKey)
if err != nil {
util.GetLogger(ctx).WithError(err).Error("buildEvent failed")
- return jsonerror.InternalServerError()
+ return spec.InternalServerError()
}
if err = gomatrixserverlib.Allowed(ev, &authEvents); err != nil {
util.GetLogger(ctx).WithError(err).Error("gomatrixserverlib.Allowed failed")
- return jsonerror.InternalServerError()
+ return spec.InternalServerError()
}
// Add the event to the list of auth events
@@ -482,7 +481,7 @@ func createRoom(
err = authEvents.AddEvent(ev)
if err != nil {
util.GetLogger(ctx).WithError(err).Error("authEvents.AddEvent failed")
- return jsonerror.InternalServerError()
+ return spec.InternalServerError()
}
}
@@ -497,7 +496,7 @@ func createRoom(
}
if err = roomserverAPI.SendInputRoomEvents(ctx, rsAPI, device.UserDomain(), inputs, false); err != nil {
util.GetLogger(ctx).WithError(err).Error("roomserverAPI.SendInputRoomEvents failed")
- return jsonerror.InternalServerError()
+ return spec.InternalServerError()
}
// TODO(#269): Reserve room alias while we create the room. This stops us
@@ -514,13 +513,13 @@ func createRoom(
err = rsAPI.SetRoomAlias(ctx, &aliasReq, &aliasResp)
if err != nil {
util.GetLogger(ctx).WithError(err).Error("aliasAPI.SetRoomAlias failed")
- return jsonerror.InternalServerError()
+ return spec.InternalServerError()
}
if aliasResp.AliasExists {
return util.JSONResponse{
Code: http.StatusBadRequest,
- JSON: jsonerror.RoomInUse("Room alias already exists."),
+ JSON: spec.RoomInUse("Room alias already exists."),
}
}
}
@@ -584,12 +583,12 @@ func createRoom(
case roomserverAPI.ErrInvalidID:
return util.JSONResponse{
Code: http.StatusBadRequest,
- JSON: jsonerror.Unknown(e.Error()),
+ JSON: spec.Unknown(e.Error()),
}
case roomserverAPI.ErrNotAllowed:
return util.JSONResponse{
Code: http.StatusForbidden,
- JSON: jsonerror.Forbidden(e.Error()),
+ JSON: spec.Forbidden(e.Error()),
}
case nil:
default:
@@ -597,7 +596,7 @@ func createRoom(
sentry.CaptureException(err)
return util.JSONResponse{
Code: http.StatusInternalServerError,
- JSON: jsonerror.InternalServerError(),
+ JSON: spec.InternalServerError(),
}
}
}
@@ -610,7 +609,7 @@ func createRoom(
Visibility: spec.Public,
}); err != nil {
util.GetLogger(ctx).WithError(err).Error("failed to publish room")
- return jsonerror.InternalServerError()
+ return spec.InternalServerError()
}
}