mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-24 06:35:49 +03:00
Fixed serialisation of belongsTo
relationships
no issue - `belongsTo` relationships were failing to save on the server correctly because they did not contain the `_id` suffix - became noticeable when the first standalone `belongsTo` relationship was added to webhooks - added conditional for special-case `_by` relationships which don't require an additional `_id` when saving to the API
This commit is contained in:
parent
8400892dbd
commit
18c75ac670
@ -1,5 +1,5 @@
|
||||
import RESTSerializer from 'ember-data/serializers/rest';
|
||||
import {decamelize} from '@ember/string';
|
||||
import {camelize, decamelize, underscore} from '@ember/string';
|
||||
import {pluralize} from 'ember-inflector';
|
||||
|
||||
export default RESTSerializer.extend({
|
||||
@ -27,5 +27,16 @@ export default RESTSerializer.extend({
|
||||
|
||||
keyForAttribute(attr) {
|
||||
return decamelize(attr);
|
||||
},
|
||||
|
||||
keyForRelationship(key, typeClass, method) {
|
||||
let transform = method === 'serialize' ? underscore : camelize;
|
||||
|
||||
if (typeClass === 'belongsTo' && !key.match(/(Id|By)$/)) {
|
||||
let transformed = `${transform(key)}_id`;
|
||||
return transformed;
|
||||
}
|
||||
|
||||
return transform(key);
|
||||
}
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user