// Forces NodeJS to disable "Silent errors" 'use strict'; // Import things const express = require('express'); const app = express(); const server = require('http').createServer(app); const port = process.env.PORT || 3430; const test = require('../testdatabase.json'); const bodyParser = require("body-parser"); var mysql = require('mysql'); var site; // TODO: Add stuff for MySQL var connection = mysql.createConnection({ host : '127.0.0.1', user : 'demo', password : 'lqklvok', database : 'mangoshelfdb' }); connection.query('SELECT * FROM stock', function (error, results, fields) { if (error) throw error; // connected! console.log('MySQL connected!'); }); // Set the templates folder for the thingy app.set('views', __dirname + '/../Templates'); app.set('view engine', 'ejs'); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); // Makes it so that the Public folder mounts under / app.use(express.static(__dirname + '/../Public')); // Main page app.get('/', function(req, res){ res.redirect('/stock') // console.log(test.cars.Nissan[1].model) }); app.get('/stock', function(req, res){ console.log('🌐 Client requested ' + req.url); connection.query('SELECT * FROM stock', function (error, results, fields) { if (error) throw error; // connected! //console.log(results); res.render('index', { results, site: 2 }); console.log('✅ Client recieved ' + req.url); }); // console.log(test.cars.Nissan[1].model) }); app.get('/stock/new', function(req, res){ var results = null; console.log('🌐 Client requested ' + req.url); res.render('index', { results, site: 21 }); // console.log(test.cars.Nissan[1].model) }); app.post('/api/live/inventory/add', function(req, res){ let name = req.body.name; let desc = req.body.desc; let status = req.body.status; let category = req.body.category; let amount = req.body.amount; let location = req.body.location; let orderid = req.body.orderid; let notes = req.body.notes; console.log('🌐 Client requested ' + req.url + ' with id ' + req.params.id); console.log('✅ Client recieved ' + req.url); var sql = "INSERT INTO stock (name, description, status, category, amount, location, orderid, notes) VALUES (?)"; var values = [name, desc, status, category, amount, location, orderid, notes]; connection.query(sql, [values], function (err, result) { if (err) throw err; console.log("Number of records inserted: " + result.affectedRows); res.redirect('/stock'); }); if (name && desc && status && category && amount && location && orderid && notes) { console.log('boop!'); } // console.log(test.cars.Nissan[1].model) }); app.get('/api/live/inventory/delete/:thinGid', function(req, res){ var idtodelete = req.params.thinGid; console.log(idtodelete); var sql = "DELETE FROM stock WHERE id = ?"; var values = [idtodelete]; connection.query(sql, [values], function (err, result) { if (err) throw err; console.log("Number of records inserted: " + result.affectedRows); res.redirect('/stock'); }); }); // Simple way to expose a function exports = module.exports = rws; // rws = RunWebServer function rws() { server.listen(port, () => { console.log('✅ Webserver is running ( %d )', port); }); };