mirror of
https://github.com/Expand-sys/ccashfrontend
synced 2025-12-16 14:52:13 +11:00
did some linting, and added a easter egg
This commit is contained in:
parent
6bab27e224
commit
ce057d64e7
9 changed files with 964 additions and 1086 deletions
702
index.js
702
index.js
|
|
@ -1,449 +1,497 @@
|
|||
const express = require('express');
|
||||
const path = require('path');
|
||||
const https = require('https')
|
||||
const got = require('got')
|
||||
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 express = require("express");
|
||||
const path = require("path");
|
||||
const https = require("https");
|
||||
const got = require("got");
|
||||
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)
|
||||
const url = require('url')
|
||||
const dotenv = require('dotenv');
|
||||
const fs = require('fs');
|
||||
let Log = require('./schemas/log.js');
|
||||
const mongoose = require('mongoose')
|
||||
const MemoryStore = require("memorystore")(session);
|
||||
const url = require("url");
|
||||
const dotenv = require("dotenv");
|
||||
const fs = require("fs");
|
||||
let Log = require("./schemas/log.js");
|
||||
const mongoose = require("mongoose");
|
||||
dotenv.config();
|
||||
//mongodb connection
|
||||
|
||||
|
||||
|
||||
|
||||
app.set('views', path.join(__dirname, 'views'));
|
||||
app.set('view engine', 'pug');
|
||||
app.set("views", path.join(__dirname, "views"));
|
||||
app.set("view engine", "pug");
|
||||
app.use(flash());
|
||||
app.use(require('connect-flash')());
|
||||
app.use(express.static(path.join(__dirname, 'public')));
|
||||
app.use(express.json())
|
||||
app.use(bodyParser.urlencoded({
|
||||
extended: true
|
||||
}));
|
||||
app.use(function(req, res, next) {
|
||||
res.locals.messages = require('express-messages')(req, res);
|
||||
app.use(require("connect-flash")());
|
||||
app.use(express.static(path.join(__dirname, "public")));
|
||||
app.use(express.json());
|
||||
app.use(
|
||||
bodyParser.urlencoded({
|
||||
extended: true,
|
||||
})
|
||||
);
|
||||
app.use(function (req, res, next) {
|
||||
res.locals.messages = require("express-messages")(req, res);
|
||||
next();
|
||||
});
|
||||
app.set('trust proxy', 1) // trust first proxy
|
||||
let secure = false
|
||||
if(process.env.SECURE=='true'||process.env.SECURE=='True'||process.env.SECURE=='TRUE'){secure = true}
|
||||
let setup = false
|
||||
if(process.env.SETUP=='true'||process.env.SETUP=='True'||process.env.SETUP=='TRUE'){setup=true}
|
||||
app.use(session({
|
||||
secret: 'fuck shit cunt',
|
||||
resave: true,
|
||||
store: new MemoryStore({
|
||||
checkPeriod: 86400000 // prune expired entries every 24h
|
||||
app.set("trust proxy", 1); // trust first proxy
|
||||
let secure = false;
|
||||
if (
|
||||
process.env.SECURE == "true" ||
|
||||
process.env.SECURE == "True" ||
|
||||
process.env.SECURE == "TRUE"
|
||||
) {
|
||||
secure = true;
|
||||
}
|
||||
let setup = false;
|
||||
if (
|
||||
process.env.SETUP == "true" ||
|
||||
process.env.SETUP == "True" ||
|
||||
process.env.SETUP == "TRUE"
|
||||
) {
|
||||
setup = true;
|
||||
}
|
||||
app.use(
|
||||
session({
|
||||
secret: "fuck shit cunt",
|
||||
resave: true,
|
||||
store: new MemoryStore({
|
||||
checkPeriod: 86400000, // prune expired entries every 24h
|
||||
}),
|
||||
saveUninitialized: true,
|
||||
cookie: { secure: secure, maxAge: 86400000 },
|
||||
}))
|
||||
app.use(expressValidator({
|
||||
errorFormatter: function(param, msg, value) {
|
||||
var namespace = param.split('.')
|
||||
, root = namespace.shift()
|
||||
, formParam = root;
|
||||
saveUninitialized: true,
|
||||
cookie: { secure: secure, maxAge: 86400000 },
|
||||
})
|
||||
);
|
||||
app.use(
|
||||
expressValidator({
|
||||
errorFormatter: function (param, msg, value) {
|
||||
var namespace = param.split("."),
|
||||
root = namespace.shift(),
|
||||
formParam = root;
|
||||
|
||||
while(namespace.length){
|
||||
formParam += '[' + namespace.shift() + ']';
|
||||
}
|
||||
return{
|
||||
param : formParam,
|
||||
msg : msg,
|
||||
value : value
|
||||
while (namespace.length) {
|
||||
formParam += "[" + namespace.shift() + "]";
|
||||
}
|
||||
return {
|
||||
param: formParam,
|
||||
msg: msg,
|
||||
value: value,
|
||||
};
|
||||
},
|
||||
})
|
||||
);
|
||||
app.post("/setup", async function (req, res) {
|
||||
console.log(req.body);
|
||||
let { mongo, url, banksecure, marketplace } = req.body;
|
||||
process.env.MONGO = mongo;
|
||||
process.env.MARKETPLACE = false;
|
||||
if (marketplace) {
|
||||
process.env.MARKETPLACE = true;
|
||||
}
|
||||
}));
|
||||
app.post('/setup', async function(req, res){
|
||||
|
||||
|
||||
console.log(req.body)
|
||||
let {mongo, url, banksecure, marketplace} = req.body;
|
||||
process.env.MONGO = mongo
|
||||
process.env.MARKETPLACE = false
|
||||
if(marketplace){
|
||||
process.env.MARKETPLACE = true
|
||||
if (!url.endsWith("/")) {
|
||||
url = url + "/";
|
||||
}
|
||||
if(!url.endsWith('/')){
|
||||
url=url+"/"
|
||||
process.env.BANKAPIURL = url;
|
||||
process.env.SECURE = false;
|
||||
if (!banksecure) {
|
||||
banksecure = false;
|
||||
process.env.SECURE = false;
|
||||
}
|
||||
process.env.BANKAPIURL =url
|
||||
process.env.SECURE = false
|
||||
if(!banksecure){
|
||||
banksecure = false
|
||||
process.env.SECURE = false
|
||||
}
|
||||
process.env.SETUP = true
|
||||
fs.writeFileSync('.env', "BANKAPIURL="+process.env.BANKAPIURL+'\n'+"SECURE="+process.env.SECURE+'\n'+"MARKETPLACE="+process.env.MARKETPLACE+'\n'+"MONGO="+process.env.MONGO+'\nSETUP=true')
|
||||
process.env.SETUP = true;
|
||||
fs.writeFileSync(
|
||||
".env",
|
||||
"BANKAPIURL=" +
|
||||
process.env.BANKAPIURL +
|
||||
"\n" +
|
||||
"SECURE=" +
|
||||
process.env.SECURE +
|
||||
"\n" +
|
||||
"MARKETPLACE=" +
|
||||
process.env.MARKETPLACE +
|
||||
"\n" +
|
||||
"MONGO=" +
|
||||
process.env.MONGO +
|
||||
"\nSETUP=true"
|
||||
);
|
||||
dotenv.config();
|
||||
if(process.env.MARKETPLACE){
|
||||
mongoose.connect(process.env.MONGO,{
|
||||
if (process.env.MARKETPLACE) {
|
||||
mongoose.connect(process.env.MONGO, {
|
||||
useNewUrlParser: true,
|
||||
useUnifiedTopology: true,
|
||||
useFindAndModify: true,
|
||||
});
|
||||
|
||||
let db = mongoose.connection;
|
||||
db.once('open', function(){
|
||||
console.log('Connected to MongoDB');
|
||||
})
|
||||
db.once("open", function () {
|
||||
console.log("Connected to MongoDB");
|
||||
});
|
||||
|
||||
//check for DB errors
|
||||
db.on('error', function(err){
|
||||
db.on("error", function (err) {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
res.redirect('/')
|
||||
})
|
||||
app.get('/', async function(req, res){
|
||||
if(!process.env.SETUP){
|
||||
res.render('setup')
|
||||
}else{
|
||||
res.redirect("/");
|
||||
});
|
||||
|
||||
function papy() {
|
||||
const rndInt = Math.floor(Math.random() * 1337);
|
||||
let random = false;
|
||||
if (rndInt == 420) {
|
||||
random = true;
|
||||
}
|
||||
return random;
|
||||
}
|
||||
|
||||
app.get("/", async function (req, res) {
|
||||
if (!process.env.SETUP) {
|
||||
res.render("setup");
|
||||
} else {
|
||||
let checkalive;
|
||||
try{
|
||||
checkalive = await got(process.env.BANKAPIURL+'BankF/help')
|
||||
} catch(err){
|
||||
console.log(err)
|
||||
|
||||
try {
|
||||
checkalive = await got(process.env.BANKAPIURL + "BankF/help");
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
let alive = false;
|
||||
try{
|
||||
if(checkalive.body){
|
||||
alive = true
|
||||
try {
|
||||
if (checkalive.body) {
|
||||
alive = true;
|
||||
}
|
||||
}catch(err){
|
||||
console.log(err)
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
|
||||
res.render('index', {
|
||||
res.render("index", {
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
alive: alive,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
}
|
||||
});
|
||||
app.get('/BankF', ensureAuthenticated, async function(req, res){
|
||||
app.get("/BankF", ensureAuthenticated, async function (req, res) {
|
||||
let successes = [];
|
||||
if(req.session.sucess == true){
|
||||
successes.push({ msg: "Transfer successful"})
|
||||
if (req.session.sucess == true) {
|
||||
successes.push({ msg: "Transfer successful" });
|
||||
}
|
||||
let admin
|
||||
try{
|
||||
let admin;
|
||||
try {
|
||||
admin = req.session.admin;
|
||||
}catch(err){
|
||||
console.log(err)
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
let balance = 0
|
||||
try{
|
||||
balance = await got(process.env.BANKAPIURL+'BankF/'+req.session.user+'/bal')
|
||||
balance = JSON.parse(balance.body)
|
||||
} catch(err){
|
||||
console.log(err)
|
||||
let balance = 0;
|
||||
try {
|
||||
balance = await got(
|
||||
process.env.BANKAPIURL + "BankF/" + req.session.user + "/bal"
|
||||
);
|
||||
balance = JSON.parse(balance.body);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
let logsent
|
||||
let logrec
|
||||
console.log('start '+Date.now())
|
||||
try{
|
||||
logsent = await got.post(process.env.BANKAPIURL+'BankF/'+req.session.user+'/log',{
|
||||
json:{
|
||||
attempt: req.session.password
|
||||
},
|
||||
responseType:'json'
|
||||
})
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
let logsent;
|
||||
let logrec;
|
||||
console.log("start " + Date.now());
|
||||
try {
|
||||
logsent = await got.post(
|
||||
process.env.BANKAPIURL + "BankF/" + req.session.user + "/log",
|
||||
{
|
||||
json: {
|
||||
attempt: req.session.password,
|
||||
},
|
||||
responseType: "json",
|
||||
}
|
||||
);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
try{
|
||||
logrec = await got.post(process.env.BANKAPIURL+'BankF/'+req.session.user+'/log',{
|
||||
json:{
|
||||
attempt: req.session.password
|
||||
},
|
||||
responseType:'json'
|
||||
})
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
try {
|
||||
logrec = await got.post(
|
||||
process.env.BANKAPIURL + "BankF/" + req.session.user + "/log",
|
||||
{
|
||||
json: {
|
||||
attempt: req.session.password,
|
||||
},
|
||||
responseType: "json",
|
||||
}
|
||||
);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
console.log(logrec.timings)
|
||||
console.log("query finished "+Date.now())
|
||||
logsent = logsent.body.value
|
||||
console.log(logrec.timings);
|
||||
console.log("query finished " + Date.now());
|
||||
logsent = logsent.body.value;
|
||||
|
||||
if(logsent == 1 || logsent == -1 || logsent == null){
|
||||
logsent = undefined
|
||||
}else{
|
||||
logsent = await logsent.filter(({ from }) => from === req.session.user)
|
||||
if (logsent == 1 || logsent == -1 || logsent == null) {
|
||||
logsent = undefined;
|
||||
} else {
|
||||
logsent = await logsent.filter(({ from }) => from === req.session.user);
|
||||
}
|
||||
logrec = logrec.body.value
|
||||
if(logrec === 1 || logrec === -1 || logrec === null){
|
||||
logrec = undefined
|
||||
} else{
|
||||
logrec = await logrec.filter(({ to }) => to === req.session.user)
|
||||
logrec = logrec.body.value;
|
||||
if (logrec === 1 || logrec === -1 || logrec === null) {
|
||||
logrec = undefined;
|
||||
} else {
|
||||
logrec = await logrec.filter(({ to }) => to === req.session.user);
|
||||
}
|
||||
for( i in logrec){
|
||||
logrec[i].time = Date(logrec[i].time)
|
||||
for (i in logrec) {
|
||||
logrec[i].time = Date(logrec[i].time);
|
||||
}
|
||||
for( i in logsent){
|
||||
logsent[i].time = Date(logsent[i].time)
|
||||
for (i in logsent) {
|
||||
logsent[i].time = Date(logsent[i].time);
|
||||
}
|
||||
console.log("begin render " + Date.now())
|
||||
res.render('bankf',{
|
||||
logrec:logrec,
|
||||
logsent:logsent,
|
||||
console.log("begin render " + Date.now());
|
||||
res.render("bankf", {
|
||||
logrec: logrec,
|
||||
logsent: logsent,
|
||||
user: req.session.user,
|
||||
balance: balance.value,
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
sucesses: successes,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
app.post('/sendfunds', 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)
|
||||
} catch(err){
|
||||
console.log(err)
|
||||
try {
|
||||
balance = await got(
|
||||
process.env.BANKAPIURL + "BankF/" + req.session.user + "/bal"
|
||||
);
|
||||
balance = JSON.parse(balance.body);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
let {amount, name, senderpass} = req.body
|
||||
let a_name = req.session.user
|
||||
let { amount, name, senderpass } = req.body;
|
||||
let a_name = req.session.user;
|
||||
let successes = [];
|
||||
let errors = [];
|
||||
let result = {}
|
||||
result = await got.post(process.env.BANKAPIURL+'BankF/sendfunds',{
|
||||
json:{
|
||||
let result = {};
|
||||
result = await got.post(process.env.BANKAPIURL + "BankF/sendfunds", {
|
||||
json: {
|
||||
a_name: a_name,
|
||||
b_name: name,
|
||||
amount: parseInt(amount),
|
||||
attempt: senderpass
|
||||
attempt: senderpass,
|
||||
},
|
||||
responseType:'json'
|
||||
})
|
||||
if(result.body.value == true || result.body.value){
|
||||
responseType: "json",
|
||||
});
|
||||
if (result.body.value == true || result.body.value) {
|
||||
req.session.success = true;
|
||||
//post details
|
||||
res.redirect('/BankF')
|
||||
res.redirect("/BankF");
|
||||
} else {
|
||||
errors.push({msg: "Transfer Unsuccessful"})
|
||||
errors.push({ msg: "Transfer Unsuccessful" });
|
||||
|
||||
let logsent
|
||||
let logrec
|
||||
let logsent;
|
||||
let logrec;
|
||||
|
||||
try{
|
||||
logsent = await got.post(process.env.BANKAPIURL+'BankF/'+req.session.user+'/log',{
|
||||
json:{
|
||||
attempt: req.session.password
|
||||
},
|
||||
responseType:'json'
|
||||
})
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
try {
|
||||
logsent = await got.post(
|
||||
process.env.BANKAPIURL + "BankF/" + req.session.user + "/log",
|
||||
{
|
||||
json: {
|
||||
attempt: req.session.password,
|
||||
},
|
||||
responseType: "json",
|
||||
}
|
||||
);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
try{
|
||||
logrec = await got.post(process.env.BANKAPIURL+'BankF/'+req.session.user+'/log',{
|
||||
json:{
|
||||
attempt: req.session.password
|
||||
},
|
||||
responseType:'json'
|
||||
})
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
try {
|
||||
logrec = await got.post(
|
||||
process.env.BANKAPIURL + "BankF/" + req.session.user + "/log",
|
||||
{
|
||||
json: {
|
||||
attempt: req.session.password,
|
||||
},
|
||||
responseType: "json",
|
||||
}
|
||||
);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
|
||||
logsent = logsent.body.value
|
||||
console.log(logsent)
|
||||
if(logsent == 1|| logsent == -1 || logsent == null){
|
||||
logsent = undefined
|
||||
}else{
|
||||
logsent = await logsent.filter(({ from }) => from === req.session.user)
|
||||
logsent = logsent.body.value;
|
||||
console.log(logsent);
|
||||
if (logsent == 1 || logsent == -1 || logsent == null) {
|
||||
logsent = undefined;
|
||||
} else {
|
||||
logsent = await logsent.filter(({ from }) => from === req.session.user);
|
||||
}
|
||||
logrec = logrec.body.value
|
||||
if(logrec == 1 || logrec == -1 || logrec == null){
|
||||
logrec = undefined
|
||||
} else{
|
||||
logrec = await logrec.filter(({ to }) => to === req.session.user)
|
||||
logrec = logrec.body.value;
|
||||
if (logrec == 1 || logrec == -1 || logrec == null) {
|
||||
logrec = undefined;
|
||||
} else {
|
||||
logrec = await logrec.filter(({ to }) => to === req.session.user);
|
||||
}
|
||||
for( i in logrec){
|
||||
let d = new Date(logrec[i].time)
|
||||
logrec[i].time = d
|
||||
for (i in logrec) {
|
||||
let d = new Date(logrec[i].time);
|
||||
logrec[i].time = d;
|
||||
}
|
||||
for( i in logsent){
|
||||
let d = new Date(logsent[i].time)
|
||||
logsent[i].time = d
|
||||
for (i in logsent) {
|
||||
let d = new Date(logsent[i].time);
|
||||
logsent[i].time = d;
|
||||
}
|
||||
|
||||
res.render("bankf",{
|
||||
|
||||
logsent:logsent,
|
||||
logrec:logrec,
|
||||
errors:errors,
|
||||
res.render("bankf", {
|
||||
logsent: logsent,
|
||||
logrec: logrec,
|
||||
errors: errors,
|
||||
successes: successes,
|
||||
balance:balance.value,
|
||||
balance: balance.value,
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
app.post('/register', async function(req, res){
|
||||
var {name, password, password2} = req.body;
|
||||
app.post("/register", async function (req, res) {
|
||||
var { name, password, password2 } = req.body;
|
||||
|
||||
let checkuser = await got(process.env.BANKAPIURL+'BankF/contains/'+name)
|
||||
checkuser = JSON.parse(checkuser.body).value
|
||||
let checkuser = await got(process.env.BANKAPIURL + "BankF/contains/" + name);
|
||||
checkuser = JSON.parse(checkuser.body).value;
|
||||
let errors = [];
|
||||
let successes = [];
|
||||
if(checkuser == false){
|
||||
if(!name || !password || !password2) {
|
||||
errors.push({msg : "please fill in all fields"});
|
||||
if (checkuser == false) {
|
||||
if (!name || !password || !password2) {
|
||||
errors.push({ msg: "please fill in all fields" });
|
||||
}
|
||||
if(password !== password2) {
|
||||
errors.push({msg : "Passwords don't match"});
|
||||
if (password !== password2) {
|
||||
errors.push({ msg: "Passwords don't match" });
|
||||
}
|
||||
if(password.length < 6 ) {
|
||||
errors.push({msg : 'Password must be at least 6 characters'})
|
||||
if (password.length < 6) {
|
||||
errors.push({ msg: "Password must be at least 6 characters" });
|
||||
}
|
||||
if(errors[0]){
|
||||
res.render('register', {
|
||||
errors:errors,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
if (errors[0]) {
|
||||
res.render("register", {
|
||||
errors: errors,
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
});
|
||||
} else {
|
||||
if(postUser(name, password)){
|
||||
successes.push({msg:"User Registered Please Log In"})
|
||||
res.render('login',{
|
||||
errors:errors,
|
||||
if (postUser(name, password)) {
|
||||
successes.push({ msg: "User Registered Please Log In" });
|
||||
res.render("login", {
|
||||
errors: errors,
|
||||
successes: successes,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
errors.push({msg: "User already exists"})
|
||||
res.render('register',{
|
||||
errors:errors,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
errors.push({ msg: "User already exists" });
|
||||
res.render("register", {
|
||||
errors: errors,
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
app.post('/login', async function(req, res){
|
||||
if(req.session.user){
|
||||
res.redirect("/")
|
||||
app.post("/login", async function (req, res) {
|
||||
if (req.session.user) {
|
||||
res.redirect("/");
|
||||
}
|
||||
let {name,password} = req.body
|
||||
let { name, password } = req.body;
|
||||
let adminTest;
|
||||
let errors = [];
|
||||
try{
|
||||
adminTest = await got.post(process.env.BANKAPIURL+'BankF/admin/vpass',{
|
||||
json:{
|
||||
try {
|
||||
adminTest = await got.post(process.env.BANKAPIURL + "BankF/admin/vpass", {
|
||||
json: {
|
||||
attempt: password,
|
||||
},
|
||||
responseType:'json'
|
||||
})
|
||||
} catch(err){
|
||||
console.log(err)
|
||||
responseType: "json",
|
||||
});
|
||||
} 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:{
|
||||
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
|
||||
attempt: password,
|
||||
},
|
||||
responseType:'json'
|
||||
|
||||
})
|
||||
|
||||
|
||||
} catch(err){
|
||||
console.log(err)
|
||||
responseType: "json",
|
||||
});
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
} finally {
|
||||
console.log(verified.body.value)
|
||||
if(verified.body.value == 0){
|
||||
errors.push({msg: 'Password wrong'})
|
||||
res.render('login',{
|
||||
errors:errors,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
}else if(verified.body.value == 1){
|
||||
console.log(verified.body.value);
|
||||
if (verified.body.value == 0) {
|
||||
errors.push({ msg: "Password wrong" });
|
||||
res.render("login", {
|
||||
errors: errors,
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
} else if (verified.body.value == 1) {
|
||||
req.session.user = name;
|
||||
req.session.password = password
|
||||
res.redirect('/BankF')
|
||||
req.session.password = password;
|
||||
res.redirect("/BankF");
|
||||
} else {
|
||||
errors.push({msg: 'User not found'})
|
||||
res.render('login',{
|
||||
errors:errors,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
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');
|
||||
app.use('/admin', admin);
|
||||
|
||||
let settings = require('./routes/settings');
|
||||
app.use('/settings', settings)
|
||||
|
||||
let marketplace = require('./routes/marketplace')
|
||||
app.use('/marketplace', marketplace)
|
||||
|
||||
|
||||
app.get('/logout', function(req, res){
|
||||
req.session.regenerate(function(err) {
|
||||
res.render('login', {
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
})
|
||||
});
|
||||
|
||||
let admin = require("./routes/admin");
|
||||
app.use("/admin", admin);
|
||||
|
||||
app.get('/login', function(req, res){
|
||||
req.session.regenerate(function(err) {
|
||||
res.render('login', {
|
||||
let settings = require("./routes/settings");
|
||||
app.use("/settings", settings);
|
||||
|
||||
let marketplace = require("./routes/marketplace");
|
||||
app.use("/marketplace", marketplace);
|
||||
|
||||
app.get("/logout", function (req, res) {
|
||||
req.session.regenerate(function (err) {
|
||||
res.render("login", {
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
app.get("/login", function (req, res) {
|
||||
req.session.regenerate(function (err) {
|
||||
res.render("login", {
|
||||
user: req.session.user,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
})
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
app.get('/register', function(req, res){
|
||||
res.render('register', {
|
||||
app.get("/register", function (req, res) {
|
||||
res.render("register", {
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
app.listen(process.env.PORT || 3000, function(){
|
||||
console.log('Server started on port 3000...');
|
||||
app.listen(process.env.PORT || 3000, function () {
|
||||
console.log("Server started on port 3000...");
|
||||
});
|
||||
|
|
|
|||
364
package-lock.json
generated
364
package-lock.json
generated
|
|
@ -9,7 +9,6 @@
|
|||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"connect-flash": "^0.1.1",
|
||||
"cote": "^1.0.2",
|
||||
"dotenv": "^8.2.0",
|
||||
"express": "^4.17.1",
|
||||
"express-messages": "^1.0.1",
|
||||
|
|
@ -26,7 +25,7 @@
|
|||
"validator": "^13.5.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": "15.x"
|
||||
"node": "16.x"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/helper-validator-identifier": {
|
||||
|
|
@ -55,33 +54,6 @@
|
|||
"to-fast-properties": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@dashersw/axon": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@dashersw/axon/-/axon-2.0.5.tgz",
|
||||
"integrity": "sha512-e7az6UOh/1JqLvzg2GPhP3n47QMQal3Qg2a2497JwY7dlbSKUg4dQmnRyKWNjFz0FHjranUjKvX6J6NAV3Sm/Q==",
|
||||
"dependencies": {
|
||||
"amp": "~0.3.1",
|
||||
"amp-message": "~0.1.1",
|
||||
"configurable": "0.0.1",
|
||||
"debug": "*",
|
||||
"escape-regexp": "0.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.11.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@dashersw/node-discover": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@dashersw/node-discover/-/node-discover-1.0.4.tgz",
|
||||
"integrity": "sha512-OblARM345ECaTSSFQcuWUl+7/uhOjhKBIA0G0CbOPbUzwF3cqBbl2R0E9tulnsLk3XB6Zpmja0TZIU5ClKF6LA==",
|
||||
"dependencies": {
|
||||
"redis": "^2.7.1",
|
||||
"uuid": "^3.3.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.4.1 <0.5.0 || >=0.6.9"
|
||||
}
|
||||
},
|
||||
"node_modules/@sindresorhus/is": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.0.tgz",
|
||||
|
|
@ -186,19 +158,6 @@
|
|||
"resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
|
||||
"integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8="
|
||||
},
|
||||
"node_modules/amp": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/amp/-/amp-0.3.1.tgz",
|
||||
"integrity": "sha1-at+NWKdPNh6CwfqNOJwHnhOfxH0="
|
||||
},
|
||||
"node_modules/amp-message": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/amp-message/-/amp-message-0.1.2.tgz",
|
||||
"integrity": "sha1-p48cmJlQh602GSpBKY5NtJ49/EU=",
|
||||
"dependencies": {
|
||||
"amp": "0.3.1"
|
||||
}
|
||||
},
|
||||
"node_modules/array-flatten": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
|
|
@ -219,14 +178,6 @@
|
|||
"resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz",
|
||||
"integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw=="
|
||||
},
|
||||
"node_modules/async": {
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
|
||||
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
|
||||
"dependencies": {
|
||||
"lodash": "^4.17.14"
|
||||
}
|
||||
},
|
||||
"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",
|
||||
|
|
@ -359,14 +310,6 @@
|
|||
"is-regex": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/charm": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/charm/-/charm-1.0.2.tgz",
|
||||
"integrity": "sha1-it02cVOm2aWBMxBSxAkJkdqZXjU=",
|
||||
"dependencies": {
|
||||
"inherits": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/clone-response": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
|
||||
|
|
@ -375,14 +318,6 @@
|
|||
"mimic-response": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/colors": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
|
||||
"integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
|
||||
"engines": {
|
||||
"node": ">=0.1.90"
|
||||
}
|
||||
},
|
||||
"node_modules/component-bind": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
|
||||
|
|
@ -398,11 +333,6 @@
|
|||
"resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
|
||||
"integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM="
|
||||
},
|
||||
"node_modules/configurable": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/configurable/-/configurable-0.0.1.tgz",
|
||||
"integrity": "sha1-R9dbcntRtOuEwdra/j+CQDE4M7E="
|
||||
},
|
||||
"node_modules/connect-flash": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz",
|
||||
|
|
@ -457,25 +387,6 @@
|
|||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
},
|
||||
"node_modules/cote": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/cote/-/cote-1.0.2.tgz",
|
||||
"integrity": "sha512-2wj+dKvJcmLQqONRx47SyBBanIxwtbF/YlMhR4Iu+Zegjgmqpt4sen1X+f5zsqHFvj7PQAaH3sGNqg1OjpHoIg==",
|
||||
"dependencies": {
|
||||
"@dashersw/axon": "2.0.5",
|
||||
"@dashersw/node-discover": "^1.0.4",
|
||||
"charm": "1.0.2",
|
||||
"colors": "1.4.0",
|
||||
"eventemitter2": "6.0.0",
|
||||
"lodash": "^4.17.20",
|
||||
"portfinder": "1.0.25",
|
||||
"socket.io": "^2.3.0",
|
||||
"uuid": "^3.3.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=v10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
|
|
@ -551,11 +462,6 @@
|
|||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/double-ended-queue": {
|
||||
"version": "2.1.0-0",
|
||||
"resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
|
||||
"integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw="
|
||||
},
|
||||
"node_modules/ee-first": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
||||
|
|
@ -594,9 +500,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/engine.io-client": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.1.tgz",
|
||||
"integrity": "sha512-oVu9kBkGbcggulyVF0kz6BV3ganqUeqXvD79WOFKa+11oK692w1NyFkuEj4xrkFRpZhn92QOqTk4RQq5LiBXbQ==",
|
||||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz",
|
||||
"integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==",
|
||||
"dependencies": {
|
||||
"component-emitter": "~1.3.0",
|
||||
"component-inherit": "0.0.3",
|
||||
|
|
@ -607,7 +513,7 @@
|
|||
"parseqs": "0.0.6",
|
||||
"parseuri": "0.0.6",
|
||||
"ws": "~7.4.2",
|
||||
"xmlhttprequest-ssl": "~1.5.4",
|
||||
"xmlhttprequest-ssl": "~1.6.2",
|
||||
"yeast": "0.1.2"
|
||||
}
|
||||
},
|
||||
|
|
@ -658,11 +564,6 @@
|
|||
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
||||
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
|
||||
},
|
||||
"node_modules/escape-regexp": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/escape-regexp/-/escape-regexp-0.0.1.tgz",
|
||||
"integrity": "sha1-9EvaEtRbvfnLf4Yu5+SCez3TIlQ="
|
||||
},
|
||||
"node_modules/etag": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
|
||||
|
|
@ -671,11 +572,6 @@
|
|||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/eventemitter2": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.0.0.tgz",
|
||||
"integrity": "sha512-ZuNWHD7S7IoikyEmx35vPU8H1W0L+oi644+4mSTg7nwXvBQpIwQL7DPjYUF0VMB0jPkNMo3MqD07E7MYrkFmjQ=="
|
||||
},
|
||||
"node_modules/express": {
|
||||
"version": "4.17.1",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
|
||||
|
|
@ -1167,22 +1063,6 @@
|
|||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
|
||||
},
|
||||
"node_modules/mkdirp": {
|
||||
"version": "0.5.5",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
|
||||
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.5"
|
||||
},
|
||||
"bin": {
|
||||
"mkdirp": "bin/cmd.js"
|
||||
}
|
||||
},
|
||||
"node_modules/mongodb": {
|
||||
"version": "3.6.6",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.6.tgz",
|
||||
|
|
@ -1419,32 +1299,6 @@
|
|||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
||||
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
|
||||
},
|
||||
"node_modules/portfinder": {
|
||||
"version": "1.0.25",
|
||||
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz",
|
||||
"integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==",
|
||||
"dependencies": {
|
||||
"async": "^2.6.2",
|
||||
"debug": "^3.1.1",
|
||||
"mkdirp": "^0.5.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/portfinder/node_modules/debug": {
|
||||
"version": "3.2.7",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
|
||||
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
|
||||
"dependencies": {
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/portfinder/node_modules/ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
|
||||
},
|
||||
"node_modules/process": {
|
||||
"version": "0.11.10",
|
||||
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
||||
|
|
@ -1680,32 +1534,6 @@
|
|||
"util-deprecate": "~1.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/redis": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz",
|
||||
"integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==",
|
||||
"dependencies": {
|
||||
"double-ended-queue": "^2.1.0-0",
|
||||
"redis-commands": "^1.2.0",
|
||||
"redis-parser": "^2.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/redis-commands": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz",
|
||||
"integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ=="
|
||||
},
|
||||
"node_modules/redis-parser": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz",
|
||||
"integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/regexp-clone": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
|
||||
|
|
@ -2034,14 +1862,6 @@
|
|||
"node": ">= 0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/uuid": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
|
||||
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
|
||||
"bin": {
|
||||
"uuid": "bin/uuid"
|
||||
}
|
||||
},
|
||||
"node_modules/validator": {
|
||||
"version": "13.5.2",
|
||||
"resolved": "https://registry.npmjs.org/validator/-/validator-13.5.2.tgz",
|
||||
|
|
@ -2106,9 +1926,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/xmlhttprequest-ssl": {
|
||||
"version": "1.5.5",
|
||||
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
|
||||
"integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
|
||||
"version": "1.6.3",
|
||||
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz",
|
||||
"integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==",
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
|
|
@ -2145,27 +1965,6 @@
|
|||
"to-fast-properties": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"@dashersw/axon": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@dashersw/axon/-/axon-2.0.5.tgz",
|
||||
"integrity": "sha512-e7az6UOh/1JqLvzg2GPhP3n47QMQal3Qg2a2497JwY7dlbSKUg4dQmnRyKWNjFz0FHjranUjKvX6J6NAV3Sm/Q==",
|
||||
"requires": {
|
||||
"amp": "~0.3.1",
|
||||
"amp-message": "~0.1.1",
|
||||
"configurable": "0.0.1",
|
||||
"debug": "*",
|
||||
"escape-regexp": "0.0.1"
|
||||
}
|
||||
},
|
||||
"@dashersw/node-discover": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@dashersw/node-discover/-/node-discover-1.0.4.tgz",
|
||||
"integrity": "sha512-OblARM345ECaTSSFQcuWUl+7/uhOjhKBIA0G0CbOPbUzwF3cqBbl2R0E9tulnsLk3XB6Zpmja0TZIU5ClKF6LA==",
|
||||
"requires": {
|
||||
"redis": "^2.7.1",
|
||||
"uuid": "^3.3.2"
|
||||
}
|
||||
},
|
||||
"@sindresorhus/is": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.0.tgz",
|
||||
|
|
@ -2252,19 +2051,6 @@
|
|||
"resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
|
||||
"integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8="
|
||||
},
|
||||
"amp": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/amp/-/amp-0.3.1.tgz",
|
||||
"integrity": "sha1-at+NWKdPNh6CwfqNOJwHnhOfxH0="
|
||||
},
|
||||
"amp-message": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/amp-message/-/amp-message-0.1.2.tgz",
|
||||
"integrity": "sha1-p48cmJlQh602GSpBKY5NtJ49/EU=",
|
||||
"requires": {
|
||||
"amp": "0.3.1"
|
||||
}
|
||||
},
|
||||
"array-flatten": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
|
|
@ -2285,14 +2071,6 @@
|
|||
"resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz",
|
||||
"integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw=="
|
||||
},
|
||||
"async": {
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
|
||||
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
|
||||
"requires": {
|
||||
"lodash": "^4.17.14"
|
||||
}
|
||||
},
|
||||
"babel-walk": {
|
||||
"version": "3.0.0-canary-5",
|
||||
"resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz",
|
||||
|
|
@ -2398,14 +2176,6 @@
|
|||
"is-regex": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"charm": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/charm/-/charm-1.0.2.tgz",
|
||||
"integrity": "sha1-it02cVOm2aWBMxBSxAkJkdqZXjU=",
|
||||
"requires": {
|
||||
"inherits": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"clone-response": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
|
||||
|
|
@ -2414,11 +2184,6 @@
|
|||
"mimic-response": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"colors": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
|
||||
"integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
|
||||
},
|
||||
"component-bind": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
|
||||
|
|
@ -2434,11 +2199,6 @@
|
|||
"resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
|
||||
"integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM="
|
||||
},
|
||||
"configurable": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/configurable/-/configurable-0.0.1.tgz",
|
||||
"integrity": "sha1-R9dbcntRtOuEwdra/j+CQDE4M7E="
|
||||
},
|
||||
"connect-flash": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz",
|
||||
|
|
@ -2481,22 +2241,6 @@
|
|||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
},
|
||||
"cote": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/cote/-/cote-1.0.2.tgz",
|
||||
"integrity": "sha512-2wj+dKvJcmLQqONRx47SyBBanIxwtbF/YlMhR4Iu+Zegjgmqpt4sen1X+f5zsqHFvj7PQAaH3sGNqg1OjpHoIg==",
|
||||
"requires": {
|
||||
"@dashersw/axon": "2.0.5",
|
||||
"@dashersw/node-discover": "^1.0.4",
|
||||
"charm": "1.0.2",
|
||||
"colors": "1.4.0",
|
||||
"eventemitter2": "6.0.0",
|
||||
"lodash": "^4.17.20",
|
||||
"portfinder": "1.0.25",
|
||||
"socket.io": "^2.3.0",
|
||||
"uuid": "^3.3.3"
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
|
|
@ -2550,11 +2294,6 @@
|
|||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
|
||||
"integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw=="
|
||||
},
|
||||
"double-ended-queue": {
|
||||
"version": "2.1.0-0",
|
||||
"resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
|
||||
"integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw="
|
||||
},
|
||||
"ee-first": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
||||
|
|
@ -2607,9 +2346,9 @@
|
|||
}
|
||||
},
|
||||
"engine.io-client": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.1.tgz",
|
||||
"integrity": "sha512-oVu9kBkGbcggulyVF0kz6BV3ganqUeqXvD79WOFKa+11oK692w1NyFkuEj4xrkFRpZhn92QOqTk4RQq5LiBXbQ==",
|
||||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz",
|
||||
"integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==",
|
||||
"requires": {
|
||||
"component-emitter": "~1.3.0",
|
||||
"component-inherit": "0.0.3",
|
||||
|
|
@ -2620,7 +2359,7 @@
|
|||
"parseqs": "0.0.6",
|
||||
"parseuri": "0.0.6",
|
||||
"ws": "~7.4.2",
|
||||
"xmlhttprequest-ssl": "~1.5.4",
|
||||
"xmlhttprequest-ssl": "~1.6.2",
|
||||
"yeast": "0.1.2"
|
||||
},
|
||||
"dependencies": {
|
||||
|
|
@ -2651,21 +2390,11 @@
|
|||
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
||||
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
|
||||
},
|
||||
"escape-regexp": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/escape-regexp/-/escape-regexp-0.0.1.tgz",
|
||||
"integrity": "sha1-9EvaEtRbvfnLf4Yu5+SCez3TIlQ="
|
||||
},
|
||||
"etag": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
|
||||
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
|
||||
},
|
||||
"eventemitter2": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.0.0.tgz",
|
||||
"integrity": "sha512-ZuNWHD7S7IoikyEmx35vPU8H1W0L+oi644+4mSTg7nwXvBQpIwQL7DPjYUF0VMB0jPkNMo3MqD07E7MYrkFmjQ=="
|
||||
},
|
||||
"express": {
|
||||
"version": "4.17.1",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
|
||||
|
|
@ -3058,19 +2787,6 @@
|
|||
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
|
||||
"integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.5",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
|
||||
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
|
||||
"requires": {
|
||||
"minimist": "^1.2.5"
|
||||
}
|
||||
},
|
||||
"mongodb": {
|
||||
"version": "3.6.6",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.6.tgz",
|
||||
|
|
@ -3233,31 +2949,6 @@
|
|||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
||||
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
|
||||
},
|
||||
"portfinder": {
|
||||
"version": "1.0.25",
|
||||
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz",
|
||||
"integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==",
|
||||
"requires": {
|
||||
"async": "^2.6.2",
|
||||
"debug": "^3.1.1",
|
||||
"mkdirp": "^0.5.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "3.2.7",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
|
||||
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
|
||||
"requires": {
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"process": {
|
||||
"version": "0.11.10",
|
||||
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
||||
|
|
@ -3466,26 +3157,6 @@
|
|||
"util-deprecate": "~1.0.1"
|
||||
}
|
||||
},
|
||||
"redis": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz",
|
||||
"integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==",
|
||||
"requires": {
|
||||
"double-ended-queue": "^2.1.0-0",
|
||||
"redis-commands": "^1.2.0",
|
||||
"redis-parser": "^2.6.0"
|
||||
}
|
||||
},
|
||||
"redis-commands": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz",
|
||||
"integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ=="
|
||||
},
|
||||
"redis-parser": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz",
|
||||
"integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs="
|
||||
},
|
||||
"regexp-clone": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
|
||||
|
|
@ -3787,11 +3458,6 @@
|
|||
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
|
||||
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
|
||||
},
|
||||
"uuid": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
|
||||
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
|
||||
},
|
||||
"validator": {
|
||||
"version": "13.5.2",
|
||||
"resolved": "https://registry.npmjs.org/validator/-/validator-13.5.2.tgz",
|
||||
|
|
@ -3830,9 +3496,9 @@
|
|||
"requires": {}
|
||||
},
|
||||
"xmlhttprequest-ssl": {
|
||||
"version": "1.5.5",
|
||||
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
|
||||
"integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4="
|
||||
"version": "1.6.3",
|
||||
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz",
|
||||
"integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q=="
|
||||
},
|
||||
"yallist": {
|
||||
"version": "2.1.2",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"connect-flash": "^0.1.1",
|
||||
"cote": "^1.0.2",
|
||||
"dotenv": "^8.2.0",
|
||||
"express": "^4.17.1",
|
||||
"express-messages": "^1.0.1",
|
||||
|
|
@ -35,6 +34,6 @@
|
|||
},
|
||||
"homepage": "https://github.com/Expand-sys/ccashfrontend#readme",
|
||||
"engines": {
|
||||
"node": "15.x"
|
||||
"node": "16.x"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
129
public/css/papy.css
Normal file
129
public/css/papy.css
Normal file
|
|
@ -0,0 +1,129 @@
|
|||
@font-face {
|
||||
font-family: "PapyrusW01";
|
||||
src: url("//db.onlinewebfonts.com/t/a0e1b1883c0cf520e9c50d0cd91cd0d0.eot");
|
||||
src: url("//db.onlinewebfonts.com/t/a0e1b1883c0cf520e9c50d0cd91cd0d0.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
url("//db.onlinewebfonts.com/t/a0e1b1883c0cf520e9c50d0cd91cd0d0.woff2")
|
||||
format("woff2"),
|
||||
url("//db.onlinewebfonts.com/t/a0e1b1883c0cf520e9c50d0cd91cd0d0.woff")
|
||||
format("woff"),
|
||||
url("//db.onlinewebfonts.com/t/a0e1b1883c0cf520e9c50d0cd91cd0d0.ttf")
|
||||
format("truetype"),
|
||||
url("//db.onlinewebfonts.com/t/a0e1b1883c0cf520e9c50d0cd91cd0d0.svg#PapyrusW01")
|
||||
format("svg");
|
||||
}
|
||||
|
||||
.main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
height: 100vh;
|
||||
}
|
||||
body {
|
||||
background: #f4da46;
|
||||
height: 100vh;
|
||||
background-attachment: fixed;
|
||||
}
|
||||
.navbarrr {
|
||||
background: #bc5b0b;
|
||||
}
|
||||
.blue {
|
||||
background: #46cff2;
|
||||
}
|
||||
.container-large {
|
||||
padding-left: 10%;
|
||||
padding-right: 10%;
|
||||
}
|
||||
.col {
|
||||
padding: 0px;
|
||||
padding-left: 0px;
|
||||
padding-right: 0px;
|
||||
}
|
||||
.card {
|
||||
padding: 10px;
|
||||
}
|
||||
.row {
|
||||
margin-left: 0px;
|
||||
margin-right: 0px;
|
||||
}
|
||||
.logo {
|
||||
width: 250px;
|
||||
background-color: white;
|
||||
}
|
||||
.logs {
|
||||
height: 350px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.content {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.gallery {
|
||||
background-color: white;
|
||||
margin-bottom: 50px;
|
||||
box-shadow: 10px 10px 5px black;
|
||||
}
|
||||
|
||||
.bg-custom {
|
||||
background-color: #130f40;
|
||||
}
|
||||
.button-fixed {
|
||||
bottom: 0;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.fas {
|
||||
cursor: pointer;
|
||||
font-size: 24px;
|
||||
}
|
||||
p {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.text-black {
|
||||
color: black;
|
||||
}
|
||||
.text-white {
|
||||
color: white;
|
||||
}
|
||||
.form-check-input {
|
||||
margin-left: 0;
|
||||
padding: inherit;
|
||||
}
|
||||
|
||||
input[type="radio"]:checked ~ .reveal-if-active,
|
||||
input[type="checkbox"]:checked ~ .reveal-if-active {
|
||||
opacity: 1;
|
||||
max-height: 100px; /* little bit of a magic number :( */
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
p,
|
||||
label {
|
||||
font-family: "PapyrusW01";
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: white;
|
||||
}
|
||||
.shadow {
|
||||
box-shadow: 5px 10px #888888;
|
||||
}
|
||||
$w: Min(10em, 100%);
|
||||
|
||||
.grid--masonry {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, $w);
|
||||
|
||||
> * {
|
||||
width: $w;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
.main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
|
|
|||
402
routes/admin.js
402
routes/admin.js
|
|
@ -1,268 +1,298 @@
|
|||
const express = require('express');
|
||||
const express = require("express");
|
||||
const router = express.Router();
|
||||
const path = require('path');
|
||||
const {ensureAuthenticated} = require("../config/auth.js")
|
||||
const {checkAdmin} = require ("../config/admin.js")
|
||||
const pug = require('pug');
|
||||
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 MemoryStore = require('memorystore')(session)
|
||||
const fs = require('fs');
|
||||
const mongoose = require('mongoose')
|
||||
console.log('Sen was here')
|
||||
const path = require("path");
|
||||
const { ensureAuthenticated } = require("../config/auth.js");
|
||||
const { checkAdmin } = require("../config/admin.js");
|
||||
const pug = require("pug");
|
||||
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 MemoryStore = require("memorystore")(session);
|
||||
const fs = require("fs");
|
||||
const mongoose = require("mongoose");
|
||||
console.log("Sen was here");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function mongo(){
|
||||
if(process.env.MONGO){
|
||||
console.log(process.env.MONGO)
|
||||
mongoose.connect(process.env.MONGO,{
|
||||
function mongo() {
|
||||
if (process.env.MONGO) {
|
||||
console.log(process.env.MONGO);
|
||||
mongoose.connect(process.env.MONGO, {
|
||||
useNewUrlParser: true,
|
||||
useUnifiedTopology: true,
|
||||
useFindAndModify: true,
|
||||
});
|
||||
|
||||
let db = mongoose.connection;
|
||||
db.once('open', function(){
|
||||
console.log('Connected to MongoDB');
|
||||
})
|
||||
db.once("open", function () {
|
||||
console.log("Connected to MongoDB");
|
||||
});
|
||||
|
||||
//check for DB errors
|
||||
db.on('error', function(err){
|
||||
db.on("error", function (err) {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
router.get('/', checkAdmin, function(req, res){
|
||||
res.render('adminsettings', {
|
||||
router.get("/", checkAdmin, function (req, res) {
|
||||
res.render("adminsettings", {
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
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
|
||||
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 = [];
|
||||
if(contains == true){
|
||||
errors.push({msg: 'User already exists'})
|
||||
res.render('adminsettings',{
|
||||
errors:errors
|
||||
})
|
||||
}else {
|
||||
if(!name || !init_pass || !init_bal || !password2) {
|
||||
errors.push({msg : "please fill in all fields"});
|
||||
if (contains == true) {
|
||||
errors.push({ msg: "User already exists" });
|
||||
res.render("adminsettings", {
|
||||
errors: errors,
|
||||
});
|
||||
} else {
|
||||
if (!name || !init_pass || !init_bal || !password2) {
|
||||
errors.push({ msg: "please fill in all fields" });
|
||||
}
|
||||
//check if match
|
||||
if(init_pass !== password2) {
|
||||
errors.push({msg : "Passwords don't match"});
|
||||
if (init_pass !== password2) {
|
||||
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'})
|
||||
if (init_pass.length < 6) {
|
||||
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:{
|
||||
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'
|
||||
})
|
||||
} catch(err){
|
||||
console.log(err)
|
||||
responseType: "json",
|
||||
});
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
if(post.body.value == true){
|
||||
successes.push({msg: "Account Creation Successful"})
|
||||
if (post.body.value == true) {
|
||||
successes.push({ msg: "Account Creation Successful" });
|
||||
}
|
||||
}
|
||||
res.render('adminsettings',{
|
||||
res.render("adminsettings", {
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
successes: successes,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
})
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
router.post('/baluser',checkAdmin , async function(req,res){
|
||||
let {name} = req.body
|
||||
router.post("/baluser", checkAdmin, async function (req, res) {
|
||||
let { name } = req.body;
|
||||
let balance;
|
||||
let successes = [];
|
||||
let errors = [];
|
||||
try{
|
||||
balance = await got(process.env.BANKAPIURL+'BankF/'+name+'/bal')
|
||||
balance = JSON.parse(balance.body)
|
||||
} catch(err){
|
||||
console.log(err)
|
||||
try {
|
||||
balance = await got(process.env.BANKAPIURL + "BankF/" + name + "/bal");
|
||||
balance = JSON.parse(balance.body);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
if(balance.value == -1 || balance.value == undefined){
|
||||
errors.push({msg: "User not found"})
|
||||
}else{
|
||||
successes.push({msg: "User: "+name+" has "+balance.value+" monies"})
|
||||
if (balance.value == -1 || balance.value == undefined) {
|
||||
errors.push({ msg: "User not found" });
|
||||
} else {
|
||||
successes.push({
|
||||
msg: "User: " + name + " has " + balance.value + " monies",
|
||||
});
|
||||
}
|
||||
res.render('adminsettings',{
|
||||
res.render("adminsettings", {
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
successes: successes,
|
||||
errors: errors,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
})
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
router.post('/bal',checkAdmin , async function(req,res){
|
||||
let {name, amount} = req.body
|
||||
router.post("/bal", checkAdmin, async function (req, res) {
|
||||
let { name, amount } = req.body;
|
||||
let patch;
|
||||
let successes = [];
|
||||
try{
|
||||
patch = await got.patch(process.env.BANKAPIURL+'BankF/admin/'+name+'/bal',{
|
||||
json:{
|
||||
name: name,
|
||||
attempt: req.session.adminp,
|
||||
amount: parseInt(amount),
|
||||
},
|
||||
responseType:'json'
|
||||
})
|
||||
} catch(err){
|
||||
console.log(err)
|
||||
try {
|
||||
patch = await got.patch(
|
||||
process.env.BANKAPIURL + "BankF/admin/" + name + "/bal",
|
||||
{
|
||||
json: {
|
||||
name: name,
|
||||
attempt: req.session.adminp,
|
||||
amount: parseInt(amount),
|
||||
},
|
||||
responseType: "json",
|
||||
}
|
||||
);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
if(patch.body.value == true){
|
||||
successes.push({msg: "Change Funds Successful"})
|
||||
if (patch.body.value == true) {
|
||||
successes.push({ msg: "Change Funds Successful" });
|
||||
}
|
||||
res.render('adminsettings',{
|
||||
res.render("adminsettings", {
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
successes: successes,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
})
|
||||
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
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
});
|
||||
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 deleteUser;
|
||||
let successes = [];
|
||||
let errors = [];
|
||||
if(attempt != req.session.adminp){
|
||||
errors.push({msg:"Wrong Admin Password"})
|
||||
if (attempt != req.session.adminp) {
|
||||
errors.push({ msg: "Wrong Admin Password" });
|
||||
}
|
||||
console.log(contains)
|
||||
if(contains == true){
|
||||
deleteUser = got.delete(process.env.BANKAPIURL+'BankF/admin/user',{
|
||||
json:{
|
||||
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"})
|
||||
} else{
|
||||
errors.push({msg: "User Deletion Failed, User Not Found"})
|
||||
responseType: "json",
|
||||
});
|
||||
successes.push({ msg: "User Deletion Successful" });
|
||||
} else {
|
||||
errors.push({ msg: "User Deletion Failed, User Not Found" });
|
||||
}
|
||||
res.render('adminsettings',{
|
||||
res.render("adminsettings", {
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
successes: successes,
|
||||
errors: errors,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
})
|
||||
router.post('/destroyallsessions', checkAdmin, async function(req,res) {
|
||||
let {attempt} = req.body;
|
||||
let adminTest
|
||||
let errors = []
|
||||
try{
|
||||
adminTest = await got.post(process.env.BANKAPIURL+'BankF/admin/vpass',{
|
||||
json:{
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
});
|
||||
router.post("/destroyallsessions", checkAdmin, async function (req, res) {
|
||||
let { attempt } = req.body;
|
||||
let adminTest;
|
||||
let errors = [];
|
||||
try {
|
||||
adminTest = await got.post(process.env.BANKAPIURL + "BankF/admin/vpass", {
|
||||
json: {
|
||||
attempt: attempt,
|
||||
},
|
||||
responseType:'json'
|
||||
})
|
||||
} catch(err){
|
||||
console.log(err)
|
||||
responseType: "json",
|
||||
});
|
||||
} 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",{
|
||||
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
|
||||
})
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
router.post("/changebackend", checkAdmin, async function (req, res) {
|
||||
let { url } = req.body;
|
||||
if (!url.endsWith("/")) {
|
||||
url = url + "/";
|
||||
}
|
||||
process.env.BANKAPIURL = url;
|
||||
fs.writeFileSync(
|
||||
".env",
|
||||
"BANKAPIURL=" +
|
||||
process.env.BANKAPIURL +
|
||||
"\n" +
|
||||
"SECURE=" +
|
||||
process.env.SECURE +
|
||||
"\n" +
|
||||
"MARKETPLACE=" +
|
||||
process.env.MARKETPLACE +
|
||||
"\n" +
|
||||
"MONGO=" +
|
||||
process.env.MONGO +
|
||||
"\nSETUP=true"
|
||||
);
|
||||
res.redirect("../");
|
||||
});
|
||||
router.post("/mongodb", checkAdmin, async function (req, res) {
|
||||
let { url } = req.body;
|
||||
process.env.MONGO = url;
|
||||
|
||||
if (process.env.MONGO.length < 3) {
|
||||
process.env.MARKETPLACE = false;
|
||||
console.log("false");
|
||||
} else {
|
||||
process.env.MARKETPLACE = true;
|
||||
console.log("true");
|
||||
}
|
||||
fs.writeFileSync(
|
||||
".env",
|
||||
"BANKAPIURL=" +
|
||||
process.env.BANKAPIURL +
|
||||
"\n" +
|
||||
"SECURE=" +
|
||||
process.env.SECURE +
|
||||
"\n" +
|
||||
"MARKETPLACE=" +
|
||||
process.env.MARKETPLACE +
|
||||
"\n" +
|
||||
"MONGO=" +
|
||||
process.env.MONGO +
|
||||
"\nSETUP=true"
|
||||
);
|
||||
try {
|
||||
mongo();
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
router.post('/changebackend', checkAdmin, async function(req,res){
|
||||
let {url} = req.body;
|
||||
if(!url.endsWith('/')){
|
||||
url = url+'/'
|
||||
}
|
||||
process.env.BANKAPIURL = url
|
||||
fs.writeFileSync('.env', "BANKAPIURL="+process.env.BANKAPIURL+'\n'+"SECURE="+process.env.SECURE+'\n'+"MARKETPLACE="+process.env.MARKETPLACE+'\n'+"MONGO="+process.env.MONGO+'\nSETUP=true')
|
||||
res.redirect('../')
|
||||
})
|
||||
router.post('/mongodb', checkAdmin, async function(req,res){
|
||||
let {url} = req.body;
|
||||
process.env.MONGO = url
|
||||
|
||||
if(process.env.MONGO.length < 3){
|
||||
process.env.MARKETPLACE = false
|
||||
console.log("false")
|
||||
}else { process.env.MARKETPLACE = true;console.log("true")}
|
||||
fs.writeFileSync('.env', "BANKAPIURL="+process.env.BANKAPIURL+'\n'+"SECURE="+process.env.SECURE+'\n'+"MARKETPLACE="+process.env.MARKETPLACE+'\n'+"MONGO="+process.env.MONGO+'\nSETUP=true')
|
||||
try{
|
||||
mongo()
|
||||
}catch(e){
|
||||
console.log(e)
|
||||
}
|
||||
|
||||
res.redirect('../')
|
||||
})
|
||||
router.post('/close', checkAdmin, async function(req,res){
|
||||
let {attempt} = req.body;
|
||||
res.redirect("../");
|
||||
});
|
||||
router.post("/close", checkAdmin, async function (req, res) {
|
||||
let { attempt } = req.body;
|
||||
let close;
|
||||
close = got.post(process.env.BANKAPIURL+'BankF/admin/close', {
|
||||
json:{
|
||||
close = got.post(process.env.BANKAPIURL + "BankF/admin/close", {
|
||||
json: {
|
||||
attempt: attempt,
|
||||
},
|
||||
responseType:'json'
|
||||
})
|
||||
res.redirect('../')
|
||||
})
|
||||
|
||||
|
||||
|
||||
responseType: "json",
|
||||
});
|
||||
res.redirect("../");
|
||||
});
|
||||
function papy() {
|
||||
const rndInt = Math.floor(Math.random() * 1337);
|
||||
let random = false;
|
||||
if (rndInt == 420) {
|
||||
random = true;
|
||||
}
|
||||
return random;
|
||||
}
|
||||
module.exports = router;
|
||||
|
|
|
|||
|
|
@ -1,224 +1,218 @@
|
|||
const express = require('express')
|
||||
const router = express.Router()
|
||||
const bodyParser = require('body-parser')
|
||||
const session = require('express-session');
|
||||
const mongoose = require('mongoose')
|
||||
const dotenv = require('dotenv');
|
||||
const got = require('got');
|
||||
const {ensureAuthenticated} = require("../config/auth.js")
|
||||
let db
|
||||
const express = require("express");
|
||||
const router = express.Router();
|
||||
const bodyParser = require("body-parser");
|
||||
const session = require("express-session");
|
||||
const mongoose = require("mongoose");
|
||||
const dotenv = require("dotenv");
|
||||
const got = require("got");
|
||||
const { ensureAuthenticated } = require("../config/auth.js");
|
||||
let db;
|
||||
|
||||
|
||||
|
||||
function mongo(){
|
||||
if(process.env.MONGO){
|
||||
console.log(process.env.MONGO)
|
||||
mongoose.connect(process.env.MONGO,{
|
||||
function mongo() {
|
||||
if (process.env.MONGO) {
|
||||
console.log(process.env.MONGO);
|
||||
mongoose.connect(process.env.MONGO, {
|
||||
useNewUrlParser: true,
|
||||
useUnifiedTopology: true,
|
||||
useFindAndModify: true,
|
||||
});
|
||||
|
||||
let db = mongoose.connection;
|
||||
db.once('open', function(){
|
||||
console.log('Connected to MongoDB');
|
||||
})
|
||||
db.once("open", function () {
|
||||
console.log("Connected to MongoDB");
|
||||
});
|
||||
|
||||
//check for DB errors
|
||||
db.on('error', function(err){
|
||||
db.on("error", function (err) {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
mongo()
|
||||
mongo();
|
||||
|
||||
let Item = require("../schemas/item");
|
||||
let Listing = require("../schemas/listing");
|
||||
let Inventory = require("../schemas/inventory");
|
||||
|
||||
let Item = require('../schemas/item')
|
||||
let Listing = require('../schemas/listing')
|
||||
let Inventory = require('../schemas/inventory')
|
||||
|
||||
router.all('*', function(req, res, next) {
|
||||
console.log(req.method, req.url);
|
||||
next();
|
||||
router.all("*", function (req, res, next) {
|
||||
console.log(req.method, req.url);
|
||||
next();
|
||||
});
|
||||
|
||||
router.get('/', function(req, res) {
|
||||
let columns = [0,1,2,3]
|
||||
Item.find({}, function(err, items){
|
||||
if(err){
|
||||
router.get("/", function (req, res) {
|
||||
let columns = [0, 1, 2, 3];
|
||||
Item.find({}, function (err, items) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
} else {
|
||||
res.render('marketplace', {
|
||||
columns:columns,
|
||||
res.render("marketplace", {
|
||||
columns: columns,
|
||||
items: items,
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
router.get('/marketdash', ensureAuthenticated, function(req,res){
|
||||
Inventory.findOne({user:req.session.user}, async function(err, inventory){
|
||||
if(!inventory){
|
||||
let newinv = new Inventory;
|
||||
newinv.user = req.session.user
|
||||
newinv.save(function(err){
|
||||
if(err){
|
||||
router.get("/marketdash", ensureAuthenticated, function (req, res) {
|
||||
Inventory.findOne({ user: req.session.user }, async function (
|
||||
err,
|
||||
inventory
|
||||
) {
|
||||
if (!inventory) {
|
||||
let newinv = new Inventory();
|
||||
newinv.user = req.session.user;
|
||||
newinv.save(function (err) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
return;
|
||||
} else{
|
||||
console.log("created new inventory for "+req.session.user)
|
||||
} else {
|
||||
console.log("created new inventory for " + req.session.user);
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
res.render('marketdash',{
|
||||
user:req.session.user,
|
||||
admin:req.session.admin,
|
||||
inventory:inventory,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
})
|
||||
res.render("marketdash", {
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
inventory: inventory,
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
router.get("/:id", function (req, res) {
|
||||
Item.findById(req.params.id, function (err, item) {
|
||||
Listing.find({ foreignid: req.params.id }, function (err, listings) {
|
||||
console.log(listings);
|
||||
|
||||
})
|
||||
|
||||
router.get('/:id',function(req, res){
|
||||
Item.findById(req.params.id, function(err, item){
|
||||
Listing.find({foreignid: req.params.id}, function(err, listings){
|
||||
console.log(listings)
|
||||
|
||||
|
||||
res.render('item', {
|
||||
res.render("item", {
|
||||
listings: listings,
|
||||
user:req.session.user,
|
||||
admin:req.session.admin,
|
||||
item:item,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
item: item,
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
})
|
||||
});
|
||||
})
|
||||
|
||||
router.get('/:id/list',ensureAuthenticated, function(req,res){
|
||||
Item.findById(req.params.id, function(err, item){
|
||||
res.render('itemlist', {
|
||||
user:req.session.user,
|
||||
admin:req.session.admin,
|
||||
item:item,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
});
|
||||
});
|
||||
})
|
||||
router.get('/:id/buy',ensureAuthenticated, function(req,res){
|
||||
Listing.find({foreignid: req.params.id}, function(err, listings){
|
||||
console.log(listings)
|
||||
});
|
||||
|
||||
|
||||
res.render('itembuy', {
|
||||
listings:listings,
|
||||
user:req.session.user,
|
||||
admin:req.session.admin,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
router.get("/:id/list", ensureAuthenticated, function (req, res) {
|
||||
Item.findById(req.params.id, function (err, item) {
|
||||
res.render("itemlist", {
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
item: item,
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
});
|
||||
})
|
||||
});
|
||||
router.get("/:id/buy", ensureAuthenticated, function (req, res) {
|
||||
Listing.find({ foreignid: req.params.id }, function (err, listings) {
|
||||
console.log(listings);
|
||||
|
||||
res.render("itembuy", {
|
||||
listings: listings,
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
router.post('/:id/list',ensureAuthenticated, async function(req,res){
|
||||
let body = req.body
|
||||
let item = JSON.parse(req.body.item)
|
||||
console.log(item)
|
||||
router.post("/:id/list", ensureAuthenticated, async function (req, res) {
|
||||
let body = req.body;
|
||||
let item = JSON.parse(req.body.item);
|
||||
console.log(item);
|
||||
let listing = new Listing();
|
||||
listing.itemId = item.itemId
|
||||
listing.meta = item.meta
|
||||
listing.name = item.name
|
||||
listing.foreignid = item._id
|
||||
listing.price = body.price
|
||||
listing.amount = body.amount
|
||||
listing.seller = req.session.user
|
||||
listing.save(function(err){
|
||||
if(err){
|
||||
listing.itemId = item.itemId;
|
||||
listing.meta = item.meta;
|
||||
listing.name = item.name;
|
||||
listing.foreignid = item._id;
|
||||
listing.price = body.price;
|
||||
listing.amount = body.amount;
|
||||
listing.seller = req.session.user;
|
||||
listing.save(function (err) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
return;
|
||||
} else{
|
||||
console.log("added "+ listing.name+" from "+listing.seller)
|
||||
}
|
||||
})
|
||||
let inventory = await Inventory.findOne({user:req.session.user}).exec()
|
||||
if( inventory == null){
|
||||
let newinv = new Inventory;
|
||||
newinv.user = req.session.user
|
||||
newinv.listings = listing;
|
||||
newinv.save(function(err){
|
||||
if(err){
|
||||
console.log(err);
|
||||
return;
|
||||
} else{
|
||||
console.log("created new inventory for "+req.session.user)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
inventory.listings.push(listing)
|
||||
inventory.save(function(err){
|
||||
if(err){
|
||||
console.log(err);
|
||||
return;
|
||||
} else{
|
||||
console.log("pushed new listing")
|
||||
}
|
||||
})
|
||||
}
|
||||
res.redirect('/marketplace/marketdash')
|
||||
})
|
||||
router.post('/:id/buy',async function(req, res){
|
||||
Listing.findOne({_id: req.params.id}, async function(err, listing){
|
||||
|
||||
let inventory = await Inventory.findOne({user:req.session.user}).exec()
|
||||
if(inventory == null){
|
||||
let newinv = new Inventory;
|
||||
newinv.user = req.session.user
|
||||
newinv.purchases = listing;
|
||||
newinv.save(function(err){
|
||||
if(err){
|
||||
console.log(err);
|
||||
return;
|
||||
} else{
|
||||
console.log("created new inventory for "+req.session.user)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
inventory.purchases.push(listing)
|
||||
inventory.save(function(err){
|
||||
if(err){
|
||||
console.log("added " + listing.name + " from " + listing.seller);
|
||||
}
|
||||
});
|
||||
let inventory = await Inventory.findOne({ user: req.session.user }).exec();
|
||||
if (inventory == null) {
|
||||
let newinv = new Inventory();
|
||||
newinv.user = req.session.user;
|
||||
newinv.listings = listing;
|
||||
newinv.save(function (err) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
return;
|
||||
} else {
|
||||
console.log("created new inventory for " + req.session.user);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
inventory.listings.push(listing);
|
||||
inventory.save(function (err) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
return;
|
||||
} else {
|
||||
console.log("pushed new listing");
|
||||
}
|
||||
});
|
||||
}
|
||||
res.redirect("/marketplace/marketdash");
|
||||
});
|
||||
router.post("/:id/buy", async function (req, res) {
|
||||
Listing.findOne({ _id: req.params.id }, async function (err, listing) {
|
||||
let inventory = await Inventory.findOne({ user: req.session.user }).exec();
|
||||
if (inventory == null) {
|
||||
let newinv = new Inventory();
|
||||
newinv.user = req.session.user;
|
||||
newinv.purchases = listing;
|
||||
newinv.save(function (err) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
return;
|
||||
} else{
|
||||
console.log("pushed new purchase")
|
||||
} else {
|
||||
console.log("created new inventory for " + req.session.user);
|
||||
}
|
||||
})
|
||||
});
|
||||
} else {
|
||||
inventory.purchases.push(listing);
|
||||
inventory.save(function (err) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
return;
|
||||
} else {
|
||||
console.log("pushed new purchase");
|
||||
}
|
||||
});
|
||||
}
|
||||
Listing.findOneAndRemove({_id:req.params.id}).exec()
|
||||
transfer = got.post(process.env.BANKAPIURL+'BankF/sendfunds',{
|
||||
json:{
|
||||
Listing.findOneAndRemove({ _id: req.params.id }).exec();
|
||||
transfer = got.post(process.env.BANKAPIURL + "BankF/sendfunds", {
|
||||
json: {
|
||||
a_name: req.session.user,
|
||||
b_name: listing.seller,
|
||||
amount: parseInt(listing.amount*listing.price),
|
||||
attempt: req.session.password
|
||||
amount: parseInt(listing.amount * listing.price),
|
||||
attempt: req.session.password,
|
||||
},
|
||||
responseType:'json'
|
||||
})
|
||||
res.redirect("/marketplace/marketdash")
|
||||
})
|
||||
})
|
||||
responseType: "json",
|
||||
});
|
||||
res.redirect("/marketplace/marketdash");
|
||||
});
|
||||
});
|
||||
|
||||
// this thingy here populates the database with minecraft items only use once otherwise you are gonna flood your database
|
||||
/*router.get('/populatedb', async function(req,res){
|
||||
|
|
@ -241,8 +235,12 @@ router.post('/:id/buy',async function(req, res){
|
|||
})
|
||||
}
|
||||
})*/
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports = router
|
||||
function papy() {
|
||||
const rndInt = Math.floor(Math.random() * 1337);
|
||||
let random = false;
|
||||
if (rndInt == 420) {
|
||||
random = true;
|
||||
}
|
||||
return random;
|
||||
}
|
||||
module.exports = router;
|
||||
|
|
|
|||
|
|
@ -1,75 +1,79 @@
|
|||
const express = require('express');
|
||||
const express = require("express");
|
||||
const router = express.Router();
|
||||
const path = require('path');
|
||||
const {ensureAuthenticated} = require("../config/auth.js")
|
||||
const {checkAdmin} = require ("../config/admin.js")
|
||||
var pug = require('pug');
|
||||
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 path = require("path");
|
||||
const { ensureAuthenticated } = require("../config/auth.js");
|
||||
const { checkAdmin } = require("../config/admin.js");
|
||||
var pug = require("pug");
|
||||
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");
|
||||
|
||||
router.get('/',ensureAuthenticated , function(req, res){
|
||||
res.render('settings', {
|
||||
router.get("/", ensureAuthenticated, function (req, res) {
|
||||
res.render("settings", {
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
})
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
router.post('/pass', ensureAuthenticated, async function(req, res){
|
||||
let {attempt, new_pass, password2} = req.body
|
||||
router.post("/pass", ensureAuthenticated, async function (req, res) {
|
||||
let { attempt, new_pass, password2 } = req.body;
|
||||
let patch;
|
||||
let successes = [];
|
||||
let errors = [];
|
||||
if(!attempt || !new_pass || !password2) {
|
||||
errors.push({msg : "please fill in all fields"});
|
||||
if (!attempt || !new_pass || !password2) {
|
||||
errors.push({ msg: "please fill in all fields" });
|
||||
}
|
||||
//check if match
|
||||
if(new_pass !== password2) {
|
||||
errors.push({msg : "Passwords don't match"});
|
||||
if (new_pass !== password2) {
|
||||
errors.push({ msg: "Passwords don't match" });
|
||||
}
|
||||
|
||||
//check if password is more than 6 characters
|
||||
if(new_pass.length < 6 ) {
|
||||
errors.push({msg : 'Password must be at least 6 characters'})
|
||||
if (new_pass.length < 6) {
|
||||
errors.push({ msg: "Password must be at least 6 characters" });
|
||||
}
|
||||
if(errors[0]){
|
||||
res.render('settings', {
|
||||
errors:errors,
|
||||
if (errors[0]) {
|
||||
res.render("settings", {
|
||||
errors: errors,
|
||||
user: req.session.user,
|
||||
admin: req.session.admin,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
}
|
||||
try{
|
||||
patch = await got.patch('https://ccash.ryzerth.com/BankF/changepass',{
|
||||
json:{
|
||||
try {
|
||||
patch = await got.patch("https://ccash.ryzerth.com/BankF/changepass", {
|
||||
json: {
|
||||
name: req.session.user,
|
||||
attempt: attempt,
|
||||
new_pass: new_pass,
|
||||
},
|
||||
responseType:'json'
|
||||
})
|
||||
} catch(err){
|
||||
console.log(err)
|
||||
responseType: "json",
|
||||
});
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
console.log(patch)
|
||||
if(patch.body.value == true){
|
||||
successes.push({msg: "Change Password Successful, Please Login Again"})
|
||||
console.log(patch);
|
||||
if (patch.body.value == true) {
|
||||
successes.push({ msg: "Change Password Successful, Please Login Again" });
|
||||
}
|
||||
req.session.regenerate(function(err) {
|
||||
res.render('login', {
|
||||
req.session.regenerate(function (err) {
|
||||
res.render("login", {
|
||||
successes: successes,
|
||||
errors:errors,
|
||||
marketplace: process.env.MARKETPLACE
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
errors: errors,
|
||||
marketplace: process.env.MARKETPLACE,
|
||||
random: papy(),
|
||||
});
|
||||
});
|
||||
});
|
||||
function papy() {
|
||||
const rndInt = Math.floor(Math.random() * 1337);
|
||||
let random = false;
|
||||
if (rndInt == 420) {
|
||||
random = true;
|
||||
}
|
||||
return random;
|
||||
}
|
||||
module.exports = router;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,10 @@ html
|
|||
link(rel="stylesheet", href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css", integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z", crossorigin="anonymous")
|
||||
link(rel="preconnect" href="https://fonts.gstatic.com")
|
||||
link(href="https://fonts.googleapis.com/css2?family=Lato&family=Montserrat&display=swap" rel="stylesheet")
|
||||
link(rel='stylesheet' href='/css/style.css')
|
||||
if random == true
|
||||
link(rel='stylesheet' href='/css/papy.css')
|
||||
if random == false || random == null
|
||||
link(rel='stylesheet' href='/css/style.css')
|
||||
meta(name='viewport', content='width=device-width, initial-scale=1.0')
|
||||
body
|
||||
nav.navbar.navbar-expand-lg.navbar-dark.navbarrr.shadow-lg
|
||||
|
|
|
|||
Loading…
Reference in a new issue