File: /var/dev/nowruzgan/cronus-log/routes/1.0/log.js
var express = require('express');
var api = require('express').Router();
api.post('/', async (req, res) => {
if(!req.body.type || !req.body.event) return res.status(406).end();
let conn = await req.app.locals.pool.getConnection().catch(() => false);
let type = conn.escape(req.body.type);
let event = conn.escape(req.body.event);
let cols = 'site, type, event';
let values = `${res.locals.site.id}, ${type}, ${event}`;
if(req.body.originator){
cols += ', originator';
values += ', '+conn.escape(req.body.originator);
}
if(req.body.origin){
cols += ', origin';
values += ', '+conn.escape(req.body.origin);
}
if(req.body.seed){
cols += ', seed';
values += ', '+conn.escape(req.body.seed);
}
if(req.body.data_s1){
cols += ', data_s1';
values += ', '+conn.escape(req.body.data_s1);
}
if(req.body.data_s2){
cols += ', data_s2';
values += ', '+conn.escape(req.body.data_s2);
}
if(req.body.data_s3){
cols += ', data_s3';
values += ', '+conn.escape(req.body.data_s3);
}
if(req.body.data_s4){
cols += ', data_s4';
values += ', '+conn.escape(req.body.data_s4);
}
if(req.body.data_n1){
cols += ', data_n1';
values += ', '+parseFloat(req.body.data_n1);
}
if(req.body.data_n2){
cols += ', data_n2';
values += ', '+parseFloat(req.body.data_n2);
}
if(req.body.data_n3){
cols += ', data_n3';
values += ', '+parseFloat(req.body.data_n3);
}
if(req.body.data_n4){
cols += ', data_n4';
values += ', '+parseFloat(req.body.data_n4);
}
cols += ', occurrence';
let occurrence = `'`+new Date().toISOString().slice(0, 19).replace('T', ' ')+`'`;
if(req.body.occurrence)
occurrence = conn.escape(req.body.occurrence);
values += `, ${occurrence}`;
let query = `insert into event_log (${cols}) values (${values});`;
let result = await conn.query(query).catch(error => false);
conn.release();
res.send(!!result);
});
module.exports = api;