mirror of
https://github.com/Expand-sys/ccashfrontend
synced 2025-12-18 23:52:14 +11:00
linted som shiz
This commit is contained in:
parent
ae24d51c9a
commit
14561307b9
11 changed files with 903 additions and 880 deletions
|
|
@ -6,7 +6,7 @@ module.exports = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
req.flash('error_msg' , 'admins only');
|
req.flash("error_msg", "admins only");
|
||||||
res.redirect('/');
|
res.redirect("/");
|
||||||
}
|
},
|
||||||
}
|
};
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ module.exports = {
|
||||||
if (req.session.user != undefined) {
|
if (req.session.user != undefined) {
|
||||||
return next();
|
return next();
|
||||||
}
|
}
|
||||||
req.flash('error_msg' , 'please login to view this resource');
|
req.flash("error_msg", "please login to view this resource");
|
||||||
res.redirect('/login');
|
res.redirect("/login");
|
||||||
}
|
},
|
||||||
}
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,19 @@
|
||||||
const got = require('got');
|
const got = require("got");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
async function postUser(name, password) {
|
async function postUser(name, password) {
|
||||||
console.log(process.env.BANKAPIURL)
|
console.log(process.env.BANKAPIURL);
|
||||||
try {
|
try {
|
||||||
const {body} = await got.post(process.env.BANKAPIURL+'BankF/user',{
|
const { body } = await got.post(process.env.BANKAPIURL + "BankF/user", {
|
||||||
json: {
|
json: {
|
||||||
name: name,
|
name: name,
|
||||||
init_pass: password
|
init_pass: password,
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
|
});
|
||||||
})
|
return body;
|
||||||
return body
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module.exports = { postUser };
|
||||||
|
|
||||||
module.exports = { postUser }
|
|
||||||
|
|
|
||||||
499
index.js
499
index.js
|
|
@ -1,90 +1,116 @@
|
||||||
const express = require('express');
|
const express = require("express");
|
||||||
const path = require('path');
|
const path = require("path");
|
||||||
const https = require('https')
|
const https = require("https");
|
||||||
const got = require('got')
|
const got = require("got");
|
||||||
const bodyParser = require('body-parser')
|
const bodyParser = require("body-parser");
|
||||||
const expressValidator = require('express-validator');
|
const expressValidator = require("express-validator");
|
||||||
const flash = require ('connect-flash');
|
const flash = require("connect-flash");
|
||||||
const session = require('express-session');
|
const session = require("express-session");
|
||||||
const {postUser} = require('./helpers/functions.js')
|
const { postUser } = require("./helpers/functions.js");
|
||||||
const {ensureAuthenticated} = require("./config/auth.js")
|
const { ensureAuthenticated } = require("./config/auth.js");
|
||||||
const app = express();
|
const app = express();
|
||||||
const MemoryStore = require('memorystore')(session)
|
const MemoryStore = require("memorystore")(session);
|
||||||
const url = require('url')
|
const url = require("url");
|
||||||
const dotenv = require('dotenv');
|
const dotenv = require("dotenv");
|
||||||
const fs = require('fs');
|
const fs = require("fs");
|
||||||
let Log = require('./schemas/log.js');
|
let Log = require("./schemas/log.js");
|
||||||
const mongoose = require('mongoose')
|
const mongoose = require("mongoose");
|
||||||
dotenv.config();
|
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(flash());
|
||||||
app.use(require('connect-flash')());
|
app.use(require("connect-flash")());
|
||||||
app.use(express.static(path.join(__dirname, 'public')));
|
app.use(express.static(path.join(__dirname, "public")));
|
||||||
app.use(express.json())
|
app.use(express.json());
|
||||||
app.use(bodyParser.urlencoded({
|
app.use(
|
||||||
extended: true
|
bodyParser.urlencoded({
|
||||||
}));
|
extended: true,
|
||||||
|
})
|
||||||
|
);
|
||||||
app.use(function (req, res, next) {
|
app.use(function (req, res, next) {
|
||||||
res.locals.messages = require('express-messages')(req, res);
|
res.locals.messages = require("express-messages")(req, res);
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
app.set('trust proxy', 1) // trust first proxy
|
app.set("trust proxy", 1); // trust first proxy
|
||||||
let secure = false
|
let secure = false;
|
||||||
if(process.env.SECURE=='true'||process.env.SECURE=='True'||process.env.SECURE=='TRUE'){secure = true}
|
if (
|
||||||
let setup = false
|
process.env.SECURE == "true" ||
|
||||||
if(process.env.SETUP=='true'||process.env.SETUP=='True'||process.env.SETUP=='TRUE'){setup=true}
|
process.env.SECURE == "True" ||
|
||||||
app.use(session({
|
process.env.SECURE == "TRUE"
|
||||||
secret: 'fuck shit cunt',
|
) {
|
||||||
|
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,
|
resave: true,
|
||||||
store: new MemoryStore({
|
store: new MemoryStore({
|
||||||
checkPeriod: 86400000 // prune expired entries every 24h
|
checkPeriod: 86400000, // prune expired entries every 24h
|
||||||
}),
|
}),
|
||||||
saveUninitialized: true,
|
saveUninitialized: true,
|
||||||
cookie: { secure: secure, maxAge: 86400000 },
|
cookie: { secure: secure, maxAge: 86400000 },
|
||||||
}))
|
})
|
||||||
app.use(expressValidator({
|
);
|
||||||
|
app.use(
|
||||||
|
expressValidator({
|
||||||
errorFormatter: function (param, msg, value) {
|
errorFormatter: function (param, msg, value) {
|
||||||
var namespace = param.split('.')
|
var namespace = param.split("."),
|
||||||
, root = namespace.shift()
|
root = namespace.shift(),
|
||||||
, formParam = root;
|
formParam = root;
|
||||||
|
|
||||||
while (namespace.length) {
|
while (namespace.length) {
|
||||||
formParam += '[' + namespace.shift() + ']';
|
formParam += "[" + namespace.shift() + "]";
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
param: formParam,
|
param: formParam,
|
||||||
msg: msg,
|
msg: msg,
|
||||||
value : value
|
value: value,
|
||||||
};
|
};
|
||||||
}
|
},
|
||||||
}));
|
})
|
||||||
app.post('/setup', async function(req, res){
|
);
|
||||||
|
app.post("/setup", async function (req, res) {
|
||||||
|
console.log(req.body);
|
||||||
console.log(req.body)
|
|
||||||
let { mongo, url, banksecure, marketplace } = req.body;
|
let { mongo, url, banksecure, marketplace } = req.body;
|
||||||
process.env.MONGO = mongo
|
process.env.MONGO = mongo;
|
||||||
process.env.MARKETPLACE = false
|
process.env.MARKETPLACE = false;
|
||||||
if (marketplace) {
|
if (marketplace) {
|
||||||
process.env.MARKETPLACE = true
|
process.env.MARKETPLACE = true;
|
||||||
}
|
}
|
||||||
if(!url.endsWith('/')){
|
if (!url.endsWith("/")) {
|
||||||
url=url+"/"
|
url = url + "/";
|
||||||
}
|
}
|
||||||
process.env.BANKAPIURL =url
|
process.env.BANKAPIURL = url;
|
||||||
process.env.SECURE = false
|
process.env.SECURE = false;
|
||||||
if (!banksecure) {
|
if (!banksecure) {
|
||||||
banksecure = false
|
banksecure = false;
|
||||||
process.env.SECURE = false
|
process.env.SECURE = false;
|
||||||
}
|
}
|
||||||
process.env.SETUP = 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')
|
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();
|
dotenv.config();
|
||||||
if (process.env.MARKETPLACE) {
|
if (process.env.MARKETPLACE) {
|
||||||
mongoose.connect(process.env.MONGO, {
|
mongoose.connect(process.env.MONGO, {
|
||||||
|
|
@ -94,110 +120,116 @@ app.post('/setup', async function(req, res){
|
||||||
});
|
});
|
||||||
|
|
||||||
let db = mongoose.connection;
|
let db = mongoose.connection;
|
||||||
db.once('open', function(){
|
db.once("open", function () {
|
||||||
console.log('Connected to MongoDB');
|
console.log("Connected to MongoDB");
|
||||||
})
|
});
|
||||||
|
|
||||||
//check for DB errors
|
//check for DB errors
|
||||||
db.on('error', function(err){
|
db.on("error", function (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
res.redirect('/')
|
res.redirect("/");
|
||||||
})
|
});
|
||||||
app.get('/', async function(req, res){
|
app.get("/", async function (req, res) {
|
||||||
if (!process.env.SETUP) {
|
if (!process.env.SETUP) {
|
||||||
res.render('setup')
|
res.render("setup");
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
let checkalive;
|
let checkalive;
|
||||||
try {
|
try {
|
||||||
checkalive = await got(process.env.BANKAPIURL+'BankF/help')
|
checkalive = await got(process.env.BANKAPIURL + "BankF/help");
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
|
|
||||||
}
|
}
|
||||||
let alive = false;
|
let alive = false;
|
||||||
try {
|
try {
|
||||||
if (checkalive.body) {
|
if (checkalive.body) {
|
||||||
alive = true
|
alive = true;
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
res.render('index', {
|
res.render("index", {
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
alive: alive,
|
alive: alive,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
app.get('/BankF', ensureAuthenticated, async function(req, res){
|
app.get("/BankF", ensureAuthenticated, async function (req, res) {
|
||||||
let successes = [];
|
let successes = [];
|
||||||
if (req.session.sucess == true) {
|
if (req.session.sucess == true) {
|
||||||
successes.push({ msg: "Transfer successful"})
|
successes.push({ msg: "Transfer successful" });
|
||||||
}
|
}
|
||||||
let admin
|
let admin;
|
||||||
try {
|
try {
|
||||||
admin = req.session.admin;
|
admin = req.session.admin;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
}
|
}
|
||||||
let balance = 0
|
let balance = 0;
|
||||||
try {
|
try {
|
||||||
balance = await got(process.env.BANKAPIURL+'BankF/'+req.session.user+'/bal')
|
balance = await got(
|
||||||
balance = JSON.parse(balance.body)
|
process.env.BANKAPIURL + "BankF/" + req.session.user + "/bal"
|
||||||
|
);
|
||||||
|
balance = JSON.parse(balance.body);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
}
|
}
|
||||||
let logsent
|
let logsent;
|
||||||
let logrec
|
let logrec;
|
||||||
console.log('start '+Date.now())
|
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: {
|
||||||
attempt: req.session.password
|
attempt: req.session.password,
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
})
|
}
|
||||||
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e);
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
logrec = await got.post(process.env.BANKAPIURL+'BankF/'+req.session.user+'/log',{
|
logrec = await got.post(
|
||||||
|
process.env.BANKAPIURL + "BankF/" + req.session.user + "/log",
|
||||||
|
{
|
||||||
json: {
|
json: {
|
||||||
attempt: req.session.password
|
attempt: req.session.password,
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
})
|
|
||||||
} catch(e) {
|
|
||||||
console.log(e)
|
|
||||||
}
|
}
|
||||||
console.log(logrec.timings)
|
);
|
||||||
console.log("query finished "+Date.now())
|
} catch (e) {
|
||||||
logsent = logsent.body.value
|
console.log(e);
|
||||||
|
}
|
||||||
|
console.log(logrec.timings);
|
||||||
|
console.log("query finished " + Date.now());
|
||||||
|
logsent = logsent.body.value;
|
||||||
|
|
||||||
if (logsent == 1 || logsent == -1 || logsent == null) {
|
if (logsent == 1 || logsent == -1 || logsent == null) {
|
||||||
logsent = undefined
|
logsent = undefined;
|
||||||
} else {
|
} else {
|
||||||
logsent = await 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 || logrec === null) {
|
if (logrec === 1 || logrec === -1 || logrec === null) {
|
||||||
logrec = undefined
|
logrec = undefined;
|
||||||
} else {
|
} else {
|
||||||
logrec = await logrec.filter(({ to }) => to === req.session.user)
|
logrec = await logrec.filter(({ to }) => to === req.session.user);
|
||||||
}
|
}
|
||||||
for (i in logrec) {
|
for (i in logrec) {
|
||||||
logrec[i].time = Date(logrec[i].time)
|
logrec[i].time = Date(logrec[i].time);
|
||||||
}
|
}
|
||||||
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())
|
console.log("begin render " + Date.now());
|
||||||
res.render('bankf',{
|
res.render("bankf", {
|
||||||
logrec: logrec,
|
logrec: logrec,
|
||||||
logsent: logsent,
|
logsent: logsent,
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
|
|
@ -205,88 +237,94 @@ app.get('/BankF', ensureAuthenticated, async function(req, res){
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
sucesses: successes,
|
sucesses: successes,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
app.post("/sendfunds", async function (req, res) {
|
||||||
app.post('/sendfunds', async function(req, res){
|
|
||||||
let balance = 0;
|
let balance = 0;
|
||||||
try {
|
try {
|
||||||
balance = await got(process.env.BANKAPIURL+'BankF/'+req.session.user+'/bal')
|
balance = await got(
|
||||||
balance = JSON.parse(balance.body)
|
process.env.BANKAPIURL + "BankF/" + req.session.user + "/bal"
|
||||||
|
);
|
||||||
|
balance = JSON.parse(balance.body);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
}
|
}
|
||||||
let {amount, name, senderpass} = req.body
|
let { amount, name, senderpass } = req.body;
|
||||||
let a_name = req.session.user
|
let a_name = req.session.user;
|
||||||
let successes = [];
|
let successes = [];
|
||||||
let errors = [];
|
let errors = [];
|
||||||
let result = {}
|
let result = {};
|
||||||
result = await got.post(process.env.BANKAPIURL+'BankF/sendfunds',{
|
result = await got.post(process.env.BANKAPIURL + "BankF/sendfunds", {
|
||||||
json: {
|
json: {
|
||||||
a_name: a_name,
|
a_name: a_name,
|
||||||
b_name: name,
|
b_name: name,
|
||||||
amount: parseInt(amount),
|
amount: parseInt(amount),
|
||||||
attempt: senderpass
|
attempt: senderpass,
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
})
|
});
|
||||||
if (result.body.value == true || result.body.value) {
|
if (result.body.value == true || result.body.value) {
|
||||||
req.session.success = true;
|
req.session.success = true;
|
||||||
//post details
|
//post details
|
||||||
res.redirect('/BankF')
|
res.redirect("/BankF");
|
||||||
} else {
|
} else {
|
||||||
errors.push({msg: "Transfer Unsuccessful"})
|
errors.push({ msg: "Transfer Unsuccessful" });
|
||||||
|
|
||||||
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: {
|
||||||
attempt: req.session.password
|
attempt: req.session.password,
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
})
|
}
|
||||||
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e);
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
logrec = await got.post(process.env.BANKAPIURL+'BankF/'+req.session.user+'/log',{
|
logrec = await got.post(
|
||||||
|
process.env.BANKAPIURL + "BankF/" + req.session.user + "/log",
|
||||||
|
{
|
||||||
json: {
|
json: {
|
||||||
attempt: req.session.password
|
attempt: req.session.password,
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
})
|
}
|
||||||
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
logsent = logsent.body.value
|
logsent = logsent.body.value;
|
||||||
console.log(logsent)
|
console.log(logsent);
|
||||||
if (logsent == 1 || logsent == -1 || logsent == null) {
|
if (logsent == 1 || logsent == -1 || logsent == null) {
|
||||||
logsent = undefined
|
logsent = undefined;
|
||||||
} else {
|
} else {
|
||||||
logsent = await 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 || logrec == null) {
|
if (logrec == 1 || logrec == -1 || logrec == null) {
|
||||||
logrec = undefined
|
logrec = undefined;
|
||||||
} else {
|
} else {
|
||||||
logrec = await 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;
|
||||||
}
|
}
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
res.render("bankf", {
|
res.render("bankf", {
|
||||||
|
|
||||||
logsent: logsent,
|
logsent: logsent,
|
||||||
logrec: logrec,
|
logrec: logrec,
|
||||||
errors: errors,
|
errors: errors,
|
||||||
|
|
@ -294,16 +332,16 @@ app.post('/sendfunds', async function(req, res){
|
||||||
balance: balance.value,
|
balance: balance.value,
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
|
||||||
app.post('/register', async function(req, res){
|
app.post("/register", async function (req, res) {
|
||||||
var { name, password, password2 } = req.body;
|
var { name, password, password2 } = req.body;
|
||||||
|
|
||||||
let checkuser = await got(process.env.BANKAPIURL+'BankF/contains/'+name)
|
let checkuser = await got(process.env.BANKAPIURL + "BankF/contains/" + name);
|
||||||
checkuser = JSON.parse(checkuser.body).value
|
checkuser = JSON.parse(checkuser.body).value;
|
||||||
let errors = [];
|
let errors = [];
|
||||||
let successes = [];
|
let successes = [];
|
||||||
if (checkuser == false) {
|
if (checkuser == false) {
|
||||||
|
|
@ -314,136 +352,125 @@ app.post('/register', async function(req, res){
|
||||||
errors.push({ msg: "Passwords don't match" });
|
errors.push({ msg: "Passwords don't match" });
|
||||||
}
|
}
|
||||||
if (password.length < 6) {
|
if (password.length < 6) {
|
||||||
errors.push({msg : 'Password must be at least 6 characters'})
|
errors.push({ msg: "Password must be at least 6 characters" });
|
||||||
}
|
}
|
||||||
if (errors[0]) {
|
if (errors[0]) {
|
||||||
res.render('register', {
|
res.render("register", {
|
||||||
errors: errors,
|
errors: errors,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
} else {
|
} else {
|
||||||
if (postUser(name, password)) {
|
if (postUser(name, password)) {
|
||||||
successes.push({msg:"User Registered Please Log In"})
|
successes.push({ msg: "User Registered Please Log In" });
|
||||||
res.render('login',{
|
res.render("login", {
|
||||||
errors: errors,
|
errors: errors,
|
||||||
successes: successes,
|
successes: successes,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
errors.push({msg: "User already exists"})
|
errors.push({ msg: "User already exists" });
|
||||||
res.render('register',{
|
res.render("register", {
|
||||||
errors: errors,
|
errors: errors,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
|
||||||
app.post('/login', async function(req, res){
|
app.post("/login", async function (req, res) {
|
||||||
if (req.session.user) {
|
if (req.session.user) {
|
||||||
res.redirect("/")
|
res.redirect("/");
|
||||||
}
|
}
|
||||||
let {name,password} = req.body
|
let { name, password } = req.body;
|
||||||
let adminTest;
|
let adminTest;
|
||||||
let errors = [];
|
let errors = [];
|
||||||
try {
|
try {
|
||||||
adminTest = await got.post(process.env.BANKAPIURL+'BankF/admin/vpass',{
|
adminTest = await got.post(process.env.BANKAPIURL + "BankF/admin/vpass", {
|
||||||
json: {
|
json: {
|
||||||
attempt: password,
|
attempt: password,
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
})
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
}
|
}
|
||||||
req.session.password = password
|
req.session.password = password;
|
||||||
if (adminTest.body.value == undefined) {
|
if (adminTest.body.value == undefined) {
|
||||||
res.redirect('/')
|
res.redirect("/");
|
||||||
} else {
|
} 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;
|
||||||
try {
|
try {
|
||||||
verified = await got.post(process.env.BANKAPIURL+'BankF/vpass', {
|
verified = await got.post(process.env.BANKAPIURL + "BankF/vpass", {
|
||||||
json: {
|
json: {
|
||||||
name: name,
|
name: name,
|
||||||
attempt: password
|
attempt: password,
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
|
});
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
} finally {
|
} finally {
|
||||||
console.log(verified.body.value)
|
console.log(verified.body.value);
|
||||||
if (verified.body.value == 0) {
|
if (verified.body.value == 0) {
|
||||||
errors.push({msg: 'Password wrong'})
|
errors.push({ msg: "Password wrong" });
|
||||||
res.render('login',{
|
res.render("login", {
|
||||||
errors: errors,
|
errors: errors,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
} else if (verified.body.value == 1) {
|
} else if (verified.body.value == 1) {
|
||||||
req.session.user = name;
|
req.session.user = name;
|
||||||
req.session.password = password
|
req.session.password = password;
|
||||||
res.redirect('/BankF')
|
res.redirect("/BankF");
|
||||||
} else {
|
} else {
|
||||||
errors.push({msg: 'User not found'})
|
errors.push({ msg: "User not found" });
|
||||||
res.render('login',{
|
res.render("login", {
|
||||||
errors: errors,
|
errors: errors,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//res.redirect('/login')
|
//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){
|
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) {
|
req.session.regenerate(function (err) {
|
||||||
res.render('login', {
|
res.render("login", {
|
||||||
|
marketplace: process.env.MARKETPLACE,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get("/login", function (req, res) {
|
||||||
|
req.session.regenerate(function (err) {
|
||||||
|
res.render("login", {
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/register', function(req, res){
|
app.get("/register", function (req, res) {
|
||||||
res.render('register', {
|
res.render("register", {
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
app.listen(process.env.PORT || 3000, function () {
|
app.listen(process.env.PORT || 3000, function () {
|
||||||
console.log('Server started on port 3000...');
|
console.log("Server started on port 3000...");
|
||||||
});
|
});
|
||||||
|
|
|
||||||
289
routes/admin.js
289
routes/admin.js
|
|
@ -1,26 +1,22 @@
|
||||||
const express = require('express');
|
const express = require("express");
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
const path = require('path');
|
const path = require("path");
|
||||||
const {ensureAuthenticated} = require("../config/auth.js")
|
const { ensureAuthenticated } = require("../config/auth.js");
|
||||||
const {checkAdmin} = require ("../config/admin.js")
|
const { checkAdmin } = require("../config/admin.js");
|
||||||
const pug = require('pug');
|
const pug = require("pug");
|
||||||
const flash = require ('connect-flash');
|
const flash = require("connect-flash");
|
||||||
const expressValidator = require('express-validator');
|
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)
|
const MemoryStore = require("memorystore")(session);
|
||||||
const fs = require('fs');
|
const fs = require("fs");
|
||||||
const mongoose = require('mongoose')
|
const mongoose = require("mongoose");
|
||||||
console.log('Sen was here')
|
console.log("Sen was here");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function mongo() {
|
function mongo() {
|
||||||
if (process.env.MONGO) {
|
if (process.env.MONGO) {
|
||||||
console.log(process.env.MONGO)
|
console.log(process.env.MONGO);
|
||||||
mongoose.connect(process.env.MONGO, {
|
mongoose.connect(process.env.MONGO, {
|
||||||
useNewUrlParser: true,
|
useNewUrlParser: true,
|
||||||
useUnifiedTopology: true,
|
useUnifiedTopology: true,
|
||||||
|
|
@ -28,43 +24,36 @@ function mongo(){
|
||||||
});
|
});
|
||||||
|
|
||||||
let db = mongoose.connection;
|
let db = mongoose.connection;
|
||||||
db.once('open', function(){
|
db.once("open", function () {
|
||||||
console.log('Connected to MongoDB');
|
console.log("Connected to MongoDB");
|
||||||
})
|
});
|
||||||
|
|
||||||
//check for DB errors
|
//check for DB errors
|
||||||
db.on('error', function(err){
|
db.on("error", function (err) {
|
||||||
console.log(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,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.post("/user", checkAdmin, async function (req, res) {
|
||||||
router.post('/user',checkAdmin , async function(req,res){
|
let { name, init_pass, init_bal, password2 } = req.body;
|
||||||
let {name, init_pass, init_bal, password2} = req.body
|
let contains = await got(process.env.BANKAPIURL + "BankF/contains/" + name);
|
||||||
let contains = await got(process.env.BANKAPIURL+'BankF/contains/'+name)
|
contains = JSON.parse(contains.body).value;
|
||||||
contains = JSON.parse(contains.body).value
|
|
||||||
let errors = [];
|
let errors = [];
|
||||||
let successes = [];
|
let successes = [];
|
||||||
if (contains == true) {
|
if (contains == true) {
|
||||||
errors.push({msg: 'User already exists'})
|
errors.push({ msg: "User already exists" });
|
||||||
res.render('adminsettings',{
|
res.render("adminsettings", {
|
||||||
errors:errors
|
errors: errors,
|
||||||
})
|
});
|
||||||
} else {
|
} else {
|
||||||
if (!name || !init_pass || !init_bal || !password2) {
|
if (!name || !init_pass || !init_bal || !password2) {
|
||||||
errors.push({ msg: "please fill in all fields" });
|
errors.push({ msg: "please fill in all fields" });
|
||||||
|
|
@ -76,193 +65,221 @@ router.post('/user',checkAdmin , async function(req,res){
|
||||||
|
|
||||||
//check if password is more than 6 characters
|
//check if password is more than 6 characters
|
||||||
if (init_pass.length < 6) {
|
if (init_pass.length < 6) {
|
||||||
errors.push({msg : 'Password must be at least 6 characters'})
|
errors.push({ msg: "Password must be at least 6 characters" });
|
||||||
}
|
}
|
||||||
let post;
|
let post;
|
||||||
let successes = [];
|
let successes = [];
|
||||||
try {
|
try {
|
||||||
post = await got.post(process.env.BANKAPIURL+'BankF/admin/user',{
|
post = await got.post(process.env.BANKAPIURL + "BankF/admin/user", {
|
||||||
json: {
|
json: {
|
||||||
name: name,
|
name: name,
|
||||||
attempt: req.session.adminp,
|
attempt: req.session.adminp,
|
||||||
init_bal: parseInt(init_bal),
|
init_bal: parseInt(init_bal),
|
||||||
init_pass: init_pass,
|
init_pass: init_pass,
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
})
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
}
|
}
|
||||||
if (post.body.value == true) {
|
if (post.body.value == true) {
|
||||||
successes.push({msg: "Account Creation Successful"})
|
successes.push({ msg: "Account Creation Successful" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
res.render('adminsettings',{
|
res.render("adminsettings", {
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
successes: successes,
|
successes: successes,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
|
|
||||||
|
router.post("/baluser", checkAdmin, async function (req, res) {
|
||||||
router.post('/baluser',checkAdmin , async function(req,res){
|
let { name } = req.body;
|
||||||
let {name} = req.body
|
|
||||||
let balance;
|
let balance;
|
||||||
let successes = [];
|
let successes = [];
|
||||||
let errors = [];
|
let errors = [];
|
||||||
try {
|
try {
|
||||||
balance = await got(process.env.BANKAPIURL+'BankF/'+name+'/bal')
|
balance = await got(process.env.BANKAPIURL + "BankF/" + name + "/bal");
|
||||||
balance = JSON.parse(balance.body)
|
balance = JSON.parse(balance.body);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
}
|
}
|
||||||
if (balance.value == -1 || balance.value == undefined) {
|
if (balance.value == -1 || balance.value == undefined) {
|
||||||
errors.push({msg: "User not found"})
|
errors.push({ msg: "User not found" });
|
||||||
} else {
|
} else {
|
||||||
successes.push({msg: "User: "+name+" has "+balance.value+" monies"})
|
successes.push({
|
||||||
|
msg: "User: " + name + " has " + balance.value + " monies",
|
||||||
|
});
|
||||||
}
|
}
|
||||||
res.render('adminsettings',{
|
res.render("adminsettings", {
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
successes: successes,
|
successes: successes,
|
||||||
errors: errors,
|
errors: errors,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
|
|
||||||
|
router.post("/bal", checkAdmin, async function (req, res) {
|
||||||
router.post('/bal',checkAdmin , async function(req,res){
|
let { name, amount } = req.body;
|
||||||
let {name, amount} = req.body
|
|
||||||
let patch;
|
let patch;
|
||||||
let successes = [];
|
let successes = [];
|
||||||
try {
|
try {
|
||||||
patch = await got.patch(process.env.BANKAPIURL+'BankF/admin/'+name+'/bal',{
|
patch = await got.patch(
|
||||||
|
process.env.BANKAPIURL + "BankF/admin/" + name + "/bal",
|
||||||
|
{
|
||||||
json: {
|
json: {
|
||||||
name: name,
|
name: name,
|
||||||
attempt: req.session.adminp,
|
attempt: req.session.adminp,
|
||||||
amount: parseInt(amount),
|
amount: parseInt(amount),
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
})
|
}
|
||||||
|
);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
}
|
}
|
||||||
if (patch.body.value == true) {
|
if (patch.body.value == true) {
|
||||||
successes.push({msg: "Change Funds Successful"})
|
successes.push({ msg: "Change Funds Successful" });
|
||||||
}
|
}
|
||||||
res.render('adminsettings',{
|
res.render("adminsettings", {
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
successes: successes,
|
successes: successes,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
router.post('/userdelete', checkAdmin, async function(req,res){
|
router.post("/userdelete", checkAdmin, async function (req, res) {
|
||||||
let {name, attempt} = req.body
|
let { name, attempt } = req.body;
|
||||||
console.log(name)
|
console.log(name);
|
||||||
let contains = await got(process.env.BANKAPIURL+'BankF/contains/'+name)
|
let contains = await got(process.env.BANKAPIURL + "BankF/contains/" + name);
|
||||||
contains = JSON.parse(contains.body).value
|
contains = JSON.parse(contains.body).value;
|
||||||
let deleteUser;
|
let deleteUser;
|
||||||
let successes = [];
|
let successes = [];
|
||||||
let errors = [];
|
let errors = [];
|
||||||
if (attempt != req.session.adminp) {
|
if (attempt != req.session.adminp) {
|
||||||
errors.push({msg:"Wrong Admin Password"})
|
errors.push({ msg: "Wrong Admin Password" });
|
||||||
}
|
}
|
||||||
console.log(contains)
|
console.log(contains);
|
||||||
if (contains == true) {
|
if (contains == true) {
|
||||||
deleteUser = got.delete(process.env.BANKAPIURL+'BankF/admin/user',{
|
deleteUser = got.delete(process.env.BANKAPIURL + "BankF/admin/user", {
|
||||||
json: {
|
json: {
|
||||||
name: name,
|
name: name,
|
||||||
attempt: attempt,
|
attempt: attempt,
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
})
|
});
|
||||||
successes.push({msg: "User Deletion Successful"})
|
successes.push({ msg: "User Deletion Successful" });
|
||||||
} else {
|
} else {
|
||||||
errors.push({msg: "User Deletion Failed, User Not Found"})
|
errors.push({ msg: "User Deletion Failed, User Not Found" });
|
||||||
}
|
}
|
||||||
res.render('adminsettings',{
|
res.render("adminsettings", {
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
successes: successes,
|
successes: successes,
|
||||||
errors: errors,
|
errors: errors,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
router.post('/destroyallsessions', checkAdmin, async function(req,res) {
|
router.post("/destroyallsessions", checkAdmin, async function (req, res) {
|
||||||
let { attempt } = req.body;
|
let { attempt } = req.body;
|
||||||
let adminTest
|
let adminTest;
|
||||||
let errors = []
|
let errors = [];
|
||||||
try {
|
try {
|
||||||
adminTest = await got.post(process.env.BANKAPIURL+'BankF/admin/vpass',{
|
adminTest = await got.post(process.env.BANKAPIURL + "BankF/admin/vpass", {
|
||||||
json: {
|
json: {
|
||||||
attempt: attempt,
|
attempt: attempt,
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
})
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
}
|
}
|
||||||
console.log(adminTest.body.value)
|
console.log(adminTest.body.value);
|
||||||
if (adminTest) {
|
if (adminTest) {
|
||||||
req.sessionStore.clear(function (err) {
|
req.sessionStore.clear(function (err) {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
})
|
});
|
||||||
res.redirect('/')
|
res.redirect("/");
|
||||||
} else {
|
} else {
|
||||||
errors.push({msg: "failed admin password check"})
|
errors.push({ msg: "failed admin password check" });
|
||||||
res.render("adminsettings", {
|
res.render("adminsettings", {
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
errors: errors,
|
errors: errors,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
})
|
router.post("/changebackend", checkAdmin, async function (req, res) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
router.post('/changebackend', checkAdmin, async function(req,res){
|
|
||||||
let { url } = req.body;
|
let { url } = req.body;
|
||||||
if(!url.endsWith('/')){
|
if (!url.endsWith("/")) {
|
||||||
url = url+'/'
|
url = url + "/";
|
||||||
}
|
}
|
||||||
process.env.BANKAPIURL = 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')
|
fs.writeFileSync(
|
||||||
res.redirect('../')
|
".env",
|
||||||
})
|
"BANKAPIURL=" +
|
||||||
router.post('/mongodb', checkAdmin, async function(req,res){
|
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;
|
let { url } = req.body;
|
||||||
process.env.MONGO = url
|
process.env.MONGO = url;
|
||||||
|
|
||||||
if (process.env.MONGO.length < 3) {
|
if (process.env.MONGO.length < 3) {
|
||||||
process.env.MARKETPLACE = false
|
process.env.MARKETPLACE = false;
|
||||||
console.log("false")
|
console.log("false");
|
||||||
}else { process.env.MARKETPLACE = true;console.log("true")}
|
} else {
|
||||||
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.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 {
|
try {
|
||||||
mongo()
|
mongo();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
res.redirect('../')
|
res.redirect("../");
|
||||||
})
|
});
|
||||||
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;
|
||||||
close = got.post(process.env.BANKAPIURL+'BankF/admin/close', {
|
close = got.post(process.env.BANKAPIURL + "BankF/admin/close", {
|
||||||
json: {
|
json: {
|
||||||
attempt: attempt,
|
attempt: attempt,
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
})
|
});
|
||||||
res.redirect('../')
|
res.redirect("../");
|
||||||
})
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module.exports = router;
|
module.exports = router;
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,16 @@
|
||||||
const express = require('express')
|
const express = require("express");
|
||||||
const router = express.Router()
|
const router = express.Router();
|
||||||
const bodyParser = require('body-parser')
|
const bodyParser = require("body-parser");
|
||||||
const session = require('express-session');
|
const session = require("express-session");
|
||||||
const mongoose = require('mongoose')
|
const mongoose = require("mongoose");
|
||||||
const dotenv = require('dotenv');
|
const dotenv = require("dotenv");
|
||||||
const got = require('got');
|
const got = require("got");
|
||||||
const {ensureAuthenticated} = require("../config/auth.js")
|
const { ensureAuthenticated } = require("../config/auth.js");
|
||||||
let db
|
let db;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function mongo() {
|
function mongo() {
|
||||||
if (process.env.MONGO) {
|
if (process.env.MONGO) {
|
||||||
console.log(process.env.MONGO)
|
console.log(process.env.MONGO);
|
||||||
mongoose.connect(process.env.MONGO, {
|
mongoose.connect(process.env.MONGO, {
|
||||||
useNewUrlParser: true,
|
useNewUrlParser: true,
|
||||||
useUnifiedTopology: true,
|
useUnifiedTopology: true,
|
||||||
|
|
@ -20,205 +18,196 @@ function mongo(){
|
||||||
});
|
});
|
||||||
|
|
||||||
let db = mongoose.connection;
|
let db = mongoose.connection;
|
||||||
db.once('open', function(){
|
db.once("open", function () {
|
||||||
console.log('Connected to MongoDB');
|
console.log("Connected to MongoDB");
|
||||||
})
|
});
|
||||||
|
|
||||||
//check for DB errors
|
//check for DB errors
|
||||||
db.on('error', function(err){
|
db.on("error", function (err) {
|
||||||
console.log(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')
|
router.all("*", function (req, res, next) {
|
||||||
let Listing = require('../schemas/listing')
|
|
||||||
let Inventory = require('../schemas/inventory')
|
|
||||||
|
|
||||||
router.all('*', function(req, res, next) {
|
|
||||||
console.log(req.method, req.url);
|
console.log(req.method, req.url);
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/', function(req, res) {
|
router.get("/", function (req, res) {
|
||||||
let columns = [0,1,2,3]
|
let columns = [0, 1, 2, 3];
|
||||||
Item.find({}, function (err, items) {
|
Item.find({}, function (err, items) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
} else {
|
} else {
|
||||||
res.render('marketplace', {
|
res.render("marketplace", {
|
||||||
columns: columns,
|
columns: columns,
|
||||||
items: items,
|
items: items,
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.get("/marketdash", ensureAuthenticated, function (req, res) {
|
||||||
router.get('/marketdash', ensureAuthenticated, function(req,res){
|
Inventory.findOne({ user: req.session.user }, async function (
|
||||||
Inventory.findOne({user:req.session.user}, async function(err, inventory){
|
err,
|
||||||
|
inventory
|
||||||
|
) {
|
||||||
if (!inventory) {
|
if (!inventory) {
|
||||||
let newinv = new Inventory;
|
let newinv = new Inventory();
|
||||||
newinv.user = req.session.user
|
newinv.user = req.session.user;
|
||||||
newinv.save(function (err) {
|
newinv.save(function (err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
console.log("created new inventory for "+req.session.user)
|
console.log("created new inventory for " + req.session.user);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
res.render('marketdash',{
|
res.render("marketdash", {
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
inventory: inventory,
|
inventory: inventory,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
router.get("/:id", function (req, res) {
|
||||||
})
|
|
||||||
|
|
||||||
router.get('/:id',function(req, res){
|
|
||||||
Item.findById(req.params.id, function (err, item) {
|
Item.findById(req.params.id, function (err, item) {
|
||||||
Listing.find({ foreignid: req.params.id }, function (err, listings) {
|
Listing.find({ foreignid: req.params.id }, function (err, listings) {
|
||||||
console.log(listings)
|
console.log(listings);
|
||||||
|
|
||||||
|
res.render("item", {
|
||||||
res.render('item', {
|
|
||||||
listings: listings,
|
listings: listings,
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
item: item,
|
item: item,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
})
|
|
||||||
});
|
});
|
||||||
})
|
|
||||||
|
|
||||||
router.get('/:id/list',ensureAuthenticated, function(req,res){
|
router.get("/:id/list", ensureAuthenticated, function (req, res) {
|
||||||
Item.findById(req.params.id, function (err, item) {
|
Item.findById(req.params.id, function (err, item) {
|
||||||
res.render('itemlist', {
|
res.render("itemlist", {
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
item: item,
|
item: item,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
})
|
});
|
||||||
router.get('/:id/buy',ensureAuthenticated, function(req,res){
|
router.get("/:id/buy", ensureAuthenticated, function (req, res) {
|
||||||
Listing.find({ foreignid: req.params.id }, function (err, listings) {
|
Listing.find({ foreignid: req.params.id }, function (err, listings) {
|
||||||
console.log(listings)
|
console.log(listings);
|
||||||
|
|
||||||
|
res.render("itembuy", {
|
||||||
res.render('itembuy', {
|
|
||||||
listings: listings,
|
listings: listings,
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
})
|
|
||||||
|
|
||||||
|
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();
|
let listing = new Listing();
|
||||||
listing.itemId = item.itemId
|
listing.itemId = item.itemId;
|
||||||
listing.meta = item.meta
|
listing.meta = item.meta;
|
||||||
listing.name = item.name
|
listing.name = item.name;
|
||||||
listing.foreignid = item._id
|
listing.foreignid = item._id;
|
||||||
listing.price = body.price
|
listing.price = body.price;
|
||||||
listing.amount = body.amount
|
listing.amount = body.amount;
|
||||||
listing.seller = req.session.user
|
listing.seller = req.session.user;
|
||||||
listing.save(function (err) {
|
listing.save(function (err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
console.log("added "+ listing.name+" from "+listing.seller)
|
console.log("added " + listing.name + " from " + listing.seller);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
let inventory = await Inventory.findOne({user:req.session.user}).exec()
|
let inventory = await Inventory.findOne({ user: req.session.user }).exec();
|
||||||
if (inventory == null) {
|
if (inventory == null) {
|
||||||
let newinv = new Inventory;
|
let newinv = new Inventory();
|
||||||
newinv.user = req.session.user
|
newinv.user = req.session.user;
|
||||||
newinv.listings = listing;
|
newinv.listings = listing;
|
||||||
newinv.save(function (err) {
|
newinv.save(function (err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
console.log("created new inventory for "+req.session.user)
|
console.log("created new inventory for " + req.session.user);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
} else {
|
} else {
|
||||||
inventory.listings.push(listing)
|
inventory.listings.push(listing);
|
||||||
inventory.save(function (err) {
|
inventory.save(function (err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
console.log("pushed new listing")
|
console.log("pushed new listing");
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
res.redirect('/marketplace/marketdash')
|
res.redirect("/marketplace/marketdash");
|
||||||
})
|
});
|
||||||
router.post('/:id/buy',async function(req, res){
|
router.post("/:id/buy", async function (req, res) {
|
||||||
Listing.findOne({ _id: req.params.id }, async function (err, listing) {
|
Listing.findOne({ _id: req.params.id }, async function (err, listing) {
|
||||||
|
let inventory = await Inventory.findOne({ user: req.session.user }).exec();
|
||||||
let inventory = await Inventory.findOne({user:req.session.user}).exec()
|
|
||||||
if (inventory == null) {
|
if (inventory == null) {
|
||||||
let newinv = new Inventory;
|
let newinv = new Inventory();
|
||||||
newinv.user = req.session.user
|
newinv.user = req.session.user;
|
||||||
newinv.purchases = listing;
|
newinv.purchases = listing;
|
||||||
newinv.save(function (err) {
|
newinv.save(function (err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
console.log("created new inventory for "+req.session.user)
|
console.log("created new inventory for " + req.session.user);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
} else {
|
} else {
|
||||||
inventory.purchases.push(listing)
|
inventory.purchases.push(listing);
|
||||||
inventory.save(function (err) {
|
inventory.save(function (err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
console.log("pushed new purchase")
|
console.log("pushed new purchase");
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
Listing.findOneAndRemove({_id:req.params.id}).exec()
|
Listing.findOneAndRemove({ _id: req.params.id }).exec();
|
||||||
transfer = got.post(process.env.BANKAPIURL+'BankF/sendfunds',{
|
transfer = got.post(process.env.BANKAPIURL + "BankF/sendfunds", {
|
||||||
json: {
|
json: {
|
||||||
a_name: req.session.user,
|
a_name: req.session.user,
|
||||||
b_name: listing.seller,
|
b_name: listing.seller,
|
||||||
amount: parseInt(listing.amount * listing.price),
|
amount: parseInt(listing.amount * listing.price),
|
||||||
attempt: req.session.password
|
attempt: req.session.password,
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
})
|
});
|
||||||
res.redirect("/marketplace/marketdash")
|
res.redirect("/marketplace/marketdash");
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
|
|
||||||
// this thingy here populates the database with minecraft items only use once otherwise you are gonna flood your database
|
// 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){
|
/*router.get('/populatedb', async function(req,res){
|
||||||
|
|
@ -242,7 +231,4 @@ router.post('/:id/buy',async function(req, res){
|
||||||
}
|
}
|
||||||
})*/
|
})*/
|
||||||
|
|
||||||
|
module.exports = router;
|
||||||
|
|
||||||
|
|
||||||
module.exports = router
|
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,24 @@
|
||||||
const express = require('express');
|
const express = require("express");
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
const path = require('path');
|
const path = require("path");
|
||||||
const {ensureAuthenticated} = require("../config/auth.js")
|
const { ensureAuthenticated } = require("../config/auth.js");
|
||||||
const {checkAdmin} = require ("../config/admin.js")
|
const { checkAdmin } = require("../config/admin.js");
|
||||||
var pug = require('pug');
|
var pug = require("pug");
|
||||||
const flash = require ('connect-flash');
|
const flash = require("connect-flash");
|
||||||
const expressValidator = require('express-validator');
|
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");
|
||||||
|
|
||||||
router.get('/',ensureAuthenticated , function(req, res){
|
router.get("/", ensureAuthenticated, function (req, res) {
|
||||||
res.render('settings', {
|
res.render("settings", {
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
})
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
router.post('/pass', ensureAuthenticated, async function(req, res){
|
router.post("/pass", ensureAuthenticated, async function (req, res) {
|
||||||
let {attempt, new_pass, password2} = req.body
|
let { attempt, new_pass, password2 } = req.body;
|
||||||
let patch;
|
let patch;
|
||||||
let successes = [];
|
let successes = [];
|
||||||
let errors = [];
|
let errors = [];
|
||||||
|
|
@ -33,43 +32,39 @@ router.post('/pass', ensureAuthenticated, async function(req, res){
|
||||||
|
|
||||||
//check if password is more than 6 characters
|
//check if password is more than 6 characters
|
||||||
if (new_pass.length < 6) {
|
if (new_pass.length < 6) {
|
||||||
errors.push({msg : 'Password must be at least 6 characters'})
|
errors.push({ msg: "Password must be at least 6 characters" });
|
||||||
}
|
}
|
||||||
if (errors[0]) {
|
if (errors[0]) {
|
||||||
res.render('settings', {
|
res.render("settings", {
|
||||||
errors: errors,
|
errors: errors,
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
patch = await got.patch('https://ccash.ryzerth.com/BankF/changepass',{
|
patch = await got.patch("https://ccash.ryzerth.com/BankF/changepass", {
|
||||||
json: {
|
json: {
|
||||||
name: req.session.user,
|
name: req.session.user,
|
||||||
attempt: attempt,
|
attempt: attempt,
|
||||||
new_pass: new_pass,
|
new_pass: new_pass,
|
||||||
},
|
},
|
||||||
responseType:'json'
|
responseType: "json",
|
||||||
})
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
}
|
}
|
||||||
console.log(patch)
|
console.log(patch);
|
||||||
if (patch.body.value == true) {
|
if (patch.body.value == true) {
|
||||||
successes.push({msg: "Change Password Successful, Please Login Again"})
|
successes.push({ msg: "Change Password Successful, Please Login Again" });
|
||||||
}
|
}
|
||||||
req.session.regenerate(function (err) {
|
req.session.regenerate(function (err) {
|
||||||
res.render('login', {
|
res.render("login", {
|
||||||
successes: successes,
|
successes: successes,
|
||||||
errors: errors,
|
errors: errors,
|
||||||
marketplace: process.env.MARKETPLACE
|
marketplace: process.env.MARKETPLACE,
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module.exports = router;
|
module.exports = router;
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,24 @@
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require("mongoose");
|
||||||
const Listing = require("./listing.js")
|
const Listing = require("./listing.js");
|
||||||
|
|
||||||
|
|
||||||
const InventorySchema = mongoose.Schema({
|
const InventorySchema = mongoose.Schema({
|
||||||
user: {
|
user: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
listings:[{
|
listings: [
|
||||||
|
{
|
||||||
itemId: {
|
itemId: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
meta: {
|
meta: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: false
|
required: false,
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true,
|
||||||
},
|
},
|
||||||
foreignid: {
|
foreignid: {
|
||||||
type: String,
|
type: String,
|
||||||
|
|
@ -26,29 +26,31 @@ const InventorySchema = mongoose.Schema({
|
||||||
},
|
},
|
||||||
price: {
|
price: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true,
|
||||||
},
|
},
|
||||||
amount: {
|
amount: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required:true
|
required: true,
|
||||||
},
|
},
|
||||||
seller: {
|
seller: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: true,
|
||||||
}
|
},
|
||||||
}],
|
},
|
||||||
purchases:[{
|
],
|
||||||
|
purchases: [
|
||||||
|
{
|
||||||
itemId: {
|
itemId: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
meta: {
|
meta: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: false
|
required: false,
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true,
|
||||||
},
|
},
|
||||||
foreignid: {
|
foreignid: {
|
||||||
type: String,
|
type: String,
|
||||||
|
|
@ -56,17 +58,21 @@ const InventorySchema = mongoose.Schema({
|
||||||
},
|
},
|
||||||
price: {
|
price: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true,
|
||||||
},
|
},
|
||||||
amount: {
|
amount: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required:true
|
required: true,
|
||||||
},
|
},
|
||||||
seller: {
|
seller: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: true,
|
||||||
}
|
},
|
||||||
}],
|
},
|
||||||
})
|
],
|
||||||
|
});
|
||||||
|
|
||||||
const Inventory = module.exports = mongoose.model('Inventory', InventorySchema);
|
const Inventory = (module.exports = mongoose.model(
|
||||||
|
"Inventory",
|
||||||
|
InventorySchema
|
||||||
|
));
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require("mongoose");
|
||||||
|
|
||||||
|
|
||||||
const ItemSchema = mongoose.Schema({
|
const ItemSchema = mongoose.Schema({
|
||||||
itemId: {
|
itemId: {
|
||||||
|
|
@ -8,11 +7,11 @@ const ItemSchema = mongoose.Schema({
|
||||||
},
|
},
|
||||||
meta: {
|
meta: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: false
|
required: false,
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true,
|
||||||
},
|
},
|
||||||
text_type: {
|
text_type: {
|
||||||
type: String,
|
type: String,
|
||||||
|
|
@ -20,8 +19,8 @@ const ItemSchema = mongoose.Schema({
|
||||||
},
|
},
|
||||||
price: {
|
price: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: false
|
required: false,
|
||||||
}
|
},
|
||||||
})
|
});
|
||||||
|
|
||||||
const Item = module.exports = mongoose.model('Item', ItemSchema);
|
const Item = (module.exports = mongoose.model("Item", ItemSchema));
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require("mongoose");
|
||||||
|
|
||||||
|
|
||||||
const ListingSchema = mongoose.Schema({
|
const ListingSchema = mongoose.Schema({
|
||||||
itemId: {
|
itemId: {
|
||||||
|
|
@ -8,11 +7,11 @@ const ListingSchema = mongoose.Schema({
|
||||||
},
|
},
|
||||||
meta: {
|
meta: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: false
|
required: false,
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true,
|
||||||
},
|
},
|
||||||
foreignid: {
|
foreignid: {
|
||||||
type: String,
|
type: String,
|
||||||
|
|
@ -20,16 +19,16 @@ const ListingSchema = mongoose.Schema({
|
||||||
},
|
},
|
||||||
price: {
|
price: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true,
|
||||||
},
|
},
|
||||||
amount: {
|
amount: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required:true
|
required: true,
|
||||||
},
|
},
|
||||||
seller: {
|
seller: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: true,
|
||||||
}
|
},
|
||||||
})
|
});
|
||||||
|
|
||||||
const Listing = module.exports = mongoose.model('Listing', ListingSchema);
|
const Listing = (module.exports = mongoose.model("Listing", ListingSchema));
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require("mongoose");
|
||||||
|
|
||||||
|
|
||||||
const LogSchema = mongoose.Schema({
|
const LogSchema = mongoose.Schema({
|
||||||
sender: {
|
sender: {
|
||||||
|
|
@ -8,17 +7,17 @@ const LogSchema = mongoose.Schema({
|
||||||
},
|
},
|
||||||
receiver: {
|
receiver: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true,
|
||||||
},
|
},
|
||||||
amount: {
|
amount: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true,
|
||||||
},
|
},
|
||||||
date: {
|
date: {
|
||||||
type: Date,
|
type: Date,
|
||||||
default: Date(),
|
default: Date(),
|
||||||
required: true
|
required: true,
|
||||||
}
|
},
|
||||||
})
|
});
|
||||||
|
|
||||||
const Log = module.exports = mongoose.model('Log', LogSchema);
|
const Log = (module.exports = mongoose.model("Log", LogSchema));
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue