const express = require('express') const app = express() app.use(express.json()) app.use(express.static('public')); const port = 3104 var chalk = require("chalk"); var db = require("kairoscope-db-models"); var e = chalk.red('ERROR:'); db.start_database().then(() => { app.get('/', (req, res) => { res.send("Mail Analytics Service"); }) app.get('/track/:id/image.png', function(req, res, next){ var id = req.params.id; res.sendFile('image.png', {root: './public'}); db.SentMail.findOne({message_id: id}).then((message) => { if(message != undefined) { message.opened = true; message.save().then((message) => { console.log(`Tracking email ${chalk.italic(id)}`); }).catch((error) => { console.log(error); }); } else { console.log(`${e} Tracking code not in database! (${chalk.italic(id)})`); } }).catch((error) => { console.log(error); }); }); app.listen(port, () => { console.log(`Mail Analytics Service listening at ${chalk.cyan(`http://localhost:${port}`)}`); }) })