refractor patch

This commit is contained in:
Expand-sys 2021-07-06 11:54:38 +10:00
parent 2d74873189
commit ba07a8b70d
5 changed files with 259 additions and 273 deletions

125
index.js
View file

@ -86,12 +86,16 @@ fastify.post("/setup", async function (req, res) {
});
fastify.get("/", async function (req, res) {
let successes = req.session.get("successes");
req.session.set("successes", "");
let errors = req.session.get("errors");
req.session.set("errors", "");
if (process.env.SETUP == false || !process.env.SETUP) {
res.view("setup");
} else {
//const client = new CCashClient(process.env.BANKAPIURL);
//let checkalive = await client.ping();
let checkalive = await got(`${api}/ping`, {
let checkalive = await got(`${api}/help`, {
headers: {
Accept: "application/json",
},
@ -107,6 +111,8 @@ fastify.get("/", async function (req, res) {
admin: req.session.get("admin"),
alive: alive,
url: process.env.BANKAPIURL,
errors: errors,
successes: successes,
});
}
});
@ -137,7 +143,7 @@ fastify.get(
Authorization: auth,
Accept: "application/json",
},
query: {
searchParams: {
name: user,
},
});
@ -238,28 +244,26 @@ fastify.post(
req.session.set("successes", "");
let result;
//result = await client.sendFunds(a_name, senderpass, name, amount);
result = await got.post(`${api}/user/transfer`, {
headers: {
Authorization: auth,
Accept: "application/json",
},
json: {
to: name,
amount: amount,
},
});
console.log(result);
if (result == 1) {
try {
result = await got.post(`${api}/user/transfer`, {
headers: {
Authorization: auth,
Accept: "application/json",
},
json: {
to: name,
amount: amount,
},
});
} catch (e) {
req.session.set("errors", `${e.response.body}`);
console.log(e.response.body);
}
if (result) {
req.session.set("successes", "Transfer successful");
//post details
res.redirect("/BankF");
} else if (result == -1) {
req.session.set("errors", "Transfer Unsuccessful: User not Found");
res.redirect("/BankF");
} else if (result == -2) {
req.session.set("errors", "Transfer Unsuccessful: Wrong Password");
res.redirect("/BankF");
}
res.redirect("/BankF");
}
);
@ -279,26 +283,26 @@ fastify.post("/register", async function (req, res) {
res.redirect("/register");
} else {
//let checkuser = await client.addUser(name, password);
let checkuser = await got.post(`${api}/user/register`, {
headers: {
Accept: "application/json",
},
json: {
name: `${name}`,
pass: `${password}`,
},
});
console.log(await checkuser);
if (checkuser == -4) {
req.session.set("errors", "Error: Name too long");
res.redirect("/register");
} else if (checkuser == -5) {
req.session.set("errors", "Error: User Already Exists");
res.redirect("/register");
} else {
req.session.set("successes", "Account Created! please Log in");
res.redirect("/login");
try {
let checkuser = await got.post(`${api}/user/register`, {
headers: {
Accept: "application/json",
},
json: {
name: `${name}`,
pass: `${password}`,
},
});
} catch (e) {
req.session.set("errors", `${e.response.body}`);
console.log(e.response.body);
}
console.log(await checkuser);
if (checkuser) {
req.session.set("successes", "Account Created! please Log in");
}
res.redirect("/login");
}
});
@ -309,7 +313,7 @@ fastify.post("/login", async function (req, res) {
res.redirect("/");
}
const { name, password } = req.body;
let adminTest;
/*try {
adminTest = await client.adminVerifyPassword(password);
} catch (err) {
@ -318,6 +322,7 @@ fastify.post("/login", async function (req, res) {
let auth = btoa(`${name}:${password}`);
auth = `Basic ${auth}`;
console.log(auth);
let adminTest;
try {
adminTest = await got.post(`${api}/admin/verify_account`, {
headers: {
@ -325,37 +330,37 @@ fastify.post("/login", async function (req, res) {
Accept: "application/json",
},
});
adminTest = JSON.parse(adminTest.body);
} catch (e) {
console.log(e);
console.log(e.response.body);
}
adminTest = JSON.parse(adminTest.body);
console.log(adminTest);
if (adminTest != -2) {
if (adminTest) {
req.session.set("b64", auth);
req.session.set("admin", adminTest);
req.session.set("user", name);
req.session.set("password", password);
res.redirect("/BankF");
} else {
let verified;
//verified = await client.verifyPassword(name, password);
verified = await got.post(`${api}/user/verify_password`, {
headers: {
Authorization: auth,
Accept: "application/json",
},
});
console.log(verified);
if (verified == 1) {
try {
verified = await got.post(`${api}/user/verify_password`, {
headers: {
Authorization: auth,
Accept: "application/json",
},
});
} catch (e) {
req.session.set("errors", `${e.response.body}`);
console.log(e.response.body);
}
if (verified) {
req.session.set("b64", auth);
req.session.set("user", name);
req.session.set("password", password);
res.redirect("/BankF");
} else {
req.session.set("errors", ["Password wrong"]);
res.redirect("/login");
}
}
res.redirect("/BankF");
});
fastify.register(require("./routes/admin"), { prefix: "/admin" });
@ -365,7 +370,7 @@ fastify.register(require("./routes/settings"), { prefix: "/settings" });
fastify.get("/logout", async function (req, res) {
//const client = new CCashClient(process.env.BANKAPIURL);
//let checkalive = await client.ping();
let checkalive = await got(`${api}/ping`, {
let checkalive = await got(`${api}/help`, {
headers: {
Accept: "application/json",
},
@ -393,7 +398,7 @@ fastify.get("/login", async function (req, res) {
let errors = req.session.get("errors");
req.session.set("errors", "");
//let checkalive = await client.ping();
let checkalive = await got(`${api}/ping`, {
let checkalive = await got(`${api}/help`, {
headers: {
Accept: "application/json",
},
@ -419,7 +424,7 @@ fastify.get("/register", async function (req, res) {
let errors = req.session.get("errors");
req.session.set("errors", "");
//let checkalive = await client.ping();
let checkalive = await got(`${api}/ping`, {
let checkalive = await got(`${api}/help`, {
headers: {
Accept: "application/json",
},

View file

@ -18,7 +18,7 @@ module.exports = function (fastify, opts, done) {
async function (req, res) {
//const client = new CCashClient(process.env.BANKAPIURL);
//let checkalive = await client.ping();
let checkalive = await got(`${api}/ping`, {
let checkalive = await got(`${api}/help`, {
headers: {
Accept: "application/json",
},
@ -55,8 +55,6 @@ module.exports = function (fastify, opts, done) {
req.session.set("errors", "please fill in all fields");
} else if (init_pass !== password2) {
req.session.set("errors", "Passwords don't match");
} else if (init_pass.length < 6) {
req.session.set("errors", "Password must be at least 6 characters");
}
/*let post = await client.adminAddUser(
name,
@ -64,27 +62,26 @@ module.exports = function (fastify, opts, done) {
init_pass,
parseInt(init_bal)
);*/
let post = await got.post(`${api}/admin/user/register`, {
headers: {
Authorization: req.session.get("b64"),
Accept: "application/json",
},
json: {
name: name,
balance: parseInt(init_bal),
pass: init_pass,
},
});
console.log(post.body);
if (post == -3) {
req.session.set("errors", "Invalid Request");
} else if (post == -4) {
req.session.set("errors", "Name too long");
} else if (post == -5) {
req.session.set("errors", "User already exists");
} else {
req.session.set("successes", "Account Creation Successful");
let post;
try {
post = await got.post(`${api}/admin/user/register`, {
headers: {
Authorization: req.session.get("b64"),
Accept: "application/json",
},
json: {
name: name,
balance: parseInt(init_bal),
pass: init_pass,
},
});
post = post.body;
} catch (e) {
req.session.set("errors", `${e.response.body}`);
console.log(e.response.body);
}
if (post) {
req.session.set("successes", `User ${name} registered.`);
}
res.redirect("/admin");
}
@ -102,23 +99,28 @@ module.exports = function (fastify, opts, done) {
req.session.set("successes", "");
req.session.set("errors", "");
//balance = await client.balance(name);
balance = await got(`${api}/user/balance`, {
headers: {
Authorization: req.session.get("b64"),
Accept: "application/json",
},
query: {
name: name,
},
});
balance = parseInt(balance.body);
let responsecode;
try {
balance = await got(`${api}/user/balance`, {
headers: {
Authorization: req.session.get("b64"),
Accept: "application/json",
},
searchParams: {
name: name,
},
});
balance = parseInt(balance.body);
} catch (e) {
req.session.set("errors", `${e.response.body}`);
console.log(e.response.body);
}
console.log(balance);
if (balance < 0) {
req.session.set("errors", "User not found");
} else {
if (balance) {
req.session.set(
"successes",
"User: " + name + " has " + balance + " monies"
"User: " + name + " has " + balance + " truckstop shitter simoleons"
);
}
res.redirect("/admin");
@ -130,76 +132,6 @@ module.exports = function (fastify, opts, done) {
{
preValidation: [validateAdmin],
},
async function (req, res) {
const client = new CCashClient(process.env.BANKAPIURL);
let { name, amount } = req.body;
let patch;
req.session.successes = [];
req.session.errors = [];
/*patch = await client.setBalance(
name,
req.session.get("adminp"),
parseInt(amount)
);*/
patch = await got.patch(`${api}/admin/set_balance`, {
headers: {
Authorization: req.session.get("b64"),
Accept: "application/json",
},
json: {
name: name,
amount: parseInt(amount),
},
});
console.log(patch);
if (patch == -1) {
req.session.set("errors", "User not Found");
} else if (patch == 1) {
req.session.set("successes", "Change Funds Successful");
}
res.redirect("/admin");
}
);
fastify.post(
"/subbal",
{
preValidation: [validateAdmin],
},
async function (req, res) {
const client = new CCashClient(process.env.BANKAPIURL);
let { name, amount } = req.body;
let patch;
req.session.successes = [];
req.session.errors = [];
/*patch = await client.setBalance(
name,
req.session.get("adminp"),
parseInt(amount)
);*/
patch = await got.post(`${api}/admin/sub_balance`, {
headers: {
Authorization: req.session.get("b64"),
Accept: "application/json",
},
json: {
name: name,
amount: parseInt(amount),
},
});
console.log(patch);
if (patch == -1) {
req.session.set("errors", "User not Found");
} else if (patch == 1) {
req.session.set("successes", "Change Funds Successful");
}
res.redirect("/admin");
}
);
fastify.post(
"/addbal",
{
preValidation: [validateAdmin],
},
async function (req, res) {
//const client = new CCashClient(process.env.BANKAPIURL);
let { name, amount } = req.body;
@ -211,20 +143,63 @@ module.exports = function (fastify, opts, done) {
req.session.get("adminp"),
parseInt(amount)
);*/
patch = await got.post(`${api}/admin/add_balance`, {
headers: {
Authorization: req.session.get("b64"),
Accept: "application/json",
},
json: {
name: name,
amount: parseInt(amount),
},
});
try {
patch = await got.patch(`${api}/admin/set_balance`, {
headers: {
Authorization: req.session.get("b64"),
Accept: "application/json",
},
json: {
name: name,
amount: parseInt(amount),
},
});
patch = patch.body;
} catch (e) {
req.session.set("errors", `${e.response.body}`);
console.log(e.response.body);
}
console.log(patch);
if (patch == -1) {
req.session.set("errors", "User not Found");
} else if (patch == 1) {
if (patch) {
req.session.set("successes", "Change Funds Successful");
}
res.redirect("/admin");
}
);
fastify.post(
"/impbal",
{
preValidation: [validateAdmin],
},
async function (req, res) {
//const client = new CCashClient(process.env.BANKAPIURL);
let { name, amount } = req.body;
let patch;
req.session.successes = [];
req.session.errors = [];
/*patch = await client.setBalance(
name,
req.session.get("adminp"),
parseInt(amount)
);*/
try {
patch = await got.post(`${api}/admin/impact_balance`, {
headers: {
Authorization: req.session.get("b64"),
Accept: "application/json",
},
json: {
name: name,
amount: parseInt(amount),
},
});
} catch (e) {
req.session.set("errors", `${e.response.body}`);
console.log(e.response.body);
}
if (patch) {
req.session.set("successes", "Change Funds Successful");
}
res.redirect("/admin");
@ -240,43 +215,35 @@ module.exports = function (fastify, opts, done) {
//const client = new CCashClient(process.env.BANKAPIURL);
let { name, new_pass, password2 } = req.body;
let patch;
if (!new_pass || !password2) {
req.session.set("errors", "please fill in all fields");
res.redirect("/settings");
} else if (new_pass != password2) {
req.session.set("errors", "Passwords don't match");
res.redirect("/settings");
} else if (new_pass.length < 6) {
req.session.set("errors", "Password must be at least 6 characters");
res.redirect("/settings");
} else {
/*patch = await client.changePassword(
/*patch = await client.changePassword(
req.session.get("user"),
attempt,
new_pass
);*/
patch = await got.patch(`${api}/user/change_password`, {
headers: {
Authorization: req.session.get("b64"),
Accept: "application/json",
},
json: {
name: name,
new_pass: new_pass,
},
});
console.log(patch);
if (patch == -2) {
req.session.set("errors", "Password Wrong");
res.redirect("/");
} else {
req.session.set(
"successes",
"Change Password Successful, Please Login Again"
);
res.redirect("/");
if (new_pass == password2) {
try {
patch = await got.patch(`${api}/user/change_password`, {
headers: {
Authorization: req.session.get("b64"),
Accept: "application/json",
},
json: {
name: name,
new_pass: new_pass,
},
});
} catch (e) {
req.session.set("errors", `${e.response.body}`);
console.log(e.response.body);
}
if (patch) {
req.session.set("successes", "Change Password Successful");
}
} else {
req.session.set("errors", `Passwords dont match`);
}
res.redirect("/admin");
}
);
@ -290,25 +257,26 @@ module.exports = function (fastify, opts, done) {
let { name, attempt } = req.body;
//let deleteUser = client.adminDeleteUser(name, attempt);
let deleteUser = await got.delete(`${api}/admin/delete`, {
headers: {
Authorization: req.session.get("b64"),
Accept: "application/json",
},
json: {
name: name,
},
});
if (deleteUser == -1) {
req.session.errors.push({
msg: "User Deletion Failed, User Not Found",
try {
let deleteUser = await got.delete(`${api}/admin/delete`, {
headers: {
Authorization: req.session.get("b64"),
Accept: "application/json",
},
json: {
name: name,
},
});
res.redirect("/admin");
} else {
req.session.set("successes", "User Deletion Successful");
res.redirect("/admin");
deleteUser = deleteUser.body;
} catch (e) {
req.session.set("errors", `${e.response.body}`);
console.log(e.response.body);
}
if (deleteUser) {
req.session.set("successes", "User Deletion Successful");
}
res.redirect("/admin");
}
);
@ -350,10 +318,27 @@ module.exports = function (fastify, opts, done) {
preValidation: [validateAdmin],
},
async function (req, res) {
const client = new CCashClient(process.env.BANKAPIURL);
//const client = new CCashClient(process.env.BANKAPIURL);
let { attempt } = req.body;
let name = req.session.get("user");
let close;
close = client.close();
//close = client.close();
let auth = btoa(`${name}:${attempt}`);
auth = `Basic ${auth}`;
try {
close = got.post(`${api}/admin/shutdown`, {
headers: {
Authorization: auth,
Accept: "application/json",
},
});
} catch (e) {
req.session.set("errors", `${e.response.body}`);
console.log(e.response.body);
}
if (close) {
req.session.set("successes", "Closed instance");
}
res.redirect("../");
}
);

View file

@ -3,7 +3,7 @@ const path = require("path");
var pug = require("pug");
const { postUser } = require(`${root}/helpers/functions.js`);
const { CCashClient } = require("ccash-client-js");
const got = require("got");
function validate(req, res, next) {
if (!req.session.get("user")) {
res.redirect("/login");
@ -11,6 +11,7 @@ function validate(req, res, next) {
next();
}
}
const api = process.env.BANKAPIURL;
module.exports = function (fastify, opts, done) {
fastify.get(
@ -21,7 +22,7 @@ module.exports = function (fastify, opts, done) {
async function (req, res) {
//const client = new CCashClient(process.env.BANKAPIURL);
//let checkalive = await client.ping();
let checkalive = await got(`${api}/ping`, {
let checkalive = await got(`${api}/help`, {
headers: {
Accept: "application/json",
},
@ -71,15 +72,21 @@ module.exports = function (fastify, opts, done) {
attempt,
new_pass
);*/
patch = await got.patch(`${api}/user/change_password`, {
headers: {
Authorization: auth,
Accept: "application/json",
},
json: {
new_pass: new_pass,
},
});
try {
patch = await got.patch(`${api}/user/change_password`, {
headers: {
Authorization: auth,
Accept: "application/json",
},
json: {
new_pass: new_pass,
},
});
} catch (e) {
req.session.set("errors", `${e.response.body}`);
console.log(e.response.body);
}
console.log(patch);
if (patch == -2) {
req.session.set("errors", "Password Wrong");
@ -115,25 +122,31 @@ module.exports = function (fastify, opts, done) {
req.session.set("errors", "Passwords don't match");
res.redirect("/settings");
} else {
let name = req.session.get("user");
let auth = btoa(`${name}:${password}`);
auth = `Basic ${auth}`;
//del = await client.deleteUser(req.session.user, password);
del = await got.delete(`${api}/delete`, {
headers: {
Authorization: auth,
Accept: "application/json",
},
});
try {
del = await got.delete(`${api}/user/delete`, {
headers: {
Authorization: auth,
Accept: "application/json",
},
});
} catch (e) {
req.session.set("errors", `${e.response.body}`);
console.log(e.response.body);
}
console.log(del);
if (del == -2) {
req.session.set("errors", "Password Wrong");
res.redirect("/settings");
} else {
if (del) {
req.session.delete();
req.session.set(
"successes",
"Account Deleted, pls dont come back to complain"
);
res.redirect("/login");
}
res.redirect("/");
}
}
);

View file

@ -61,23 +61,12 @@ block content
input.btn.btn-primary(type='submit',value='Submit')
br
.card.shadow-lg
h4 Add Balance to User
form(method='POST', action='/admin/addbal')
h4 Impact Balance of User +/-
form(method='POST', action='/admin/impbal')
#form-group
label Username:
input.form-control(name='name', type='name')
label Add amount:
input.form-control(name='amount', type='number')
br
input.btn.btn-primary(type='submit',value='Submit')
br
.card.shadow-lg
h4 Subtract Balance from User
form(method='POST', action='/admin/subbal')
#form-group
label Username:
input.form-control(name='name', type='name')
label Subtract amount:
label Amount:
input.form-control(name='amount', type='number')
br
input.btn.btn-primary(type='submit',value='Submit')

View file

@ -1,6 +0,0 @@
{
"name": "ccashfrontend",
"script": "/app/ccashfrontend/index.js",
"watch": "/app/ccashfrontend/tmp/restart.txt",
"instances": "1"
}