MangoShelf/Components/webserver.js

95 lines
3.1 KiB
JavaScript
Raw Normal View History

2022-09-20 12:19:01 +02:00
// Forces NodeJS to disable "Silent errors", in other words, don't
'use strict';
2022-09-16 21:57:13 +02:00
// Import things
const express = require('express');
const app = express();
const server = require('http').createServer(app);
const port = process.env.PORT || 3430;
2022-09-19 23:55:23 +02:00
const test = require('../testdatabase.json');
2022-09-20 12:19:01 +02:00
const bodyParser = require("body-parser");
var mysql = require('mysql');
2022-09-19 23:55:23 +02:00
var site;
// TODO: Add stuff for MySQL
2022-09-16 21:57:13 +02:00
2022-09-20 12:19:01 +02:00
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(results);
});
2022-09-16 21:57:13 +02:00
// Set the templates folder for the thingy
app.set('views', __dirname + '/../Templates');
app.set('view engine', 'ejs');
2022-09-20 12:19:01 +02:00
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
2022-09-16 21:57:13 +02:00
// Makes it so that the Public folder mounts under /
app.use(express.static(__dirname + '/../Public'));
// Main page
app.get('/', function(req, res){
2022-09-19 23:55:23 +02:00
console.log('🌐 Client requested ' + req.url);
2022-09-20 12:19:01 +02:00
res.render('index', { results, site: 1 });
2022-09-19 23:55:23 +02:00
console.log('✅ Client recieved ' + req.url);
// console.log(test.cars.Nissan[1].model)
});
2022-09-20 12:19:01 +02:00
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('/subbb', function(req, res){
2022-09-19 23:55:23 +02:00
console.log('🌐 Client requested ' + req.url);
2022-09-20 12:19:01 +02:00
res.render('additem');
2022-09-19 23:55:23 +02:00
console.log('✅ Client recieved ' + req.url);
// console.log(test.cars.Nissan[1].model)
2022-09-16 21:57:13 +02:00
});
2022-09-20 12:19:01 +02:00
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);
res.render('index', { test, site: 1 });
console.log('✅ Client recieved ' + req.url);
connection.query("INSERT INTO `stock` (`name`, `description`, `status`, `category`, `amount`, `location`, `expiry`, `lastupdate`, `orderid`, `notes`) VALUES (${name}, '${desc}', ${status}, ${category}, ${amount}, ${location}, NULL, ${Date.now()}, ${orderid}, '${notes}');", function(error) {if (error){throw error;}})
if (name && desc && status && category && amount && location && orderid && notes) {
console.log('boop!');
}
// console.log(test.cars.Nissan[1].model)
});
2022-09-16 21:57:13 +02:00
// Simple way to expose a function
exports = module.exports = rws;
// rws = RunWebServer
function rws() {
server.listen(port, () => {
console.log('✅ Webserver is running ( %d )', port);
});
};