lots of improvements

This commit is contained in:
Expand-sys 2021-06-14 17:15:08 +10:00
parent 2610c74cd4
commit 7bf74a55b1
6 changed files with 199 additions and 230 deletions

View file

@ -1,18 +1,11 @@
const got = require("got");
const { CCashClient } = require("ccash-client-js");
const client = new CCashClient(process.env.BANKAPIURL);
async function postUser(name, password) {
console.log(process.env.BANKAPIURL);
try {
const { body } = await got.post(
process.env.BANKAPIURL + "BankF/user/" + name,
{
headers: {
Password: password,
},
responseType: "json",
}
);
return body;
return await client.addUser(name, password);
} catch (err) {
console.log(err);
}

138
index.js
View file

@ -6,7 +6,7 @@ const bodyParser = require("body-parser");
const expressValidator = require("express-validator");
const flash = require("connect-flash");
const session = require("express-session");
const { postUser } = require("./helpers/functions.js");
const { ensureAuthenticated } = require("./config/auth.js");
const app = express();
const MemoryStore = require("memorystore")(session);
@ -15,8 +15,10 @@ const dotenv = require("dotenv");
const fs = require("fs");
let Log = require("./schemas/log.js");
const mongoose = require("mongoose");
const { CCashClient } = require("ccash-client-js");
dotenv.config();
const { postUser } = require("./helpers/functions.js");
const client = new CCashClient(process.env.BANKAPIURL);
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "pug");
app.use(flash());
@ -147,13 +149,13 @@ app.get("/", async function (req, res) {
} else {
let checkalive;
try {
checkalive = await got(process.env.BANKAPIURL + "BankF/help");
checkalive = await client.help();
} catch (err) {
console.log(err);
}
let alive = false;
try {
if (checkalive.body) {
if (checkalive) {
alive = true;
}
} catch (err) {
@ -184,71 +186,56 @@ app.get("/BankF", ensureAuthenticated, async function (req, res) {
}
let balance = 0;
try {
balance = await got(
process.env.BANKAPIURL + "BankF/" + req.session.user + "/bal"
);
balance = JSON.parse(balance.body);
balance = await client.balance(req.session.user);
} catch (err) {
console.log(err);
}
let logsent;
console.log("start " + Date.now());
try {
logsent = await got(
process.env.BANKAPIURL + "BankF/" + req.session.user + "/log",
{
headers: {
Password: req.session.password,
},
responseType: "json",
}
);
const { user, password } = req.session;
logsent = await client.log(user, password);
} catch (e) {
console.log(e);
}
console.log(logsent.body);
console.log(logsent);
console.log("query finished " + Date.now());
logsent = logsent.body;
logsent = logsent.value;
let logrec = logsent;
let graphlog = logsent;
if (graphlog != null) {
console.log(graphlog);
if (graphlog != 0 && graphlog != null) {
graphlog = graphlog.reverse();
}
console.log(graphlog);
let graphdata = "";
let currentbal = balance.value;
if (graphlog != null) {
for (i = graphlog.length - 1; i > -1; i--) {
let currentbal = balance;
if (graphlog != 0 && graphlog != null) {
graphdata =
graphdata + ", [" + parseInt(graphlog.length) + "," + balance + "]";
for (i = 0; i < graphlog.length; i++) {
if (graphlog[i].from == req.session.user) {
currentbal = parseInt(currentbal) + parseInt(graphlog[i].amount);
graphdata = graphdata + ", [" + parseInt(i) + "," + currentbal + "]";
} else {
currentbal = parseInt(currentbal) - parseInt(graphlog[i].amount);
graphdata = graphdata + ", [" + parseInt(i) + "," + currentbal + "]";
} else {
currentbal = parseInt(currentbal) + parseInt(graphlog[i].amount);
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 {
graphlog = undefined;
}
if (graphdata != "") {
graphdata =
", [" + parseInt(graphlog.length) + "," + balance.value + "]" + graphdata;
graphdata = '["transaction", "balance"]' + graphdata;
}
console.log(balance);
console.log(JSON.stringify(graphdata));
if (logsent == 1 || logsent == -1 || logsent == null) {
if (logsent == null) {
logsent = undefined;
} else {
logsent = await logsent.filter(({ from }) => from === req.session.user);
}
if (logrec === 1 || logrec === -1 || logrec === null) {
if (logrec == null) {
logrec = undefined;
} else {
logrec = await logrec.filter(({ to }) => to === req.session.user);
@ -277,7 +264,7 @@ app.get("/BankF", ensureAuthenticated, async function (req, res) {
logrec: logrec,
logsent: logsent,
user: req.session.user,
balance: balance.value,
balance: balance,
user: req.session.user,
admin: req.session.admin,
sucesses: successes,
@ -290,10 +277,7 @@ app.get("/BankF", ensureAuthenticated, async function (req, res) {
app.post("/sendfunds", async function (req, res) {
let balance = 0;
try {
balance = await got(
process.env.BANKAPIURL + "BankF/" + req.session.user + "/bal"
);
balance = JSON.parse(balance.body);
balance = await client.balance(req.session.user);
} catch (err) {
console.log(err);
}
@ -302,17 +286,9 @@ app.post("/sendfunds", async function (req, res) {
let successes = [];
req.session.errors = [];
let result = {};
result = await got.post(process.env.BANKAPIURL + "BankF/sendfunds", {
json: {
a_name: a_name,
b_name: name,
amount: parseInt(amount),
attempt: senderpass,
},
responseType: "json",
});
result = await client.sendFunds(a_name, senderpass, name, parseInt(amount));
if (result.body.value == true || result.body.value) {
if (result == true || result) {
req.session.success = true;
//post details
res.redirect("/BankF");
@ -324,12 +300,16 @@ app.post("/sendfunds", async function (req, res) {
app.post("/register", async function (req, res) {
var { name, password, password2 } = req.body;
let checkuser;
try {
checkuser = await client.contains(name);
} catch (e) {
console.log(e);
}
let checkuser = await got(process.env.BANKAPIURL + "BankF/contains/" + name);
checkuser = JSON.parse(checkuser.body).value;
req.session.errors = [];
req.session.successes = [];
if (checkuser == false) {
if (!checkuser) {
if (!name || !password || !password2) {
req.session.errors.push({ msg: "please fill in all fields" });
}
@ -360,51 +340,33 @@ app.post("/login", async function (req, res) {
res.redirect("/");
}
req.session.regenerate(function (err) {});
let { name, password } = req.body;
const { name, password } = req.body;
let adminTest;
req.session.errors = [];
let verified;
try {
verified = await got(
process.env.BANKAPIURL + "BankF/" + name + "/pass/verify",
{
headers: {
Password: password,
},
responseType: "json",
}
);
adminTest = await client.adminVerifyPass(password);
} catch (err) {
console.log(err);
} finally {
if (verified.body.value == -2) {
req.session.errors.push({ msg: "Password wrong" });
res.redirect("/login");
} else if (verified.body.value == 1) {
console.log(name);
}
if (adminTest) {
req.session.admin = adminTest;
req.session.adminp = password;
req.session.user = name;
req.session.password = password;
res.redirect("/BankF");
} else if (verified.body.value == -1) {
req.session.errors = [];
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");
} else {
let verified;
try {
adminTest = await got(process.env.BANKAPIURL + "BankF/admin/verify", {
headers: {
Password: password,
},
responseType: "json",
});
verified = await client.verifyPassword(name, password);
} catch (err) {
console.log(err);
}
console.log(adminTest.body);
if (adminTest.body) {
req.session.admin = adminTest.body.value;
req.session.adminp = password;
} finally {
if (!verified) {
req.session.errors = [];
req.session.errors.push({ msg: "Password wrong" });
res.redirect("/login");
} else {
req.session.user = name;
req.session.password = password;
res.redirect("/BankF");
}
}

81
package-lock.json generated
View file

@ -8,6 +8,7 @@
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"ccash-client-js": "^1.6.0",
"connect-flash": "^0.1.1",
"dotenv": "^8.2.0",
"express": "^4.17.1",
@ -167,6 +168,14 @@
"resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz",
"integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw=="
},
"node_modules/axios": {
"version": "0.21.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
"integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
"dependencies": {
"follow-redirects": "^1.10.0"
}
},
"node_modules/babel-walk": {
"version": "3.0.0-canary-5",
"resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz",
@ -265,6 +274,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/ccash-client-js": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/ccash-client-js/-/ccash-client-js-1.6.0.tgz",
"integrity": "sha512-uNLrecsFLS4S3EIzeShnOrcIPYub36K1vG/dq13EL8V76UWeaWB3iWZEO8l2h6VQTXrfSa9PmM/+rAb3BQcahQ==",
"dependencies": {
"axios": "^0.21.1",
"class-transformer": "^0.4.0"
}
},
"node_modules/character-parser": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
@ -273,6 +291,11 @@
"is-regex": "^1.0.3"
}
},
"node_modules/class-transformer": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.4.0.tgz",
"integrity": "sha512-ETWD/H2TbWbKEi7m9N4Km5+cw1hNcqJSxlSYhsLsNjQzWWiZIYA1zafxpK9PwVfaZ6AqR5rrjPVUBGESm5tQUA=="
},
"node_modules/clone-response": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
@ -560,6 +583,25 @@
"node": ">= 0.8"
}
},
"node_modules/follow-redirects": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz",
"integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==",
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
"engines": {
"node": ">=4.0"
},
"peerDependenciesMeta": {
"debug": {
"optional": true
}
}
},
"node_modules/forwarded": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
@ -1053,9 +1095,9 @@
}
},
"node_modules/normalize-url": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
"integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==",
"version": "4.5.1",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
"integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
"engines": {
"node": ">=8"
}
@ -1755,6 +1797,14 @@
"resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz",
"integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw=="
},
"axios": {
"version": "0.21.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
"integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
"requires": {
"follow-redirects": "^1.10.0"
}
},
"babel-walk": {
"version": "3.0.0-canary-5",
"resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz",
@ -1832,6 +1882,15 @@
"get-intrinsic": "^1.0.2"
}
},
"ccash-client-js": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/ccash-client-js/-/ccash-client-js-1.6.0.tgz",
"integrity": "sha512-uNLrecsFLS4S3EIzeShnOrcIPYub36K1vG/dq13EL8V76UWeaWB3iWZEO8l2h6VQTXrfSa9PmM/+rAb3BQcahQ==",
"requires": {
"axios": "^0.21.1",
"class-transformer": "^0.4.0"
}
},
"character-parser": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
@ -1840,6 +1899,11 @@
"is-regex": "^1.0.3"
}
},
"class-transformer": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.4.0.tgz",
"integrity": "sha512-ETWD/H2TbWbKEi7m9N4Km5+cw1hNcqJSxlSYhsLsNjQzWWiZIYA1zafxpK9PwVfaZ6AqR5rrjPVUBGESm5tQUA=="
},
"clone-response": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
@ -2070,6 +2134,11 @@
"unpipe": "~1.0.0"
}
},
"follow-redirects": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz",
"integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg=="
},
"forwarded": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
@ -2426,9 +2495,9 @@
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
},
"normalize-url": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
"integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ=="
"version": "4.5.1",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
"integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA=="
},
"object-assign": {
"version": "4.1.1",

View file

@ -1,5 +1,6 @@
{
"dependencies": {
"ccash-client-js": "^1.6.0",
"connect-flash": "^0.1.1",
"dotenv": "^8.2.0",
"express": "^4.17.1",

View file

@ -12,6 +12,9 @@ const got = require("got");
const MemoryStore = require("memorystore")(session);
const fs = require("fs");
const mongoose = require("mongoose");
const { CCashClient } = require("ccash-client-js");
const client = new CCashClient(process.env.BANKAPIURL);
console.log("Sen was here");
function mongo() {
@ -36,9 +39,14 @@ function mongo() {
}
router.get("/", checkAdmin, function (req, res) {
let successes = req.session.successes;
let errors = req.session.errors;
res.render("adminsettings", {
user: req.session.user,
admin: req.session.admin,
errors: errors,
successes: successes,
marketplace: process.env.MARKETPLACE,
random: papy(),
});
@ -46,10 +54,9 @@ router.get("/", checkAdmin, function (req, res) {
router.post("/user", checkAdmin, async function (req, res) {
let { name, init_pass, init_bal, password2 } = req.body;
let contains = await got(process.env.BANKAPIURL + "BankF/contains/" + name);
contains = JSON.parse(contains.body).value;
let errors = [];
let successes = [];
let contains = await client.contains(name);
req.session.errors = [];
req.session.successes = [];
if (contains == true) {
errors.push({ msg: "User already exists" });
res.render("adminsettings", {
@ -57,165 +64,111 @@ router.post("/user", checkAdmin, async function (req, res) {
});
} else {
if (!name || !init_pass || !init_bal || !password2) {
errors.push({ msg: "please fill in all fields" });
req.session.errors.push({ msg: "please fill in all fields" });
}
//check if match
if (init_pass !== password2) {
errors.push({ msg: "Passwords don't match" });
req.session.errors.push({ msg: "Passwords don't match" });
}
//check if password is more than 6 characters
if (init_pass.length < 6) {
errors.push({ msg: "Password must be at least 6 characters" });
req.session.errors.push({
msg: "Password must be at least 6 characters",
});
}
let post;
let successes = [];
try {
post = await got.post(process.env.BANKAPIURL + "BankF/admin/user", {
json: {
name: name,
attempt: req.session.adminp,
init_bal: parseInt(init_bal),
init_pass: init_pass,
},
responseType: "json",
});
post = await client.adminAddUser(
name,
req.session.adminp,
init_pass,
parseInt(init_bal)
);
} catch (err) {
console.log(err);
}
if (post.body.value == true) {
if (post) {
successes.push({ msg: "Account Creation Successful" });
}
}
res.render("adminsettings", {
user: req.session.user,
admin: req.session.admin,
successes: successes,
marketplace: process.env.MARKETPLACE,
random: papy(),
});
res.redirect("/admin");
});
router.post("/baluser", checkAdmin, async function (req, res) {
let { name } = req.body;
let balance;
let successes = [];
let errors = [];
req.session.successes = [];
req.session.errors = [];
try {
balance = await got(process.env.BANKAPIURL + "BankF/" + name + "/bal");
balance = JSON.parse(balance.body);
balance = await client.balance(name);
} catch (err) {
console.log(err);
}
if (balance.value == -1 || balance.value == undefined) {
errors.push({ msg: "User not found" });
balance = parseInt(balance);
console.log(balance);
if (balance < 0) {
req.session.errors.push({ msg: "User not found" });
} else {
successes.push({
req.session.successes.push({
msg: "User: " + name + " has " + balance.value + " monies",
});
}
res.render("adminsettings", {
user: req.session.user,
admin: req.session.admin,
successes: successes,
errors: errors,
marketplace: process.env.MARKETPLACE,
random: papy(),
});
res.redirect("/admin");
});
router.post("/bal", checkAdmin, async function (req, res) {
let { name, amount } = req.body;
let patch;
let successes = [];
req.session.successes = [];
req.session.errors = [];
try {
patch = await got.patch(
process.env.BANKAPIURL + "BankF/admin/" + name + "/bal",
{
json: {
name: name,
attempt: req.session.adminp,
amount: parseInt(amount),
},
responseType: "json",
}
);
patch = await client.setBalance(name, req.session.adminp, parseInt(amount));
} catch (err) {
console.log(err);
}
if ((await patch.body.value) == true) {
successes.push({ msg: "Change Funds Successful" });
if (patch) {
req.session.successes.push({ msg: "Change Funds Successful" });
}
res.render("adminsettings", {
user: req.session.user,
admin: req.session.admin,
successes: successes,
marketplace: process.env.MARKETPLACE,
random: papy(),
});
res.redirect("/admin");
});
router.post("/userdelete", checkAdmin, async function (req, res) {
let { name, attempt } = req.body;
console.log(name);
let contains = await got(process.env.BANKAPIURL + "BankF/contains/" + name);
contains = JSON.parse(contains.body).value;
let contains = await client.contains(name);
let deleteUser;
let successes = [];
let errors = [];
if (attempt != req.session.adminp) {
errors.push({ msg: "Wrong Admin Password" });
req.session.errors.push({ msg: "Wrong Admin Password" });
}
console.log(contains);
if (contains == true) {
deleteUser = got.delete(process.env.BANKAPIURL + "BankF/admin/user", {
json: {
name: name,
attempt: attempt,
},
responseType: "json",
});
successes.push({ msg: "User Deletion Successful" });
deleteUser = client.adminDeleteUser(name, attempt);
req.session.successes.push({ msg: "User Deletion Successful" });
} else {
errors.push({ msg: "User Deletion Failed, User Not Found" });
req.session.errors.push({ msg: "User Deletion Failed, User Not Found" });
}
res.render("adminsettings", {
user: req.session.user,
admin: req.session.admin,
successes: successes,
errors: errors,
marketplace: process.env.MARKETPLACE,
random: papy(),
});
res.redirect("/admin");
});
router.post("/destroyallsessions", checkAdmin, async function (req, res) {
let { attempt } = req.body;
let adminTest;
let errors = [];
req.session.errors = [];
try {
adminTest = await got.post(process.env.BANKAPIURL + "BankF/admin/vpass", {
json: {
attempt: attempt,
},
responseType: "json",
});
adminTest = await client.adminVerifyPass(attempt);
} catch (err) {
console.log(err);
}
console.log(adminTest.body.value);
if (adminTest) {
req.sessionStore.clear(function (err) {
console.log(err);
});
res.redirect("/");
} else {
errors.push({ msg: "failed admin password check" });
res.render("adminsettings", {
user: req.session.user,
admin: req.session.admin,
errors: errors,
marketplace: process.env.MARKETPLACE,
random: papy(),
});
req.session.errors.push({ msg: "failed admin password check" });
res.redirect("/admin");
}
});
@ -279,12 +232,7 @@ router.post("/mongodb", checkAdmin, async function (req, res) {
router.post("/close", checkAdmin, async function (req, res) {
let { attempt } = req.body;
let close;
close = got.post(process.env.BANKAPIURL + "BankF/admin/close", {
json: {
attempt: attempt,
},
responseType: "json",
});
close = client.close();
res.redirect("../");
});
function papy() {

View file

@ -8,7 +8,9 @@ const flash = require("connect-flash");
const expressValidator = require("express-validator");
const session = require("express-session");
const { postUser } = require("../helpers/functions.js");
const got = require("got");
const { CCashClient } = require("ccash-client-js");
const client = new CCashClient(process.env.BANKAPIURL);
router.get("/", ensureAuthenticated, function (req, res) {
let successes = req.session.successes;
@ -27,7 +29,10 @@ router.get("/", ensureAuthenticated, function (req, res) {
router.post("/pass", ensureAuthenticated, async function (req, res) {
let { attempt, new_pass, password2 } = req.body;
let patch;
if (!attempt || !new_pass || !password2) {
if (attempt == undefined) {
attempt = "";
}
if (!new_pass || !password2) {
req.session.errors.push({ msg: "please fill in all fields" });
}
//check if match
@ -44,31 +49,22 @@ router.post("/pass", ensureAuthenticated, async function (req, res) {
res.redirect("/settings");
} else {
try {
patch = await got.patch(process.env.BANKAPIURL + "BankF/changepass", {
json: {
name: req.session.user,
attempt: attempt,
new_pass: new_pass,
},
responseType: "json",
});
patch = await client.changePassword(req.session.user, attempt, new_pass);
} catch (err) {
console.log(err);
}
console.log(patch.body);
if (patch.body.value == 0) {
console.log(patch);
if (patch) {
req.session.errors.push({
msg: "Password Wrong",
});
res.redirect("/settings");
} else {
req.session.regenerate(function (err) {
if (patch.body.value == 1) {
req.session.successes = [];
req.session.successes.push({
msg: "Change Password Successful, Please Login Again",
});
}
res.redirect("/login");
});
}