diff -r a2497a2b6224 -r 744379451219 cms/app-client/mirage/serializers/sparse-document.js --- a/cms/app-client/mirage/serializers/sparse-document.js Tue Jul 05 16:53:04 2016 +0200 +++ b/cms/app-client/mirage/serializers/sparse-document.js Wed Jul 06 14:22:24 2016 +0200 @@ -1,6 +1,24 @@ // mirage/serializers/blog-post.js import BaseSerializer from './application'; +import _ from 'lodash'; export default BaseSerializer.extend({ - attrs: ['id', 'title', 'language', 'url', 'issued', 'modified', 'publishers', 'mediaArray'] + attrs: ['id', 'title', 'language', 'url', 'issued', 'modified', 'publishers', 'mediaArray'], + + serialize(response, request) { + + console.log(request, response); + // This is how to call super, as Mirage borrows [Backbone's implementation of extend](http://backbonejs.org/#Model-extend) + let json = BaseSerializer.prototype.serialize.apply(this, arguments); + + json['documents'] = _.map(json['documents'], function(doc) { + let res = _.omit(doc, ['publishers', 'mediaArray']); + res['publisher'] = doc['publishers'].join(', '); + res['duration_ms'] = doc['mediaArray']?doc['mediaArray'][_(Object.keys(doc['mediaArray'])).first()]['extent_ms']:0; + return res; + }); + + return json; + } + });