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 fs = require('fs'); const morgan = require ('morgan'); const app = express(); const bodyParser = require('body-parser'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(morgan('dev')); const URL = "mongodb://localhost:27017/7-fife"; // app.use( // cors({ // // allowedHeaders: ["Content-Type", "token", "authorization"], // // exposedHeaders: ["token", "authorization"], // origin: "*", // // methods: "GET,HEAD,PUT,PATCH,POST,DELETE", // // preflightContinue: false, // // }) // ); app.use(cors()); app.use(express.json()); app.use(express.urlencoded({ extended: true, limit: '1000mb' })); app.use((req, res, next) => { const baseUrl = `${req.protocol}://${req.get('host')}`; req.baseUrl = baseUrl; next(); }); const connectDb = async () => { try { await mongoose.connect(URL, { useNewUrlParser: true, useUnifiedTopology: true, }); console.log('MongoDB is connected'); } catch (err) { console.error('Error inside db connection:', err.message); } }; connectDb(); // app.get('/login', (req, res) => res.send('Hello World!')) 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, limits: { fileSize: 5000000 // 1MB file size limit } }); // app.use(upload.any()); // Apply Multer middleware for handling file uploads app.post('/upload', upload.single('image'), (req, res) => { const name = req.body.name; const password = req.body.password; const imageUrl = req.file ? req.file.path : null; res.json({ name, password, imageUrl }); }); app.post('/jsondata', (req, res) => { const jsonData = req.body; res.json(jsonData); }); app.use("/uploads", express.static(path.join(__dirname, "uploads"))); app.use((error, req, res, next) => { let message = "Unexpected error"; if (error && error.field) { message = `Unexpected field: ${error.field}`; } else if (error && error.message) { message = error.message; } console.error(message); return res.status(500).send(message); }); // 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); app.listen(serverConfig.PORT, "192.168.0.239", () => { console.log(`Application started on port number: ${serverConfig.PORT}`); });