Backend plugins: Fix incorrect JSON Unmarshal (#24243)

This commit is contained in:
Marcus Efraimsson
2020-05-05 11:54:50 +02:00
committed by GitHub
parent 898df2b778
commit 224aa4dde8

View File

@ -29,21 +29,22 @@ func (hs *HTTPServer) getPluginContext(pluginID string, user *models.SignedInUse
return pc, ErrPluginNotFound
}
var jsonData json.RawMessage
var decryptedSecureJSONData map[string]string
jsonData := json.RawMessage{}
decryptedSecureJSONData := map[string]string{}
var updated time.Time
ps, err := hs.getCachedPluginSettings(pluginID, user)
if err != nil {
// models.ErrPluginSettingNotFound is expected if there's no row found for plugin setting in database (if non-app plugin).
// If it's not this expected error something is wrong with cache or database and we return the error to the client.
if err != models.ErrPluginSettingNotFound {
return pc, errutil.Wrap("Failed to get plugin settings", err)
}
} else {
jsonData, err = json.Marshal(ps.JsonData)
if err != nil {
return pc, errutil.Wrap("Failed to unmarshal plugin json data", err)
}
decryptedSecureJSONData = make(map[string]string)
} else {
decryptedSecureJSONData = ps.DecryptedValues()
updated = ps.Updated
}