Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Import required packages
- const express = require('express');
- const cors = require('cors');
- const bodyParser = require('body-parser');
- const morgan = require('morgan');
- const config = require('./db/config/config');
- const nodemailer = require('nodemailer');
- const conversations = require('./db/conversations'); //Import connection to clients
- const clients = require('./db/clients'); //Import connection to clients
- const users = require('./db/users'); //Import connection to clients
- const chat = require('./db/chat')
- const app = express(); // Invoke Express
- app.use(morgan('tiny')); // Add morgan logs
- app.use(cors()); // Add CORS
- app.use(bodyParser.json()); // Add body parser. Parses JSON from client
- // When a get request comes into our server this will run
- //req = request, res = response // Parameters
- app.get('/clients', (req, res) => {
- clients.getAll().then((clients) => {
- res.json(clients);
- });
- });
- //Handle POST requests to clients
- app.post('/clients', (req, res) => {
- console.log(req.body);
- clients.insert(req, res).then((client) => {
- res.json(client);
- }).catch((error) => {
- res.status(500);
- res.json(error);
- });
- })
- //Handle POST requests to register
- app.post('/register', (req, res) => {
- console.log(req.body);
- users.register(req, res).then((user) => {
- res.json(user);
- console.log(user)
- }).catch((error) => {
- res.status(500);
- res.json(error);
- });
- })
- app.post('/login', (req, res) => {
- users.login(req, res)
- // users.register(req.body).then((user) => {
- // res.json(user);
- // }).catch((error) => {
- // res.status(500);
- // res.json(error);
- // });
- })
- app.post('/getConversations', (req, res) => {
- conversations.getConversations(req, res).then((conversations) => {
- console.log('convo ' + conversations)
- res.json(conversations)
- console.log('after json')
- }).catch((error) => {
- res.status(500);
- //res.json(error);
- });
- });
- app.post('/getConversationClient', (req, res) => {
- conversations.getConversationClient(req, res).then((conversations) => {
- console.log('convo ' + conversations)
- res.json(conversations)
- console.log('after json')
- }).catch((error) => {
- res.status(500);
- //res.json(error);
- });
- });
- app.post('/createConversation', (req, res) => {
- conversations.createConversation(req, res).then((conversations) => {
- res.json(conversations)
- }).catch((error) => {
- res.status(500);
- //res.json(error);
- });
- })
- app.post('/getMessages', (req, res) => {
- console.log('inside get messages' + " " + JSON.stringify(req.body))
- chat.getMessages(req, res).then((messages) => {
- console.log(messages)
- res.json(messages)
- }).catch((error) => {
- console.log(error)
- res.status(500);
- });
- })
- app.post('/sendMessage', (req, res) => {
- console.log(req.body)
- chat.sendMessage(req, res).then((message) => {
- res.json(message)
- console.log(message)
- }).catch((error) => {
- res.status(500);
- });
- })
- app.post('/sendMessageClient', (req, res) => {
- console.log(req.body)
- chat.sendMessageClient(req, res).then((message) => {
- res.json(message)
- console.log(message)
- }).catch((error) => {
- res.status(500);
- });
- })
- app.post('/sendMail', (req, res) => {
- const output = `<p>Please use this access code for your Kelowna Medical Massage app: ${req.body.accessCode}</p>`
- console.log(req.body)
- // Generate test SMTP service account from ethereal.email
- // Only needed if you don't have a real mail account for testing
- nodemailer.createTestAccount((err, account) => {
- // create reusable transporter object using the default SMTP transport
- let transporter = nodemailer.createTransport({
- service: 'gmail',
- auth: {
- user: 'mailtestKMM@gmail.com',
- pass: 'testingKMM123'
- }
- });
- // setup email data with unicode symbols
- let mailOptions = {
- from: '"Test 👻" <foo@example.com>', // sender address
- to: req.body.email, // list of receivers
- subject: 'KMM Access Code', // Subject line
- text: `Please use this access code for your Kelowna Medical Massage app: ${req.body.accessCode}`,
- html: `<p>Please use this access code for your Kelowna Medical Massage app: ${req.body.accessCode}</p>`
- };
- console.log(mailOptions)
- // send mail with defined transport object
- transporter.sendMail(mailOptions, (error, info) => {
- if (error) {
- return console.log(error);
- }
- console.log('Message sent: %s', info.messageId);
- // Preview only available when sending through an Ethereal account
- console.log('Preview URL: %s', nodemailer.getTestMessageUrl(info));
- // Message sent: <b658f8ca-6296-ccf4-8306-87d57a0b4321@example.com>
- // Preview URL: https://ethereal.email/message/WaQKMgKddxQDoou...
- });
- });
- })
- const port = config.port || 1234; //Set port for deployment or 1234 for testing
- //Set listening port
- app.listen(port, () => {
- console.log(`listening on ${port}`);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement