From bcadf968486afd276ca1265cb6164f4deb982a00 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 11 Feb 2021 23:32:28 +0000 Subject: [PATCH] Skip having to re-marshal PowerLevelContentOverride by making use of `json.RawMessage` --- clientapi/routing/createroom.go | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/clientapi/routing/createroom.go b/clientapi/routing/createroom.go index fecf824a0..9be0b5126 100644 --- a/clientapi/routing/createroom.go +++ b/clientapi/routing/createroom.go @@ -48,7 +48,7 @@ type createRoomRequest struct { RoomAliasName string `json:"room_alias_name"` GuestCanJoin bool `json:"guest_can_join"` RoomVersion gomatrixserverlib.RoomVersion `json:"room_version"` - PowerLevelContentOverride map[string]interface{} `json:"power_level_content_override"` + PowerLevelContentOverride json.RawMessage `json:"power_level_content_override"` } const ( @@ -261,16 +261,7 @@ func createRoom( powerLevelContent := eventutil.InitialPowerLevelsContent(userID) if r.PowerLevelContentOverride != nil { // Merge powerLevelContentOverride fields by unmarshalling it atop the defaults - var powerLevelContentOverrideBytes []byte - powerLevelContentOverrideBytes, err = json.Marshal(r.PowerLevelContentOverride) - if err != nil { - return util.JSONResponse{ - Code: http.StatusBadRequest, - JSON: jsonerror.BadJSON("malformed power_level_content_override"), - } - } - - err = json.Unmarshal(powerLevelContentOverrideBytes, &powerLevelContent) + err = json.Unmarshal(r.PowerLevelContentOverride, &powerLevelContent) if err != nil { return util.JSONResponse{ Code: http.StatusBadRequest,