Files
habitica/website/src/controllers/coupon.js
T
2015-02-03 14:10:55 -06:00

37 lines
1.1 KiB
JavaScript

var _ = require('lodash');
var Coupon = require('./../models/coupon').model;
var api = module.exports;
var csv = require('express-csv');
var async = require('async');
api.ensureAdmin = function(req, res, next) {
if (!res.locals.user.contributor.sudo) return res.json(401, {err:"You don't have admin access"});
next();
}
api.generateCoupons = function(req,res,next) {
Coupon.generate(req.params.event, req.query.count, function(err){
if(err) return next(err);
res.send(200);
});
}
api.getCoupons = function(req,res,next) {
var options = {sort:'seq'};
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){
return [c._id];
})));
});
}
api.enterCode = function(req,res,next) {
Coupon.apply(res.locals.user,req.params.code,function(err,user){
if (err) return res.json(400,{err:err});
res.json(user);
});
}