38 lines
1.3 KiB
JavaScript
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); |