%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/opti/workflow/src/routes/auth/
Upload File :
Create Path :
Current File : /home/opti/workflow/src/routes/auth/auth.js

var express = require('express');
var router = express.Router();
var bcrypt = require('bcrypt');
var flash = require('connect-flash')

var con = require('../../../config');

var JWT = require('jsonwebtoken');
var passport = require('../../../passport')
var db = require('../../models');
var http = require("http");
var app = express();
nodeMailer = require('nodemailer'),


router.post('/register', passport.authenticate('local-signup', {
  successRedirect : '/login', // redirect to the secure profile section
  failureRedirect : '/register', // redirect back to the signup page if there is an error
  failureFlash : true // allow flash messages
}));

router.post('/company/register', function(req, res) {
   if(req.body.name == null ||
    req.body.email == null  ||
    req.body.password == null  ||
    req.body.address == null ||
    req.body.firstName == null ||
    req.body.lastName == null ||
    req.body.phone == null ||
    req.body.certificate_type_id == null
    ){
      return res.json({"error": "sorry, all fields are mandatory"});
    }
    
    //     const request = require('request');
    // request("http://www.quickbuysms.com//index.php?option=com_spc&comm=spc_api&username=primealert&password=primealert&sender=Primealert&recipient="+req.body.phone+"&message="+encodeURI(message), function (error, response, body) {
    //   if (!error && response.statusCode == 200) {
    //     console.log(body) // Show the HTML for the Google homepage. 
    //   }
    // });

    var uname = req.body.name;
    var uphone = req.body.phone;
    var uemail = req.body.email;
    var certificate_type_id = req.body.certificate_type_id;
    db.User.findOne({where:{email:req.body.email}}).then((user)=>{
      console.log(user);
      if(user ){
        return res.json({"error": "Provided email already exist on this platform"});
      }
      else{
        passport.authenticate('local-signup')(req, res, ()=>{ 
          db.User.findOne({order: [ [ 'createdAt', 'DESC' ]]}).then((user)=>{
            db.Certificate.create({ orgId: user.orgId, companyId: user.orgId, certificateTypeId: certificate_type_id, status: 1, createdBy: user.id })
              .then(function(certificate){
                    res.json({"success": "Registration was successfull"});
              });
          });
          
            var message = "Hi "+uname+", your request for certification has been received and is currently being processed";
             let transporter = nodeMailer.createTransport({
                //   pool: true,
                //   host: 'smtp.optisoft.com.ng',
                //   name: 'optisoft.com.ng',
                //   port: 587,
                //   secure: false,
                //   tls: {rejectUnauthorized:false},
                //   auth: {
                //       // should be replaced with real sender's account
                //       user: 'info@optisoft.com.ng',
                //       pass: '123@XYZ.com?'
                //   }
                    host: "mail.optisoft.com.ng",
                    port: 465,
                    secure: true, // use SSL
                    tls: {rejectUnauthorized:false},
                    auth: {
                        user: "ecert@optisoft.com.ng",
                        pass: "BJy?ONqRfF66"
                    }
                });
                
              let mailOptions = {
                  // should be replaced with real recipient's account
                  from: 'ecert@optisoft.com.ng',
                  to: uemail,
                  subject: "Certificate request confirmation",
                  text: message,
                  html: `<b>Hello ${uname},</b><br/><p>Your certificate request has been received and is currently been processed</p>`
              };
              console.log(mailOptions);
              transporter.sendMail(mailOptions, (error, info) => {
                  if (error) {
                      return console.log(error);
                  }else{
                  console.log('Message %s sent: %s', info.messageId, info.response);
                  }
              });
                var options = {
                  host: "quickbuysms.com",
                  path: "/index.php?option=com_spc&comm=spc_api&username=primealert&password=primealert&sender=Ecert&recipient="+uphone+"&message="+encodeURI(message)
                };
                var req = http.get(options, function(res) {
                  console.log(options);
                  console.log('HEADERS: ' + JSON.stringify(res.headers));
                  res.setEncoding('utf8');
                  res.on('data', function (chunk) {
                    console.log('BODY: ' + chunk);
                    
                  });
                  
                });
             
          
          });
      }
  })



});

router.post('/login',
  passport.authenticate('local-login', { failureRedirect: '/login',failureFlash: true }),
  function(req, res) {
    var backURl = req.session.backURl ? req.session.backURl: '/dashboard';
    req.session.backURl = "";
    // console.log
    res.redirect(backURl);
  });

router.get('/logout', function(req, res) {
    req.logout();
    res.redirect('/login');
});

module.exports = router;

Zerion Mini Shell 1.0