Split results into errors, warnings, notices

This commit is contained in:
Rowan Manning
2013-09-25 13:32:44 +01:00
parent 490aac8245
commit 0282de7f73
5 changed files with 32 additions and 22 deletions

View File

@@ -1,5 +1,7 @@
'use strict';
var _ = require('underscore');
module.exports = presentResult;
function presentResult (result) {
@@ -12,5 +14,20 @@ function presentResult (result) {
// Parse date
result.date = new Date(result.date);
// Split out message types
if (result.results) {
var groupedByType = _.groupBy(result.results, 'type');
['error', 'warning', 'notice'].forEach(function (type) {
var pluralType = type + 's';
var results = groupedByType[type] || [];
var groupedByCode = _.groupBy(results, 'code');
result[pluralType] = _.keys(groupedByCode).map(function (group) {
var firstMessage = groupedByCode[group][0];
firstMessage.count = groupedByCode[group].length;
return firstMessage;
});
});
}
return result;
}