mirror of
https://github.com/Expand-sys/ccashfrontend
synced 2025-12-16 23:02:13 +11:00
168 lines
4.3 KiB
JavaScript
168 lines
4.3 KiB
JavaScript
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')
|
|
console.log('Sen was here')
|
|
router.get('/', checkAdmin, function(req, res){
|
|
res.render('adminsettings', {
|
|
user: req.session.user,
|
|
admin: req.session.admin,
|
|
})
|
|
|
|
});
|
|
|
|
|
|
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"});
|
|
}
|
|
//check if 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'})
|
|
}
|
|
let post;
|
|
let successes = [];
|
|
try{
|
|
post = await got.post(process.env.BANKAPIURL+'BankF/admin/user',{
|
|
json:{
|
|
name: name,
|
|
attempt: req.session.adminp,
|
|
init_bal: parseInt(init_bal),
|
|
init_pass: init_pass,
|
|
},
|
|
responseType:'json'
|
|
})
|
|
} catch(err){
|
|
console.log(err)
|
|
}
|
|
if(post.body.value == true){
|
|
successes.push({msg: "Account Creation Successful"})
|
|
}
|
|
}
|
|
res.render('adminsettings',{
|
|
user: req.session.user,
|
|
admin: req.session.admin,
|
|
successes: successes,
|
|
})
|
|
})
|
|
|
|
|
|
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)
|
|
}
|
|
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',{
|
|
user: req.session.user,
|
|
admin: req.session.admin,
|
|
successes: successes,
|
|
errors: errors,
|
|
})
|
|
})
|
|
|
|
|
|
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)
|
|
}
|
|
if(patch.body.value == true){
|
|
successes.push({msg: "Change Funds Successful"})
|
|
}
|
|
res.render('adminsettings',{
|
|
user: req.session.user,
|
|
admin: req.session.admin,
|
|
successes: successes,
|
|
})
|
|
})
|
|
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"})
|
|
}
|
|
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"})
|
|
}
|
|
res.render('adminsettings',{
|
|
user: req.session.user,
|
|
admin: req.session.admin,
|
|
successes: successes,
|
|
errors: errors,
|
|
})
|
|
})
|
|
router.post('/close', checkAdmin, async function(req,res){
|
|
let {attempt} = req.body;
|
|
let close;
|
|
close = got.post(process.env.BANKAPIURL+'BankF/admin/close', {
|
|
json:{
|
|
attempt: attempt,
|
|
},
|
|
responseType:'json'
|
|
})
|
|
res.redirect('../')
|
|
})
|
|
|
|
|
|
|
|
module.exports = router;
|