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);