refactor: Remove express-csv dependency

This commit is contained in:
Blade Barringer
2016-03-26 21:43:18 -05:00
parent cb5a79b1bf
commit f4b43f55f0
4 changed files with 46 additions and 16 deletions
+12 -4
View File
@@ -8,7 +8,7 @@ var User = require('./../../models/user').model;
var Group = require('./../../models/group').model;
var Challenge = require('./../../models/challenge').model;
var logging = require('./../../libs/logging');
var csv = require('express-csv');
var csvStringify = require('csv-stringify');
var utils = require('../../libs/utils');
var api = module.exports;
var pushNotify = require('./../pushNotifications');
@@ -112,9 +112,17 @@ api.csv = function(req, res, next) {
})
output.push(uData);
});
res.header('Content-disposition', 'attachment; filename='+cid+'.csv');
res.csv(output);
challenge = cid = null;
res.set({
'Content-Type': 'text/csv',
'Content-disposition': `attachment; filename=${cid}.csv`,
});
csvStringify(output, (err, csv) => {
if (err) return next(err);
res.status(200).send(csv);
challenge = cid = null;
});
})
}
+12 -4
View File
@@ -1,7 +1,7 @@
var _ = require('lodash');
var Coupon = require('./../../models/coupon').model;
var api = module.exports;
var csv = require('express-csv');
var csvStringify = require('csv-stringify');
var async = require('async');
api.ensureAdmin = function(req, res, next) {
@@ -21,10 +21,18 @@ api.getCoupons = function(req,res,next) {
if (req.query.limit) options.limit = req.query.limit;
if (req.query.skip) options.skip = req.query.skip;
Coupon.find({},{}, options, function(err,coupons){
//res.header('Content-disposition', 'attachment; filename=coupons.csv');
res.csv([['code']].concat(_.map(coupons, function(c){
let output = [['code']].concat(_.map(coupons, function(c){
return [c._id];
})));
}))
res.set({
'Content-Type': 'text/csv',
'Content-disposition': `attachment; filename=habitica-coupons.csv`,
});
csvStringify(output, (err, csv) => {
if (err) return next(err);
res.status(200).send(csv);
});
});
}