diff --git a/app/models/repo.coffee b/app/models/repo.coffee index 6467566e..80a9e57f 100644 --- a/app/models/repo.coffee +++ b/app/models/repo.coffee @@ -162,8 +162,16 @@ Repo.reopenClass else adapter = store.adapterFor('repo') modelClass = store.modelFor('repo') - adapter.findRecord(store, modelClass, slug).then (resourceHash) -> - store.push(store.normalize('repo', resourceHash)); + adapter.findRecord(store, modelClass, slug).then (payload) -> + serializer = store.serializerFor('repo') + modelClass = store.modelFor('repo') + result = serializer.normalizeResponse(store, modelClass, payload, null, 'findRecord') + + repo = store.push(data: result.data) + for record in result.included + r = store.push(data: record) + + repo , -> error = new Error('repo not found') error.slug = slug diff --git a/app/serializers/repo.js b/app/serializers/repo.js index cab2e71a..8aed2822 100644 --- a/app/serializers/repo.js +++ b/app/serializers/repo.js @@ -2,7 +2,15 @@ import Ember from 'ember'; import V2FallbackSerializer from 'travis/serializers/v2_fallback'; var Serializer = V2FallbackSerializer.extend({ - isNewSerializerAPI: true + isNewSerializerAPI: true, + + normalizeResponse(store, primaryModelClass, payload, id, requestType) { + if(!id && requestType == 'findRecord') { + id = payload.id; + } + + return this._super(store, primaryModelClass, payload, id, requestType); + } }); export default Serializer;