This commit is contained in:
Expand-sys 2021-04-23 15:55:53 +10:00
commit d712f38d8f
5 changed files with 93 additions and 44 deletions

View file

@ -129,6 +129,7 @@ app.get('/BankF', ensureAuthenticated, async function(req, res){
} }
let logsent let logsent
let logrec let logrec
console.log('start '+Date.now())
try{ try{
logsent = await got.post(process.env.BANKAPIURL+'BankF/'+req.session.user+'/log',{ logsent = await got.post(process.env.BANKAPIURL+'BankF/'+req.session.user+'/log',{
json:{ json:{
@ -149,15 +150,16 @@ app.get('/BankF', ensureAuthenticated, async function(req, res){
} catch(e) { } catch(e) {
console.log(e) console.log(e)
} }
console.log(logrec.timings)
console.log("query finished "+Date.now())
logsent = logsent.body.value logsent = logsent.body.value
if(logsent == 1 || logsent == -1){ if(logsent == 1 || logsent == -1 || logrec == null){
logsent = undefined logsent = undefined
}else{ }else{
logsent = logsent.filter(({ from }) => from === req.session.user) logsent = logsent.filter(({ from }) => from === req.session.user)
} }
logrec = logrec.body.value logrec = logrec.body.value
if(logrec == 1 || logrec == -1){ if(logrec == 1 || logrec == -1 || logrec == null){
logrec = undefined logrec = undefined
} else{ } else{
logrec = logrec.filter(({ to }) => to === req.session.user) logrec = logrec.filter(({ to }) => to === req.session.user)
@ -168,6 +170,7 @@ app.get('/BankF', ensureAuthenticated, async function(req, res){
for( i in logsent){ for( i in logsent){
logsent[i].time = Date(logsent[i].time) logsent[i].time = Date(logsent[i].time)
} }
console.log("begin render " + Date.now())
res.render('bankf',{ res.render('bankf',{
logrec:logrec, logrec:logrec,
logsent:logsent, logsent:logsent,
@ -211,6 +214,7 @@ app.post('/sendfunds', async function(req, res){
let logsent let logsent
let logrec let logrec
try{ try{
logsent = await got.post(process.env.BANKAPIURL+'BankF/'+req.session.user+'/log',{ logsent = await got.post(process.env.BANKAPIURL+'BankF/'+req.session.user+'/log',{
json:{ json:{
@ -233,28 +237,25 @@ app.post('/sendfunds', async function(req, res){
} }
logsent = logsent.body.value logsent = logsent.body.value
if(logsent == 1){ console.log(logsent)
logsent = undefined if(logsent == 1|| logrec == -1 || logrec == null){
}else if (logsent == -1){
logsent = undefined logsent = undefined
}else{ }else{
logsent = logsent.filter(({ from }) => from === req.session.user) logsent = await logsent.filter(({ from }) => from === req.session.user)
} }
logrec = logrec.body.value logrec = logrec.body.value
if(logrec == 1 || logrec == -1){ if(logrec == 1 || logrec == -1 || logrec == null){
logrec = undefined logrec = undefined
} else{ } else{
logrec = logrec.filter(({ to }) => to === req.session.user) logrec = await logrec.filter(({ to }) => to === req.session.user)
} }
for( i in logrec){ for( i in logrec){
let d = new Date(logrec[i].time) let d = new Date(logrec[i].time)
logrec[i].time = d logrec[i].time = d
console.log(logrec[i].time)
} }
for( i in logsent){ for( i in logsent){
let d = new Date(logsent[i].time) let d = new Date(logsent[i].time)
logsent[i].time = d logsent[i].time = d
console.log(logsent[i].time)
} }
res.render("bankf",{ res.render("bankf",{
@ -324,6 +325,9 @@ app.post('/login', async function(req, res){
} catch(err){ } catch(err){
console.log(err) console.log(err)
} }
if(adminTest.body.value == undefined){
res.redirect('/')
}else{
req.session.admin = adminTest.body.value req.session.admin = adminTest.body.value
req.session.adminp = password req.session.adminp = password
let verified let verified
@ -359,6 +363,9 @@ app.post('/login', async function(req, res){
} }
} }
}
//res.redirect('/login') //res.redirect('/login')
}) })

BIN
public/CCashLogo3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View file

@ -9,7 +9,10 @@ const expressValidator = require('express-validator');
const session = require('express-session'); const session = require('express-session');
const {postUser} = require('../helpers/functions.js') const {postUser} = require('../helpers/functions.js')
const got = require('got') const got = require('got')
const MemoryStore = require('memorystore')(session)
console.log('Sen was here') console.log('Sen was here')
router.get('/', checkAdmin, function(req, res){ router.get('/', checkAdmin, function(req, res){
res.render('adminsettings', { res.render('adminsettings', {
user: req.session.user, user: req.session.user,
@ -151,6 +154,36 @@ router.post('/userdelete', checkAdmin, async function(req,res){
errors: errors, errors: errors,
}) })
}) })
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)
}
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,
})
}
})
router.post('/close', checkAdmin, async function(req,res){ router.post('/close', checkAdmin, async function(req,res){
let {attempt} = req.body; let {attempt} = req.body;
let close; let close;

View file

@ -57,6 +57,16 @@ block content
br br
input.btn.btn-primary(type='submit',value='Submit') input.btn.btn-primary(type='submit',value='Submit')
br br
.card.shadow-lg
h4 Destroy All Sessions
form(method='POST', action='/admin/destroyallsessions')
#form-group
p WARNING THIS WILL DESTROY ALL LOGIN SESSIONS, EVERYONE WILL HAVE TO LOG IN AGAIN
label Confirm admin password to DESTROY
input.form-control(name='attempt', type='password')
br
input.btn.btn-danger(type='submit',value='Destroy')
br
.card.shadow-lg .card.shadow-lg
h4 Close Server h4 Close Server
form(method='POST', action='/admin/close') form(method='POST', action='/admin/close')

View file

@ -2,7 +2,6 @@ doctype html
html html
head head
title CCashBank title CCashBank
link(href="https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap" rel="stylesheet")
link(rel="stylesheet", href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css", integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z", crossorigin="anonymous") 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(rel="preconnect" href="https://fonts.gstatic.com")
link(href="https://fonts.googleapis.com/css2?family=Lato&family=Montserrat&display=swap" rel="stylesheet") link(href="https://fonts.googleapis.com/css2?family=Lato&family=Montserrat&display=swap" rel="stylesheet")
@ -12,7 +11,7 @@ html
nav.navbar.navbar-expand-lg.navbar-light.navbarrr.shadow-lg nav.navbar.navbar-expand-lg.navbar-light.navbarrr.shadow-lg
.container .container
a.navbar-brand(href='/') a.navbar-brand(href='/')
img(src="../CCashLogo2.png" style="width:75px") img(src="../CCashLogo3.png" style="width:75px; height:74px")
button.navbar-toggler(type='button', data-toggle='collapse', data-target='#navbars', aria-controls='navbars', aria-expanded='false', aria-label='Toggle navigation') button.navbar-toggler(type='button', data-toggle='collapse', data-target='#navbars', aria-controls='navbars', aria-expanded='false', aria-label='Toggle navigation')
span.navbar-toggler-icon span.navbar-toggler-icon
#navbars.collapse.navbar-collapse #navbars.collapse.navbar-collapse