cms/app-client/mirage/serializers/sparse-document.js
changeset 229 744379451219
parent 222 0eba8101b129
child 275 a4d8618c2f1b
--- 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;
+    }
+
 });