diff --git a/app/routes/index.js b/app/routes/index.js index 132cab9880a..030f4ba5480 100644 --- a/app/routes/index.js +++ b/app/routes/index.js @@ -5,12 +5,7 @@ export default Ember.Route.extend({ model() { function addCrates(store, crates) { for (var i = 0; i < crates.length; i++) { - const crate = crates[i]; - if (crate.versions == null) { - // passing `null` will return an empty versions array - delete crate.versions; - } - crates[i] = store.push(store.normalize('crate', crate)); + crates[i] = store.push(store.normalize('crate', crates[i])); } } diff --git a/app/serializers/crate.js b/app/serializers/crate.js new file mode 100644 index 00000000000..6e143ea064d --- /dev/null +++ b/app/serializers/crate.js @@ -0,0 +1,13 @@ +import DS from 'ember-data'; + +export default DS.RESTSerializer.extend({ + isNewSerializerAPI: true, + + extractRelationships(modelClass, resourceHash) { + if (resourceHash.versions == null) { + delete resourceHash.versions; + } + + return this._super(modelClass, resourceHash); + } +});