cubash-archive/server.js

117 lines
5.4 KiB
JavaScript
Raw Permalink Normal View History

console.log(`
KKKKKKKKK KKKKKKK tttt iiii
K:::::::K K:::::K ttt:::t i::::i
K:::::::K K:::::K t:::::t iiii
K:::::::K K::::::K t:::::t
KK::::::K K:::::KKK aaaaaaaaaaaaavvvvvvv vvvvvvv eeeeeeeeeeee rrrrr rrrrrrrrr ttttttt:::::ttttttt iiiiiii
K:::::K K:::::K a::::::::::::av:::::v v:::::vee::::::::::::ee r::::rrr:::::::::r t:::::::::::::::::t i:::::i
K::::::K:::::K aaaaaaaaa:::::av:::::v v:::::ve::::::eeeee:::::eer:::::::::::::::::r t:::::::::::::::::t i::::i
K:::::::::::K a::::a v:::::v v:::::ve::::::e e:::::err::::::rrrrr::::::rtttttt:::::::tttttt i::::i
K:::::::::::K aaaaaaa:::::a v:::::v v:::::v e:::::::eeeee::::::e r:::::r r:::::r t:::::t i::::i
K::::::K:::::K aa::::::::::::a v:::::v v:::::v e:::::::::::::::::e r:::::r rrrrrrr t:::::t i::::i
K:::::K K:::::K a::::aaaa::::::a v:::::v:::::v e::::::eeeeeeeeeee r:::::r t:::::t i::::i
KK::::::K K:::::KKKa::::a a:::::a v:::::::::v e:::::::e r:::::r t:::::t tttttt i::::i
K:::::::K K::::::Ka::::a a:::::a v:::::::v e::::::::e r:::::r t::::::tttt:::::ti::::::i
K:::::::K K:::::Ka:::::aaaa::::::a v:::::v e::::::::eeeeeeee r:::::r tt::::::::::::::ti::::::i
K:::::::K K:::::K a::::::::::aa:::a v:::v ee:::::::::::::e r:::::r tt:::::::::::tti::::::i
KKKKKKKKK KKKKKKK aaaaaaaaaa aaaa vvv eeeeeeeeeeeeee rrrrrrr ttttttttttt iiiiiiii`)
console.log("Initializing")
2020-08-07 12:36:34 +10:00
let express = require('express')
let app = express()
2020-08-08 12:56:08 +10:00
var profanity = require('profanity-middleware');
2020-08-07 12:36:34 +10:00
let { sequelize } = require('./models')
let sockets = require('./lib/sockets')
2020-08-23 20:11:57 +10:00
var Errors = require('./lib/errors.js')
2020-08-07 12:36:34 +10:00
let config = require('./config/server.js')
2020-09-02 21:39:57 +10:00
const expressSwagger = require('express-swagger-generator')(app);
2020-10-05 21:38:13 +11:00
let swaggerJsdoc = require('swagger-jsdoc')
2020-10-24 01:07:21 +11:00
const jwt = require('jsonwebtoken');
2020-08-07 12:36:34 +10:00
2020-10-05 21:38:13 +11:00
const options = {
definition: {
openapi: "3.0.0",
2020-09-02 21:39:57 +10:00
info: {
2020-10-05 21:38:13 +11:00
title: "Kaverti",
version: "1.0.0",
description:
"Kaverti Swagger",
contact: {
name: "Kaverti",
url: "https://kaverti.com",
email: "troplo@flowinity.com",
},
2020-09-02 21:39:57 +10:00
},
2020-10-05 21:38:13 +11:00
servers: [
{
url: "http://localhost:23981",
},
2020-09-02 21:39:57 +10:00
],
},
2020-10-05 21:38:13 +11:00
apis: ["./routes/*.js"],
2020-09-02 21:39:57 +10:00
};
2020-10-05 21:38:13 +11:00
2020-08-07 12:36:34 +10:00
//Middle-ware
let bodyParser = require('body-parser')
let expressSession = require('express-session')
let SequelizeStore = require('connect-session-sequelize')(expressSession.Store)
let compression = require('compression')
let helmet = require('helmet')
2020-08-10 00:22:59 +10:00
var Recaptcha = require('express-recaptcha').RecaptchaV3;
var recaptcha = new Recaptcha('6LdlbrwZAAAAAKvtcVQhVl_QaNOqmQ4PgyW3SKHy', '6LdlbrwZAAAAAMAWPVDrL8eNPxrws6AMDtLf1bgd');
2020-08-13 17:34:05 +10:00
const expAutoSan = require('express-autosanitizer');
2020-09-02 21:39:57 +10:00
const swaggerUi = require('swagger-ui-express');
2020-08-07 12:36:34 +10:00
let path = require('path')
2020-09-17 23:29:44 +10:00
const passport = require('passport');
2020-10-05 21:38:13 +11:00
const specs = swaggerJsdoc(options);
2020-10-11 23:08:10 +11:00
const csrf = require('csurf')
const csrfProtection = csrf({ cookie: true })
2020-08-07 12:36:34 +10:00
if(process.env.NODE_ENV === 'production') {
app.set('trust proxy', 1);
}
app.use(helmet())
app.use(compression())
app.use(bodyParser.json({ limit: '5mb' }))
app.use(bodyParser.urlencoded({ extended: true }))
2020-08-13 17:34:05 +10:00
app.use(expAutoSan.all);
2020-10-11 23:08:10 +11:00
2020-08-07 12:36:34 +10:00
if(process.env.NODE_ENV !== 'test' && process.env.NODE_ENV !== 'production') {
app.use(require('morgan')('dev'))
}
2020-11-21 22:54:25 +11:00
if(!config.maintenance) {
app.use('/api/v1/user/', require('./routes/user'))
app.use('/api/v1/forums/category', require('./routes/category'))
app.use('/api/v1/forums/thread', require('./routes/thread'))
app.use('/api/v1/forums/post', require('./routes/post'))
app.use('/api/v1/kaverti/state', require('./routes/state'))
app.use('/api/v1/kaverti/search', require('./routes/search'))
app.use('/api/v1/userinfo', require('./routes/userinfo'))
app.use(require('./lib/errorHandler'))
app.set('trust proxy', true)
} else {
app.use('/api/v1/userinfo', require('./routes/userinfo'))
app.use('/api/v1/kaverti/state', require('./routes/state'))
app.use('/api/v1/', require('./routes/maintenance'))
app.use(require('./lib/errorHandler'))
app.set('trust proxy', true)
}
2020-08-07 12:36:34 +10:00
function main () {
let server = app.listen(config.port, () => {
2020-09-07 16:06:54 +10:00
console.log('Initialized')
console.log('Listening on port 0.0.0.0:' + config.port)
2020-08-07 12:36:34 +10:00
app.locals.appStarted = true
app.emit('appStarted')
})
2020-10-25 15:59:30 +11:00
sockets.init(app, server)
2020-08-07 12:36:34 +10:00
}
if(process.env.NODE_ENV === 'test') {
sequelize.sync({ force: true }).then(main)
} else {
main()
}
module.exports = app
2020-08-23 20:11:57 +10:00