this be the start of the new api stuff

This commit is contained in:
Expand-sys 2021-06-10 21:49:46 +10:00
parent ec3ec448f2
commit b2ffae680c
3 changed files with 75 additions and 66 deletions

View file

@ -3,7 +3,8 @@ module.exports = {
if (req.session.user != undefined) { if (req.session.user != undefined) {
return next(); return next();
} }
req.flash("error_msg", "please login to view this resource"); req.session.errors = [];
req.session.errors.push({ msg: "please login to view this resource" });
res.redirect("/login"); res.redirect("/login");
}, },
}; };

View file

@ -3,13 +3,15 @@ const got = require("got");
async function postUser(name, password) { async function postUser(name, password) {
console.log(process.env.BANKAPIURL); console.log(process.env.BANKAPIURL);
try { try {
const { body } = await got.post(process.env.BANKAPIURL + "BankF/user", { const { body } = await got.get(
json: { process.env.BANKAPIURL + "BankF/user/" + name,
name: name, {
init_pass: password, headers: {
}, Password: password,
responseType: "json", },
}); responseType: "json",
}
);
return body; return body;
} catch (err) { } catch (err) {
console.log(err); console.log(err);

122
index.js
View file

@ -194,11 +194,11 @@ app.get("/BankF", ensureAuthenticated, async function (req, res) {
let logsent; let logsent;
console.log("start " + Date.now()); console.log("start " + Date.now());
try { try {
logsent = await got.post( logsent = await got(
process.env.BANKAPIURL + "BankF/" + req.session.user + "/log", process.env.BANKAPIURL + "BankF/" + req.session.user + "/log",
{ {
json: { headers: {
attempt: req.session.password, Password: req.session.password,
}, },
responseType: "json", responseType: "json",
} }
@ -206,14 +206,19 @@ app.get("/BankF", ensureAuthenticated, async function (req, res) {
} catch (e) { } catch (e) {
console.log(e); console.log(e);
} }
console.log(logsent.body);
console.log("query finished " + Date.now()); console.log("query finished " + Date.now());
logsent = logsent.body.value; logsent = logsent.body;
logsent = logsent.value;
let logrec = logsent; let logrec = logsent;
let graphlog = logsent; let graphlog = logsent;
graphlog = graphlog.reverse(); if (graphlog != null) {
graphlog = graphlog.reverse();
}
console.log(graphlog);
let graphdata = ""; let graphdata = "";
let currentbal = balance.value; let currentbal = balance.value;
if (graphlog) { if (graphlog != null) {
for (i = graphlog.length - 1; i > -1; i--) { for (i = graphlog.length - 1; i > -1; i--) {
if (graphlog[i].from == req.session.user) { if (graphlog[i].from == req.session.user) {
currentbal = parseInt(currentbal) + parseInt(graphlog[i].amount); currentbal = parseInt(currentbal) + parseInt(graphlog[i].amount);
@ -223,14 +228,15 @@ app.get("/BankF", ensureAuthenticated, async function (req, res) {
graphdata = graphdata + ", [" + parseInt(i) + "," + currentbal + "]"; graphdata = graphdata + ", [" + parseInt(i) + "," + currentbal + "]";
} }
} }
graphdata =
", [" + parseInt(graphlog.length) + "," + balance.value + "]" + graphdata;
console.log(balance);
graphdata = '["transaction", "balance"]' + graphdata;
console.log(JSON.stringify(graphdata));
} else { } else {
graphlog = undefined; graphlog = undefined;
} }
graphdata =
", [" + parseInt(graphlog.length) + "," + balance.value + "]" + graphdata;
console.log(balance);
graphdata = '["transaction", "balance"]' + graphdata;
console.log(JSON.stringify(graphdata));
if (logsent == 1 || logsent == -1 || logsent == null) { if (logsent == 1 || logsent == -1 || logsent == null) {
logsent = undefined; logsent = undefined;
} else { } else {
@ -251,13 +257,19 @@ app.get("/BankF", ensureAuthenticated, async function (req, res) {
logsent[i].time = new Date(logsent[i].time); logsent[i].time = new Date(logsent[i].time);
} }
} }
if (logrec != null) {
logrec.reverse();
}
if (logsent != null) {
logsent.reverse();
}
let maxgraph = balance + 1000; let maxgraph = balance + 1000;
console.log("begin render " + Date.now()); console.log("begin render " + Date.now());
res.render("bankf", { res.render("bankf", {
maxgraph: maxgraph, maxgraph: maxgraph,
graphdata: graphdata, graphdata: graphdata,
logrec: logrec.reverse(), logrec: logrec,
logsent: logsent.reverse(), logsent: logsent,
user: req.session.user, user: req.session.user,
balance: balance.value, balance: balance.value,
user: req.session.user, user: req.session.user,
@ -341,61 +353,55 @@ app.post("/login", async function (req, res) {
if (req.session.user) { if (req.session.user) {
res.redirect("/"); res.redirect("/");
} }
req.session.regenerate(function (err) {});
let { name, password } = req.body; let { name, password } = req.body;
let adminTest; let adminTest;
let errors = []; req.session.errors = [];
let verified;
try { try {
adminTest = await got.post(process.env.BANKAPIURL + "BankF/admin/vpass", { verified = await got(
json: { process.env.BANKAPIURL + "BankF/" + name + "/pass/verify",
attempt: password, {
}, headers: {
responseType: "json", Password: password,
});
} catch (err) {
console.log(err);
}
req.session.password = password;
if (adminTest.body.value == undefined) {
res.redirect("/");
} else {
req.session.admin = adminTest.body.value;
req.session.adminp = password;
let verified;
try {
verified = await got.post(process.env.BANKAPIURL + "BankF/vpass", {
json: {
name: name,
attempt: password,
}, },
responseType: "json", responseType: "json",
}); }
} catch (err) { );
console.log(err); } catch (err) {
} finally { console.log(err);
console.log(verified.body.value); } finally {
if (verified.body.value == 0) { if (verified.body.value == -2) {
errors.push({ msg: "Password wrong" }); req.session.errors.push({ msg: "Password wrong" });
res.render("login", { res.redirect("/login");
errors: errors, } else if (verified.body.value == 1) {
marketplace: process.env.MARKETPLACE, console.log(name);
random: papy(), req.session.user = name;
req.session.password = password;
res.redirect("/BankF");
} else if (verified.body.value == -1) {
req.session.errors.push({ msg: "User not found" });
res.redirect("/login");
} else if (verified.body.value == 0) {
console.log(verified.body.value + " Error on verified");
try {
adminTest = await got(process.env.BANKAPIURL + "BankF/admin/verify", {
headers: {
Password: password,
},
responseType: "json",
}); });
} else if (verified.body.value == 1) { } catch (err) {
req.session.user = name; console.log(err);
req.session.password = password; }
console.log(adminTest.body);
if (adminTest.body) {
req.session.admin = adminTest.body.value;
req.session.adminp = password;
res.redirect("/BankF"); res.redirect("/BankF");
} else {
errors.push({ msg: "User not found" });
res.render("login", {
errors: errors,
marketplace: process.env.MARKETPLACE,
random: papy(),
});
} }
} }
} }
//res.redirect('/login')
}); });
let admin = require("./routes/admin"); let admin = require("./routes/admin");