This repository has been archived on 2024-12-31. You can view files and clone it, but cannot push or open issues or pull requests.

38 lines
1.3 KiB
JavaScript

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);