diff options
| -rw-r--r-- | app/node_modules/okutil/index.js | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/app/node_modules/okutil/index.js b/app/node_modules/okutil/index.js index 738c6a4..01041b6 100644 --- a/app/node_modules/okutil/index.js +++ b/app/node_modules/okutil/index.js @@ -24,17 +24,27 @@ module.exports = { }))) .then(function(results) { var metadata = results.shift(); - var normalized = results.reduce(function(data, result, i) { + var normalized = results.reduce(function(cache, result, i) { + var resource = queries[i].resource; var type = queries[i].type; + var plural = pluralize(type); if (isarray(result)) { - data[pluralize(type)] = result; + result = result.map(function(data) { + // Inform template of ID in generic way + data.id = data[resource.idField]; + return data; + }); } else { - data[type] = result; + // Inform template of ID in generic way + result.id = result[resource.idField]; + result = [result] } - return data; + cache[plural] = cache[plural] || []; + cache[plural] = cache[plural].concat(result); + return cache; }, {meta: metadata}); resolve(normalized); - }, reject); + }).fail(reject); }); }, |
