UNPKG

@speakr/speakr-module-services

Version:
33 lines (28 loc) 1.24 kB
const _ = require("lodash"); module.exports = { singleReport }; function singleReport(options) { const impressions = options.impressions.dataValues ? options.impressions.dataValues : options.impressions; const engagements = options.engagements.dataValues ? options.engagements.dataValues : options.engagements; const report = options.report.dataValues ? options.report.dataValues : options.report; delete options.report; const impTotal = _.sumBy(impressions, impression => { return parseInt(impression.delivered, 0); }) const engTotal = _.sumBy(engagements, engagement => { return parseInt(engagement.delivered, 0); }) const impression_ratios = impressions.map(impression => { const value = impTotal ? ( (parseInt(impression.delivered, 0)/impTotal) * 100 ).toFixed(2) : 0.00; return { label: impression.label, value }; }) const engagement_ratios = engagements.map(engagement => { const value = engTotal ? ( (parseInt(engagement.delivered, 0)/engTotal) * 100 ).toFixed(2) : 0.00; return { label: engagement.label, value }; }) report.impression_ratios = impression_ratios; report.engagement_ratios = engagement_ratios; options.report = report; return Promise.resolve(options); }