├── .gitignore ├── Procfile ├── package.json └── server.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: npm start -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "directory-browser-backend", 3 | "version": "1.0.0", 4 | "scripts": { 5 | "start": "nodemon server.js", 6 | "test": "mocha" 7 | }, 8 | "dependencies": { 9 | "body-parser": "~1.13.2", 10 | "chai": "^1.9.2", 11 | "cheerio": "^0.22.0", 12 | "cookie-parser": "^1.3.5", 13 | "cors": "^2.8.1", 14 | "debug": "~2.2.0", 15 | "express": "~4.13.1", 16 | "express-fileupload": "0.0.6", 17 | "firebase": "^3.6.7", 18 | "firebase-admin": "^4.0.6", 19 | "mocha": "^2.0.1", 20 | "morgan": "~1.6.1", 21 | "multer": "^1.2.1", 22 | "nodemailer": "^2.7.2", 23 | "nodemon": "^1.9.1", 24 | "supertest": "^2.0.1" 25 | }, 26 | "engines": { 27 | "node": "6.9.1" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | /* ===================================================== 2 | Importing Necessory Module & Envoirnment Setting 3 | ===================================================== */ 4 | 5 | var cookieParser = require('cookie-parser'); 6 | var bodyParser = require('body-parser'); 7 | var express = require('express'); 8 | var logger = require('morgan'); 9 | var path = require('path'); 10 | var port = process.env.PORT || '3000'; 11 | var cors = require('cors'); 12 | var fs = require('fs'); 13 | var app = express(); 14 | var __dirname = './user_directory/R5/R5_1'; 15 | var uploadPath = './user_directory/R5/'; 16 | var multer = require('multer'); 17 | var fileUpload = require('express-fileupload'); 18 | // var firebase = require("firebase"); 19 | // var admin = require("firebase-admin"); 20 | var nodemailer = require('nodemailer'); 21 | // import * as admin from "firebase-admin"; 22 | 23 | // var config = { 24 | // apiKey: "AIzaSyA6ozf67ohbTk9EvSr9gFeX4layz6aN7jA", 25 | // authDomain: "sample-98876.firebaseapp.com", 26 | // databaseURL: "https://sample-98876.firebaseio.com", 27 | // storageBucket: "sample-98876.appspot.com", 28 | // messagingSenderId: "975075020136" 29 | // }; 30 | // firebase.initializeApp(config); 31 | 32 | 33 | // var serviceAccount = require("./firebase-adminsdk.json"); 34 | 35 | // admin.initializeApp({ 36 | // credential: admin.credential.cert(serviceAccount), 37 | // databaseURL: "https://sample-98876.firebaseio.com" 38 | // }); 39 | 40 | 41 | /* ===================================================== 42 | Middleware Will Run on Every Request 43 | ===================================================== */ 44 | 45 | app.use(cors()); 46 | app.use(logger('dev')); 47 | app.use(bodyParser.urlencoded({ extended: false })); 48 | app.use(bodyParser.json()); 49 | app.use(cookieParser()); 50 | 51 | // app.use(function (req, res, next) { 52 | // if (req.headers['x-forwarded-proto'] != 'https') 53 | // res.redirect('https://immense-depths-75143.herokuapp.com') 54 | // else 55 | // next() 56 | // }) 57 | 58 | app.get('/deleteUser', function (req, res) { 59 | var uidToDelete = req.headers.uid; 60 | admin.auth().deleteUser(uidToDelete) 61 | .then(function () { 62 | console.log("Successfully deleted user"); 63 | res.end(); 64 | }) 65 | .catch(function (error) { 66 | console.log("Error deleting user:", error); 67 | res.end(); 68 | }); 69 | console.log(uidToDelete); 70 | 71 | }) 72 | 73 | app.get('/mailSend', mailSend) 74 | 75 | function mailSend(req, res) { 76 | console.log('haider----------------------------'); 77 | handleSayHello(req, res); 78 | 79 | function handleSayHello(req, res) { 80 | // Not the movie transporter! 81 | var transporter = nodemailer.createTransport({ 82 | service: 'Gmail', 83 | auth: { 84 | user: 'haseebrehmanpc@gmail.com', // Your email id 85 | pass: 'shan1234' // Your password 86 | } 87 | }); 88 | var text = 'Hello your reservation confirmed. Your Slot Number is' + req.headers.slotno + ' \n\n' + req.headers.from; 89 | var mailOptions = { 90 | from: 'haseebrehmanpc@gmail.com', // sender address 91 | to: req.headers.recipient, // list of receivers 92 | subject: 'Reservation Confirmed', // Subject line 93 | text: text, //, // plaintext body 94 | // html: 'Hello world ✔' // You can choose to send an HTML body instead 95 | // attachments: [ 96 | // { 97 | // filename: 'voicemail.mp3', 98 | // path: 'https://s3.amazonaws.com/recordings_2013/24c5065c-acab-11e6-8176-842b2b4c14d7.mp3' 99 | // } 100 | // ] 101 | }; 102 | transporter.sendMail(mailOptions, function (error, info) { 103 | if (error) { 104 | console.log(error); 105 | res.json({ yo: error }); 106 | } else { 107 | console.log('Message sent: ' + info.response); 108 | res.json({ yo: info.response }); 109 | }; 110 | }); 111 | } 112 | } 113 | 114 | 115 | 116 | /* ===================================================== 117 | Server Listen 118 | ===================================================== */ 119 | 120 | app.listen(port, function () { 121 | console.log("server is listening on port : ", port); 122 | }).timeout = 25000; 123 | --------------------------------------------------------------------------------