jaystack / jaydata

Notice: this library isn't maintained anymore
http://jaydata.org
GNU General Public License v2.0
354 stars 95 forks source link

$data.Decimal is converted incorrect when converting to database #286

Open Malyngo opened 7 years ago

Malyngo commented 7 years ago

Tested in Jaydata 1.5.10. When have an entity with a decimal value and want to store that to the database (Post or Patch, doesn't matter), there is an error about a wrong format.

I looked into this and it's just that Jaydata is still using the old odata v3 encoding for that, where decimals were sent as a string. In v4 they should be sent as a number.

My fix for this currently is to add this line in my code to "hotpatch" this:

$data.oDataConverter.toDb['$data.Decimal'] = function (v: string) { return +v; };

It's this line in the oDataConverter that would need to be changed: https://github.com/jaystack/jaydata/blob/development/src/Types/StorageProviders/oData/oDataConverter.js#L86

ysmoradi commented 7 years ago

https://github.com/jaystack/jaydata/issues/259