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, 'Videos')), })); //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}`); });