| 12345678910111213141516171819202122232425262728293031323334353637383940 | 'use strict';const coreClass = require("../../core");const config = require('config');let mailgun = null;module.exports = class extends coreClass {	initialize() {		return new Promise((resolve, reject) => {			this.setStage(1);			this.schemas = {				verifyEmail: require('./schemas/verifyEmail'),				resetPasswordRequest: require('./schemas/resetPasswordRequest'),				passwordRequest: require('./schemas/passwordRequest')			};			this.enabled = config.get('apis.mailgun.enabled');			if (this.enabled)				mailgun = require('mailgun-js')({					apiKey: config.get("apis.mailgun.key"),					domain: config.get("apis.mailgun.domain")				});						resolve();		});	}	async sendMail(data, cb) {		try { await this._validateHook(); } catch { return; }		if (!cb) cb = ()=>{};		if (this.enabled) mailgun.messages().send(data, cb);		else cb();	}}
 |