stashapp / stash

An organizer for your porn, written in Go. Documentation: https://docs.stashapp.cc
https://stashapp.cc/
GNU Affero General Public License v3.0
9.37k stars 803 forks source link

Convert json numbers to numbers in JSON inputs #5496

Closed WithoutPants closed 1 week ago

WithoutPants commented 1 week ago

Numeric values when provided to the server via the graphql interface, end up encoded json.Number if they do not have a specific schema type - for example, when passed in via a generic map. This means that the UI and plugin settings would save numeric values as strings. This caused an issue with the Image Wall margins, since it expected a numeric value and not a string value. This could also cause additional intended consequences.

This change converts json.Number values in map values to the correct int64 or float64 values.

Fixes #5483. Note that this will require re-saving the image margin value to fix the issue.