diff --git a/app/services/changelog-parser.js b/app/services/changelog-parser.js new file mode 100644 index 0000000000000000000000000000000000000000..5d40da463ed277613404a75a1a1398fc552a03c0 --- /dev/null +++ b/app/services/changelog-parser.js @@ -0,0 +1,15 @@ +import Ember from 'ember'; + +export default Ember.Service.extend({ + store: Ember.inject.service(), + parse(changelog) { + this.debug('store', this.get('store')); + this.debug('parsing changelog', changelog); + const data = changelog.data; + const store = this.get('store'); + const normalized = store.normalize('node', data); // using application serializer + + this.debug('normalized', normalized); + store.push(normalized); + } +}); \ No newline at end of file diff --git a/app/services/changelog-stream.js b/app/services/changelog-stream.js index 0d97072c537b402d545660e531bab2234a8c02d9..fb10d45ccf21223801acc485a821b0454d46221f 100644 --- a/app/services/changelog-stream.js +++ b/app/services/changelog-stream.js @@ -2,6 +2,7 @@ import Ember from 'ember'; export default Ember.Service.extend({ shouldClose: false, + changelogParser: Ember.inject.service(), init() { this._super(...arguments); this.debug('session', this.get('systemId')); @@ -51,7 +52,7 @@ export default Ember.Service.extend({ this.debug('new changelog received', changelogJson); try { const changelog = JSON.parse(changelogJson); - this.debug('changelog converted', changelog); + this.get('changelogParser').parse(changelog); } catch (e) { console.error('could not parse changelog json', e, changelogJson); }