--- 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);