From 2a7dcf46df988118bcc9eddbf8c2978423db8b48 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Wed, 11 Nov 2015 12:04:19 +0100 Subject: [PATCH 1/2] Revert "routes/index: Fix versions array bug" This reverts commit 9d6821786b0401a172350fb7739ddc9a7d633d5a. --- app/routes/index.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) 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])); } } From 4a7292495125c1d3a034d209ae1491f0b7a69354 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Mon, 16 Nov 2015 10:02:44 +0100 Subject: [PATCH 2/2] Ember: Add "crate" serializer This serializer will filter `versions: null` and remove it from the hash because in our case `null` means unknown instead of empty. --- app/serializers/crate.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 app/serializers/crate.js 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); + } +});