cms/app-client/mirage/serializers/sparse-document.js
changeset 414 5c6c526a7fc1
parent 348 a5e8d037304b
child 537 d2e6ee099125
--- a/cms/app-client/mirage/serializers/sparse-document.js	Thu Nov 10 15:35:27 2016 +0100
+++ b/cms/app-client/mirage/serializers/sparse-document.js	Sat Nov 12 17:21:25 2016 +0100
@@ -7,10 +7,33 @@
     attrs: ['id', 'title', 'languages', 'url', 'issued', 'modified', 'publishers', 'mediaArray', 'transcript'],
 
     serialize(response, request) {
-
         // 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);
 
+        if(!!request.queryParams.id) {
+            let docs = _(json['documents']).filter(function(m) {
+                return m.id === request.queryParams.id;
+            }).map(function(doc) {
+                let res = _.omit(doc, ['publishers', 'mediaArray', 'transcript']);
+                res['publisher'] = doc['publishers'].join(', ');
+                res['duration_ms'] = doc['mediaArray']?doc['mediaArray'][_(Object.keys(doc['mediaArray'])).first()]['extent_ms']:0;
+                res['transcript_url'] = (doc['transcript'] && doc['transcript']['url'])?doc['transcript']['url']:null;
+                return res;
+            }).value();
+            let meta = {
+              total: 1,
+              per_page: 1,
+              current_page: 1,
+              last_page: 1,
+              from: 1,
+              to: 1,
+              prev_page_url: null,
+              next_page_url: null
+            };
+
+            return {'documents': docs, 'meta': meta};
+        }
+
         let page = Math.max(parseInt(request.queryParams.page || 1) - 1, 0);
         let perPage = parseInt(request.queryParams.perpage || 100);