UNPKG

artsy-passport

Version:

Wires up the common auth handlers for Artsy's [Ezel](ezeljs.com)-based apps using [passport](http://passportjs.org/).

57 lines (50 loc) 1.55 kB
// Generated by CoffeeScript 1.11.1 (function() { var Analytics, opts; opts = require('../options'); Analytics = require('analytics-node'); this.setCampaign = function(req, res, next) { if (!opts.SEGMENT_WRITE_KEY) { return next(); } req.session.modalId = req.body.modal_id || req.query.modal_id; req.session.acquisitionInitiative = req.body.acquisition_initiative || req.query.acquisition_initiative; return next(); }; this.trackSignup = function(service) { return function(req, res, next) { var acquisitionInitiative, analytics, modalId; modalId = req.session.modalId; acquisitionInitiative = req.session.acquisitionInitiative; delete req.session.acquisitionInitiative; delete req.session.modalId; if (!opts.SEGMENT_WRITE_KEY) { return next(); } analytics = new Analytics(opts.SEGMENT_WRITE_KEY); analytics.track({ event: 'Created account', userId: req.user.get('id'), properties: { modal_id: modalId, acquisition_initiative: acquisitionInitiative, signup_service: service, user_id: req.user.get('id') } }); return next(); }; }; this.trackLogin = function(req, res, next) { var analytics; if (!opts.SEGMENT_WRITE_KEY) { return next(); } analytics = new Analytics(opts.SEGMENT_WRITE_KEY); analytics.track({ event: 'Successfully logged in', userId: req.user.get('id') }); return next(); }; }).call(this);