From 2be45cdc1829b8df9ccfd05f9f12e312ce1c1ee0 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Mon, 30 Nov 2015 14:07:58 +0100 Subject: [PATCH] Fix requests payload --- app/serializers/request.coffee | 11 ----------- app/serializers/request.js | 35 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 11 deletions(-) delete mode 100644 app/serializers/request.coffee create mode 100644 app/serializers/request.js diff --git a/app/serializers/request.coffee b/app/serializers/request.coffee deleted file mode 100644 index a7afbc88..00000000 --- a/app/serializers/request.coffee +++ /dev/null @@ -1,11 +0,0 @@ -`import Ember from 'ember'` -`import ApplicationSerializer from 'travis/serializers/application'` - -Serializer = ApplicationSerializer.extend - attrs: { - branch_name: { key: 'branch' } - tag_name: { key: 'tag' } - repo: { key: 'repository_id' } - } - -`export default Serializer` diff --git a/app/serializers/request.js b/app/serializers/request.js new file mode 100644 index 00000000..a1f1effe --- /dev/null +++ b/app/serializers/request.js @@ -0,0 +1,35 @@ +import Ember from 'ember'; +import V2FallbackSerializer from 'travis/serializers/v2_fallback'; + +var Serializer = V2FallbackSerializer.extend({ + isNewSerializerAPI: true, + attrs: { + branch_name: { key: 'branch' }, + tag_name: { key: 'tag' } + }, + + keyForV2Relationship: function(key, typeClass, method) { + if (key === 'repo') { + return 'repository_id'; + } else { + return this._super.apply(this, arguments); + } + }, + + normalizeArrayResponse: function(store, primaryModelClass, payload, id, requestType) { + var result; + if (payload.commits) { + payload.requests.forEach(function(request) { + var commit, commit_id; + commit_id = request.commit_id; + if (commit = payload.commits.findBy('id', commit_id)) { + request.commit = commit; + return delete request.commit_id; + } + }); + } + return this._super.apply(this, arguments); + } +}); + +export default Serializer;