| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 
							- 'use strict';
 
- const config = require('config');
 
- const enabled = config.get('apis.mailgun.enabled');
 
- let mailgun = null;
 
- if (enabled) {
 
- 	mailgun = require('mailgun-js')({
 
- 		apiKey: config.get("apis.mailgun.key"),
 
- 		domain: config.get("apis.mailgun.domain")
 
- 	});
 
- }
 
- let initialized = false;
 
- let lockdown = false;
 
- let lib = {
 
- 	schemas: {},
 
- 	init: (cb) => {
 
- 		lib.schemas = {
 
- 			verifyEmail: require('./schemas/verifyEmail'),
 
- 			resetPasswordRequest: require('./schemas/resetPasswordRequest'),
 
- 			passwordRequest: require('./schemas/passwordRequest')
 
- 		};
 
- 		initialized = true;
 
- 		if (lockdown) return this._lockdown();
 
- 		cb();
 
- 	},
 
- 	sendMail: (data, cb) => {
 
- 		if (lockdown) return cb('Lockdown');
 
- 		if (!cb) cb = ()=>{};
 
- 		if (enabled) mailgun.messages().send(data, cb);
 
- 		else cb();
 
- 	},
 
- 	_lockdown: () => {
 
- 		lockdown = true;
 
- 	}
 
- };
 
- module.exports = lib;
 
 
  |