require('dotenv').config(); require("./lib/api"); const express = require('express'); const fileUpload = require('express-fileupload'); const bodyParser = require('body-parser'); const database = require('./config/database'); const app = express(); const cors = require('cors'); database.authenticate() .then(() => console.log("Connected to " + process.env.MYSQL_HOSTNAME + " with user " + process.env.MYSQL_USERNAME)) .catch(err => console.log("An error occurred while connecting to database: " + err)); app.use(cors()); app.use(bodyParser.urlencoded({extended: false})); app.use(bodyParser.json()); app.use(fileUpload({createParentPath: true})); // Routes that doesn't need authentication app.use("/auth", require("./routes/auth")); // At this point, we have a valid token, so we can add the protected routes app.use(require("./middlewares/verifyToken")); app.use("/user", require("./routes/user")); app.use("/gift", require("./routes/gift")); app.use("/apikey", require("./routes/apikey")); app.use("/media", require("./routes/media")); app.use("/link", require("./routes/link")); app.use("/article", require("./routes/article")); app.use("/shop", require("./routes/shop")); database.sync(); app.use((req, res) => { res.status(404).json({message: "Endpoint not found"}); }); app.listen(process.env.SERVER_PORT || 3000);