Advertisement
Guest User

Untitled

a guest
Jan 4th, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Import required packages
  2. const express = require('express');
  3. const cors = require('cors');
  4. const bodyParser = require('body-parser');
  5. const morgan = require('morgan');
  6. const config = require('./db/config/config');
  7. const nodemailer = require('nodemailer');
  8.  
  9.  
  10. const conversations = require('./db/conversations'); //Import connection to clients
  11. const clients = require('./db/clients'); //Import connection to clients
  12. const users = require('./db/users'); //Import connection to clients
  13. const chat = require('./db/chat')
  14.  
  15. const app = express(); // Invoke Express
  16.  
  17. app.use(morgan('tiny')); // Add morgan logs
  18. app.use(cors()); // Add CORS
  19. app.use(bodyParser.json()); // Add body parser. Parses JSON from client
  20.  
  21. // When a get request comes into our server this will run
  22. //req = request, res = response // Parameters
  23.  
  24. app.get('/clients', (req, res) => {
  25.     clients.getAll().then((clients) => {
  26.         res.json(clients);
  27.     });
  28. });
  29.  
  30. //Handle POST requests to clients
  31. app.post('/clients', (req, res) => {
  32.     console.log(req.body);
  33.     clients.insert(req, res).then((client) => {
  34.         res.json(client);
  35.     }).catch((error) => {
  36.         res.status(500);
  37.         res.json(error);
  38.     });
  39. })
  40.  
  41.  
  42. //Handle POST requests to register
  43. app.post('/register', (req, res) => {
  44.     console.log(req.body);
  45.     users.register(req, res).then((user) => {
  46.         res.json(user);
  47.         console.log(user)
  48.     }).catch((error) => {
  49.         res.status(500);
  50.         res.json(error);
  51.     });
  52. })
  53. app.post('/login', (req, res) => {
  54.     users.login(req, res)
  55.     // users.register(req.body).then((user) => {
  56.     //     res.json(user);
  57.     // }).catch((error) => {
  58.     //  res.status(500);
  59.     //  res.json(error);
  60.     // });
  61. })
  62. app.post('/getConversations', (req, res) => {
  63.     conversations.getConversations(req, res).then((conversations) => {
  64.         console.log('convo ' + conversations)
  65.         res.json(conversations)
  66.         console.log('after json')
  67.     }).catch((error) => {
  68.         res.status(500);
  69.         //res.json(error);
  70.     });
  71. });
  72.  
  73. app.post('/getConversationClient', (req, res) => {
  74.     conversations.getConversationClient(req, res).then((conversations) => {
  75.         console.log('convo ' + conversations)
  76.         res.json(conversations)
  77.         console.log('after json')
  78.     }).catch((error) => {
  79.         res.status(500);
  80.         //res.json(error);
  81.     });
  82. });
  83.  
  84.  
  85.  
  86. app.post('/createConversation', (req, res) => {
  87.     conversations.createConversation(req, res).then((conversations) => {
  88.  
  89.         res.json(conversations)
  90.     }).catch((error) => {
  91.         res.status(500);
  92.         //res.json(error);
  93.     });
  94. })
  95. app.post('/getMessages', (req, res) => {
  96.     console.log('inside get messages' + " " + JSON.stringify(req.body))
  97.     chat.getMessages(req, res).then((messages) => {
  98.         console.log(messages)
  99.         res.json(messages)
  100.     }).catch((error) => {
  101.         console.log(error)
  102.         res.status(500);
  103.     });
  104. })
  105.  
  106. app.post('/sendMessage', (req, res) => {
  107.     console.log(req.body)
  108.     chat.sendMessage(req, res).then((message) => {
  109.         res.json(message)
  110.         console.log(message)
  111.     }).catch((error) => {
  112.         res.status(500);
  113.     });
  114. })
  115.  
  116. app.post('/sendMessageClient', (req, res) => {
  117.     console.log(req.body)
  118.     chat.sendMessageClient(req, res).then((message) => {
  119.         res.json(message)
  120.         console.log(message)
  121.     }).catch((error) => {
  122.         res.status(500);
  123.     });
  124. })
  125.  
  126. app.post('/sendMail', (req, res) => {
  127.     const output = `<p>Please use this access code for your Kelowna Medical Massage app: ${req.body.accessCode}</p>`
  128.    
  129.     console.log(req.body)
  130.     // Generate test SMTP service account from ethereal.email
  131.     // Only needed if you don't have a real mail account for testing
  132.     nodemailer.createTestAccount((err, account) => {
  133.         // create reusable transporter object using the default SMTP transport
  134.         let transporter = nodemailer.createTransport({
  135.             service: 'gmail',
  136.  auth: {
  137.         user: 'mailtestKMM@gmail.com',
  138.         pass: 'testingKMM123'
  139.     }
  140.         });
  141.  
  142.         // setup email data with unicode symbols
  143.         let mailOptions = {
  144.             from: '"Test 👻" <foo@example.com>', // sender address
  145.             to: req.body.email, // list of receivers
  146.             subject: 'KMM Access Code', // Subject line
  147.             text: `Please use this access code for your Kelowna Medical Massage app: ${req.body.accessCode}`,
  148.             html: `<p>Please use this access code for your Kelowna Medical Massage app: ${req.body.accessCode}</p>`
  149.         };
  150.      
  151.         console.log(mailOptions)
  152.  
  153.         // send mail with defined transport object
  154.         transporter.sendMail(mailOptions, (error, info) => {
  155.             if (error) {
  156.                 return console.log(error);
  157.             }
  158.             console.log('Message sent: %s', info.messageId);
  159.             // Preview only available when sending through an Ethereal account
  160.             console.log('Preview URL: %s', nodemailer.getTestMessageUrl(info));
  161.  
  162.             // Message sent: <b658f8ca-6296-ccf4-8306-87d57a0b4321@example.com>
  163.             // Preview URL: https://ethereal.email/message/WaQKMgKddxQDoou...
  164.         });
  165.     });
  166. })
  167.  
  168.  
  169. const port = config.port || 1234; //Set port for deployment or 1234 for testing
  170.  
  171. //Set listening port
  172. app.listen(port, () => {
  173.     console.log(`listening on ${port}`);
  174. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement