diff --git a/test/api-legacy/coupons.js b/test/api-legacy/coupons.js index 1f4fcda3b6..31d840de61 100644 --- a/test/api-legacy/coupons.js +++ b/test/api-legacy/coupons.js @@ -40,26 +40,29 @@ describe("Coupons", function() { describe("POST /api/v2/coupons/generate/:event", function() { context("while sudo user", function() { before(function(done) { - return makeSudoUser(user, done); + makeSudoUser(user, done); }); - return it("generates coupons", function(done) { + + it("generates coupons", function(done) { var queries; queries = '?count=10'; - return request.post(baseURL + '/coupons/generate/wondercon' + queries).end(function(err, res) { + + request.post(baseURL + '/coupons/generate/wondercon' + queries).end(function(err, res) { expectCode(res, 200); - return Coupon.find({ + Coupon.find({ event: 'wondercon' }, function(err, _coupons) { coupons = _coupons; expect(coupons.length).to.equal(10); _(coupons).each(function(c) { - return expect(c.event).to.equal('wondercon'); + expect(c.event).to.equal('wondercon'); }).value(); - return done(); + done(); }); }); }); }); + return context("while regular user", function() { before(function(done) { return registerNewUser(done, true); diff --git a/website/src/controllers/api-v2/coupon.js b/website/src/controllers/api-v2/coupon.js index 8ab576cb6e..a69c41e326 100644 --- a/website/src/controllers/api-v2/coupon.js +++ b/website/src/controllers/api-v2/coupon.js @@ -10,7 +10,8 @@ api.ensureAdmin = function(req, res, next) { } api.generateCoupons = function(req,res,next) { - Coupon.generate(req.params.event, req.query.count, function(err){ + let count = Number(req.query.count); + Coupon.generate(req.params.event, count, function(err){ if(err) return next(err); res.sendStatus(200); }); diff --git a/website/src/libs/api-v2/logging.js b/website/src/libs/api-v2/logging.js index 112bfe8384..f832adb6d5 100644 --- a/website/src/libs/api-v2/logging.js +++ b/website/src/libs/api-v2/logging.js @@ -1,7 +1,5 @@ var nconf = require('nconf'); var winston = require('winston'); -//require('winston-mail').Mail; -//require('winston-newrelic'); var logger, loggly; @@ -22,51 +20,38 @@ if (nconf.get('LOGGLY:enabled')){ }); } -if (logger == null) { - logger = new (winston.Logger)({}); - if (nconf.get('NODE_ENV') == 'production') { - if (!nconf.get('DISABLE_ERROR_EMAILS') && false) { - logger.add(winston.transports.Mail, { - to: nconf.get('ADMIN_EMAIL') || nconf.get('SMTP_USER'), - from: "HabitRPG <" + nconf.get('SMTP_USER') + ">", - subject: "HabitRPG Error", - host: nconf.get('SMTP_HOST'), - port: nconf.get('SMTP_PORT'), - tls: nconf.get('SMTP_TLS'), - username: nconf.get('SMTP_USER'), - password: nconf.get('SMTP_PASS'), - level: 'error' - }); - } - } else { - logger.add(winston.transports.Console, {colorize:true}); - logger.add(winston.transports.File, {filename: 'habitrpg.log'}); - } +if (!logger) { + logger = new (winston.Logger)({}); + + if (nconf.get('NODE_ENV') !== 'production') { + logger.add(winston.transports.Console, {colorize:true}); + logger.add(winston.transports.File, {filename: 'habitrpg.log'}); + } } // A custom log function that wraps Winston. Makes it easy to instrument code // and still possible to replace Winston in the future. module.exports.log = function(/* variable args */) { - if (logger) - logger.log.apply(logger, arguments); + if (logger) + logger.log.apply(logger, arguments); }; module.exports.info = function(/* variable args */) { - if (logger) - logger.info.apply(logger, arguments); + if (logger) + logger.info.apply(logger, arguments); }; module.exports.warn = function(/* variable args */) { - if (logger) - logger.warn.apply(logger, arguments); + if (logger) + logger.warn.apply(logger, arguments); }; module.exports.error = function(/* variable args */) { - if (logger) - logger.error.apply(logger, arguments); + if (logger) + logger.error.apply(logger, arguments); }; module.exports.loggly = function(/* variable args */){ - if (loggly) - loggly.log.apply(loggly, arguments); + if (loggly) + loggly.log.apply(loggly, arguments); }; diff --git a/website/src/libs/api-v2/utils.js b/website/src/libs/api-v2/utils.js index 62a69c4322..8657bf6513 100644 --- a/website/src/libs/api-v2/utils.js +++ b/website/src/libs/api-v2/utils.js @@ -8,15 +8,16 @@ const IS_PROD = nconf.get('IS_PROD'); const BASE_URL = nconf.get('BASE_URL'); module.exports.sendEmail = function(mailData) { - var smtpTransport = nodemailer.createTransport("SMTP",{ + var smtpTransport = nodemailer.createTransport({ service: nconf.get('SMTP_SERVICE'), auth: { user: nconf.get('SMTP_USER'), pass: nconf.get('SMTP_PASS') } }); + smtpTransport.sendMail(mailData, function(error, response){ - var logging = require('./api-v2/logging'); + var logging = require('./api-v2/logging'); if(error) logging.error(error); else logging.info("Message sent: " + response.message); smtpTransport.close(); // shut down the connection pool, no more messages diff --git a/website/src/libs/api-v3/logger.js b/website/src/libs/api-v3/logger.js index 37f5128fbf..993ee44e9d 100644 --- a/website/src/libs/api-v3/logger.js +++ b/website/src/libs/api-v3/logger.js @@ -1,5 +1,4 @@ // Logger utility -// TODO remove winston-mail and winston-newrelic if not used import winston from 'winston'; import nconf from 'nconf';