55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
const express = require("express");
|
|
const errorHandler = require("./middleware/errorHandler");
|
|
const videovalidate = require("./middleware/vidoeValidate");
|
|
const db = require("./config/dbConnectoin");
|
|
const fileUpload = require("express-fileupload");
|
|
const path = require("path");
|
|
const swiftly = require("swiftly-tools");
|
|
const { expressSharp, FsAdapter } = require('express-sharp')
|
|
const { autoFetch } = require('express-route-detector')
|
|
var cors = require('cors')
|
|
require("dotenv").config();
|
|
|
|
// Init database
|
|
db();
|
|
|
|
const app = express();
|
|
const port = process.env.PORT || 6060;
|
|
|
|
// Middleware
|
|
app.use(cors())
|
|
app.use(fileUpload());
|
|
app.use(express.json());
|
|
app.use(express.urlencoded({ extended: false }));
|
|
app.use(swiftly.middleware.hsts)
|
|
app.use(swiftly.middleware.sign("Mr Swift"))
|
|
|
|
// Routes
|
|
app.use(autoFetch(express))
|
|
app.use(autoFetch(express, pAddress = "hasPermission", cAddress = "Admin", mAddress = "middleware"))
|
|
app.use('/uploads', expressSharp({
|
|
imageAdapter: new FsAdapter(path.join(__dirname, 'uploads')),
|
|
}));
|
|
app.use('/vid', videovalidate.run, expressSharp({
|
|
imageAdapter: new FsAdapter(path.join(__dirname, 'Data')),
|
|
}));
|
|
//Error handler
|
|
app.use(errorHandler.run);
|
|
|
|
//Init site data
|
|
Site.findOne({ profile: "main" }).then(async (data) => {
|
|
if (!data) {
|
|
await Site.create({
|
|
profile: "main",
|
|
});
|
|
}
|
|
}).catch(async (err) => {
|
|
await Site.create({
|
|
profile: "main",
|
|
});
|
|
})
|
|
|
|
app.listen(port, () => {
|
|
console.log(`Server runing on port: ${port}`);
|
|
});
|