Advertisement
Guest User

Untitled

a guest
Feb 25th, 2018
346
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'use strict';
  2.  
  3. const Promise = require('bluebird');
  4. const Mailgen = require('mailgen');
  5. const nodemailer = require('nodemailer');
  6. const encrypt           = require('@zeklouis/iut-encrypt');
  7.  
  8. // contient toutes les méthodes privées de votre plugin
  9. const internals = {
  10.     mailgen : new Mailgen({
  11.         theme   : 'default',
  12.         product : {
  13.             name : 'Users HAPI Project',
  14.             link : 'https://github.com/ZekLouis',
  15.         },
  16.     }),
  17.     newUserEmail(name, login, pass) {
  18.         return {
  19.             body :  {
  20.                 name,
  21.                 intro       : `Welcome to Users Project! We're very excited to have you on board. login : ${login}, password : ${pass}`,
  22.                dictionnary : {
  23.                    username : login,
  24.                    password : pass,
  25.                },
  26.                outro : 'See you soon on this beautiful API',
  27.            },
  28.        };
  29.    },
  30.    passwordLoginChanged(name) {
  31.        return {
  32.            body :  {
  33.                name,
  34.                intro       : 'Your password or your login has changed.',
  35.                outro : 'See you soon on this beautiful API',
  36.            },
  37.        };
  38.    },
  39. };
  40.  
  41. const externals = {
  42.    new(user, clearPassword) {
  43.        const transporter = nodemailer.createTransport(internals.server.app.envs.mail);
  44.  
  45.        const mail_data = {
  46.            from    : 'hapilouisproject@gmail.com',
  47.            to      : 'zeklouis@gmail.com', // user.email,
  48.            subject : `[HAPI] ${user.lastname} ${user.firstname}: Registration`,
  49.            html    : internals.mailgen.generate(internals.newUserEmail(`${user.lastname} ${user.firstname}`, user.login, clearPassword)),
  50.            text    : internals.mailgen.generatePlaintext(internals.newUserEmail(`${user.lastname} ${user.firstname}`, user.login, clearPassword)),
  51.        };
  52.  
  53.        return transporter.sendMail(mail_data);
  54.    },
  55.    update(user) {
  56.        const transporter = nodemailer.createTransport(internals.server.app.envs.mail);
  57.  
  58.        const mail_data = {
  59.            from    : 'hapilouisproject@gmail.com',
  60.            to      : 'zeklouis@gmail.com', // user.email,
  61.            subject : `[HAPI] ${user.lastname} ${user.firstname}: Password or login modification`,
  62.            html    : internals.mailgen.generate(internals.passwordLoginChanged(`${user.lastname} ${user.firstname}`)),
  63.            text    : internals.mailgen.generatePlaintext(internals.passwordLoginChanged(`${user.lastname} ${user.firstname}`)),
  64.        };
  65.  
  66.        return transporter.sendMail(mail_data);
  67.    },
  68.    register(server, options, next) {
  69.        internals.server    = server.root;
  70.        internals.settings  = options;
  71.  
  72.        server.expose('update', externals.update);
  73.        server.expose('new', externals.new);
  74.  
  75.        next();
  76.    },
  77. };
  78.  
  79. externals.register.attributes = {
  80.    name    : 'mails',
  81. };
  82.  
  83. module.exports.register = externals.register;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement