mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-11-18 06:47:01 +08:00
Optimized server.js
This commit is contained in:
parent
386ea44a69
commit
29dfcd93d3
1 changed files with 11 additions and 63 deletions
|
|
@ -1,85 +1,33 @@
|
|||
const express = require("express");
|
||||
const { config } = require("dotenv");
|
||||
const path = require("path");
|
||||
config({ path: path.join(__dirname, ".env") });
|
||||
const bodyParser = require("body-parser");
|
||||
const mongoose = require("mongoose");
|
||||
const { MongoClient } = require("mongodb");
|
||||
|
||||
const path = require("path");
|
||||
const cors = require("cors");
|
||||
const admin = require("firebase-admin");
|
||||
const helmet = require("helmet");
|
||||
const { User } = require("./models/user");
|
||||
const { Leaderboard } = require("./models/leaderboard");
|
||||
const { BotCommand } = require("./models/bot-command");
|
||||
const { Stats } = require("./models/stats");
|
||||
|
||||
// Firebase admin setup
|
||||
//currently uses account key in functions to prevent repetition
|
||||
const serviceAccount = require("./credentials/serviceAccountKey.json");
|
||||
const { connectDB } = require("./init/mongodb");
|
||||
|
||||
admin.initializeApp({
|
||||
credential: admin.credential.cert(serviceAccount),
|
||||
});
|
||||
|
||||
// MIDDLEWARE & SETUP
|
||||
const app = express();
|
||||
app.use(express.urlencoded({ extended: true }));
|
||||
app.use(express.json());
|
||||
app.use(cors());
|
||||
app.use(helmet());
|
||||
|
||||
const port = process.env.PORT || "5005";
|
||||
|
||||
connectDB()
|
||||
.then(() => {
|
||||
app.listen(process.env.PORT, () => {
|
||||
console.log(`listening on port ${process.env.PORT}`);
|
||||
});
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e);
|
||||
});
|
||||
const authRouter = require("./api/routes/auth");
|
||||
app.use("/auth", authRouter);
|
||||
|
||||
|
||||
|
||||
// NON-ROUTE FUNCTIONS
|
||||
|
||||
|
||||
|
||||
//
|
||||
// async function stripAndSave(uid, obj) {
|
||||
// if (obj.bailedOut === false) delete obj.bailedOut;
|
||||
// if (obj.blindMode === false) delete obj.blindMode;
|
||||
// if (obj.difficulty === "normal") delete obj.difficulty;
|
||||
// if (obj.funbox === "none") delete obj.funbox;
|
||||
// //stripping english causes issues in result filtering; this line:
|
||||
// //let langFilter = ResultFilters.getFilter("language", result.language);
|
||||
// //returns false if language isn't defined in result
|
||||
// //if (obj.language === "english") delete obj.language;
|
||||
// if (obj.numbers === false) delete obj.numbers;
|
||||
// if (obj.punctuation === false) delete obj.punctuation;
|
||||
|
||||
// await User.findOne({ uid: uid }, (err, user) => {
|
||||
// user.results.push(obj);
|
||||
// user.save();
|
||||
// });
|
||||
// }
|
||||
|
||||
|
||||
|
||||
// API
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// BOT API
|
||||
// Might want to move this to a seperate file and add some sort of middleware that can send error if the user is not found
|
||||
|
||||
app.use(function (e, req, res, next) {
|
||||
console.log("Error", e);
|
||||
return res.status(e.status || 500).json(e || {});
|
||||
});
|
||||
|
||||
app.listen(process.env.PORT || 5005, async () => {
|
||||
console.log(`listening on port ${process.env.PORT}`);
|
||||
await connectDB();
|
||||
admin.initializeApp({
|
||||
credential: admin.credential.cert(serviceAccount),
|
||||
});
|
||||
console.log("Database Connected");
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue