Tweak join rule unmarshalling

This commit is contained in:
Neil Alexander 2021-11-10 11:55:58 +00:00
parent 84c7205b54
commit e9bee83b03
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -144,17 +144,22 @@ func MakeJoin(
provider := gomatrixserverlib.NewAuthEvents(stateEvents)
// Check the join rules. If it's a restricted join then there are special rules.
var joinRuleEvent *gomatrixserverlib.Event
var joinRules gomatrixserverlib.JoinRuleContent
if joinRuleEvent, err = provider.JoinRules(); err != nil {
joinRules := gomatrixserverlib.JoinRuleContent{
JoinRule: gomatrixserverlib.Public, // Default join rule if not specified.
}
joinRuleEvent, err := provider.JoinRules()
if err != nil {
return util.JSONResponse{
Code: http.StatusNotFound,
JSON: jsonerror.NotFound("Room join rules do not exist"),
JSON: jsonerror.NotFound("Failed to retrieve join rules"),
}
} else if err = json.Unmarshal(joinRuleEvent.Content(), &joinRules); err != nil {
return util.JSONResponse{
Code: http.StatusBadRequest,
JSON: jsonerror.Unknown("Failed to unmarshal room join rules"),
}
if joinRuleEvent != nil {
if err = json.Unmarshal(joinRuleEvent.Content(), &joinRules); err != nil {
return util.JSONResponse{
Code: http.StatusBadRequest,
JSON: jsonerror.Unknown("Failed to unmarshal room join rules"),
}
}
}