7fife-backend/server.js

91 lines
2.8 KiB
JavaScript
Raw Normal View History

2024-03-07 13:01:44 +00:00
const express = require('express');
const mongoose = require('mongoose');
const serverConfig = require('./configs/server.config');
const dbConfig = require('./configs/db.config');
const multer = require('multer');
const cors = require('cors');
const path = require('path');
const app = express();
app.use(cors());
// Middleware to parse JSON bodies
app.use(express.json());
// Middleware to set the base URL
app.use((req, res, next) => {
const baseUrl = `${req.protocol}://${req.get('host')}`;
req.baseUrl = baseUrl;
next();
});
const connectDb = async (req, res) => {
try {
await mongoose.connect(dbConfig.URI);
console.log('MongoDB is connected');
} catch (err) {
console.error('Error inside db connection:', err.message);
}
};
connectDb();
app.listen(serverConfig.PORT, "192.168.0.239", () => {
console.log(`Application started on port number: ${serverConfig.PORT}`);
});
// Configure Multer for handling file uploads
// const storage = multer.diskStorage({
// destination: (req, file, cb) => {
// cb(null, "uploads/");
// },
// filename: (req, file, cb) => {
// const uniqueSuffix = Date.now() + "-" + Math.round(Math.random() * 1e9);
// const extension = file.originalname.split(".").pop();
// cb(null, file.fieldname + "-" + uniqueSuffix + "." + extension);
// },
// });
// const upload = multer({ storage: storage });
app.use('/uploads', express.static(path.join(__dirname, 'uploads')));
var filestorageEngine = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, './uploads');
},
filename: (req, file, cb) => {
const uniqueSuffix = Date.now() + "-" + Math.round(Math.random() * 1e9);
const extension = file.originalname.split(".").pop();
cb(null, file.fieldname + "-" + uniqueSuffix + "." + extension);
},
});
var upload = multer({
storage: filestorageEngine
});
// Require routes
require('./routes/auth.route')(app);
require('./routes/user.route')(app);
require('./routes/admin.route')(app);
require('./routes/subscription.route')(app);
require('./routes/ads.route')(app);
require('./routes/adsSetting.route')(app);
require('./routes/review.route')(app);
require('./routes/payment.route')(app);
require('./routes/form.route')(app);
require('./routes/notification.route')(app);
require('./routes/privacy.route')(app);
require('./routes/TermsandCondition.route')(app);
require('./routes/song.route')(app);
require('./routes/artist.route')(app);
require('./routes/album.route')(app);
require('./routes/playlist.route')(app);
require('./routes/reward.route')(app);
require('./routes/language.route')(app);
require('./routes/categories.route')(app);
require('./routes/subcategories.route')(app);
require('./routes/importsong.route')(app);