Files
dlearn-api/server.js
T
Mr Swift 52984759ee VAl
2024-04-27 21:14:17 +03:30

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