chore(): rename website/src -> website/server and website/public -> website/client (#7199)
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
var _ = require('lodash');
|
||||
import {
|
||||
model as Coupon,
|
||||
} from '../../models/coupon';
|
||||
var api = module.exports;
|
||||
var csvStringify = require('csv-stringify');
|
||||
var async = require('async');
|
||||
|
||||
api.ensureAdmin = function(req, res, next) {
|
||||
if (!res.locals.user.contributor.sudo) return res.status(401).json({err:"You don't have admin access"});
|
||||
next();
|
||||
}
|
||||
|
||||
api.generateCoupons = function(req,res,next) {
|
||||
let count = Number(req.query.count);
|
||||
Coupon.generate(req.params.event, count, function(err){
|
||||
if(err) return next(err);
|
||||
res.sendStatus(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){
|
||||
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);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
api.enterCode = function(req,res,next) {
|
||||
Coupon.apply(res.locals.user,req.params.code,function(err,user){
|
||||
if (err) return res.status(400).json({err:err});
|
||||
res.json(user);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user