First functioning version with server calls.

This commit is contained in:
Joe Tretter
2020-03-09 10:49:19 -05:00
parent 9fbcf07cb5
commit 34ff5ec68f
5 changed files with 194 additions and 31 deletions

View File

@@ -1,12 +1,22 @@
const micro = require('micro');
const queryString = require('querystring');
const Database = require('better-sqlite3');
module.exports = (req, res) => {
console.log(req.method, req.url);
res.setHeader("Access-Control-Allow-Origin","*");
//console.log(res);
if (req.method === "GET") {
console.log("Get Request coming in");
if (req.url === "/dates") {
console.log("Request for Dates");
let qsAttr;
let func=req.url;
if (req.url.indexOf("?") >=0){
func=req.url.substring(0,req.url.indexOf("?"))
qsAttr=queryString.parse(req.url.substring(req.url.indexOf("?")+1));
}
console.log(func,qsAttr);
if (func === "/getCombinations") {
console.log("Request for combinations");
const db = new Database('./quoteDBs/consolidated.sqlite3', { verbose: console.log });
const stmt = db.prepare("SELECT distinct Symbol,date(TimeStamp,'localtime') Date ,time(TimeStamp,'localtime') Time FROM OptionQuotes");
let allDates = stmt.all();
@@ -14,8 +24,62 @@ module.exports = (req, res) => {
db.close();
micro.send(res,200,allDates);
}
} else {
res.end('Welcome to Micro');
if (func === "/getSymbols") {
console.log("Request for Symbols");
const db = new Database('./quoteDBs/consolidated.sqlite3', { verbose: console.log });
const stmt = db.prepare("SELECT distinct Symbol FROM OptionQuotes order by 1");
let allDates = stmt.all();
//console.log(JSON.stringify(allDates));
db.close();
micro.send(res,200,allDates);
}
if (func === "/getDates") {
console.log("Request for Dates");
const db = new Database('./quoteDBs/consolidated.sqlite3', { verbose: console.log });
const stmt = db.prepare("SELECT distinct date(TimeStamp,'localtime') Date FROM OptionQuotes order by 1");
let allDates = stmt.all();
//console.log(JSON.stringify(allDates));
db.close();
micro.send(res,200,allDates);
}
if (func === "/getTimes") {
console.log("Request for Times");
const db = new Database('./quoteDBs/consolidated.sqlite3', { verbose: console.log });
let sql = "SELECT distinct time(TimeStamp,'localtime') Time FROM OptionQuotes where 1=1"
if (qsAttr.Symbol) {
sql +=" and Symbol='" + qsAttr.Symbol+ "'";
}
if (qsAttr.Date){
sql +=" and date(TimeStamp,'localtime')='" + qsAttr.Date+ "'";
}
sql+=" order by 1";
const stmt = db.prepare(sql);
let allDates = stmt.all();
//console.log(JSON.stringify(allDates));
db.close();
micro.send(res,200,allDates);
}
if (func === "/getOptionChain") {
console.log("Request for OptionChain");
const db = new Database('./quoteDBs/consolidated.sqlite3', { verbose: console.log });
let sql = "SELECT Data FROM OptionQuotes where 1=1"
if (qsAttr.Symbol) {
sql +=" and Symbol='" + qsAttr.Symbol+ "'"
}
if (qsAttr.Date){
sql +=" and date(TimeStamp,'localtime')='" + qsAttr.Date+ "'";
}
if (qsAttr.Time){
sql +=" and time(TimeStamp,'localtime')='" + qsAttr.Time+ "'";
}
const stmt = db.prepare(sql);
let allDates = stmt.all();
//console.log(JSON.stringify(allDates));
db.close();
micro.send(res,200,allDates);
}
}
}