GIF89a
import express from 'express'
import connectDB from './config/database.js';
import morgan from 'morgan';
import authRoute from './modules/auth/auth.router.js'
import userRoute from './modules/user/user.router.js'
import articleRoute from './modules/article/article.router.js'
import cookieParser from 'cookie-parser';
import cors from 'cors'
import categoryRoute from './modules/category/category.router.js';
import socialRouter from './modules/socialMedia/socialMedia.router.js';
import contentRouter from './modules/contents/content.router.js';
import adminRouter from './modules/admin/admin.router.js';
import youtubeRouter from './modules/youtube/youtube.router.js'
import bookingArtistRouter from './modules/programBooking/programbooking.router.js';
import songRequestRouter from './modules/songRequestForm/songRequestForm.router.js';
import homeRoute from './modules/homeApi/home.router.js';
import writerMusicBookingRouter from './modules/writerMusicBooking/writerMusicBooking.router.js';
import path from 'path'
import { fileURLToPath } from "url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const app = express();
connectDB()
app.use(express.json())
app.use(cookieParser())
app.use(express.urlencoded({ extended: true }))
app.use(morgan('dev'))
app.use(cors({
origin: ["http://localhost:5173", "http://localhost:5174", "https://viralhoga.com", 'https://unveiled-watch-fantasy.ngrok-free.dev'],
credentials: true
}))
app.use("/uploads", express.static("uploads"));
app.use("/uploads", express.static(path.join(__dirname, "uploads")));
// routes (example)
app.get('/', (req, res) => {
res.send('Server running... ')
})
app.get('/test', (req, res) => {
res.json({
success: true,
message: 'Api is working'
})
})
app.use('/api/v1/auth', authRoute)
app.use('/api/v1/users', userRoute);
app.use('/api/v1/category', categoryRoute);
app.use('/api/v1/articles', articleRoute);
app.use('/api/v1/social-details', socialRouter);
app.use('/api/v1/content', contentRouter);
app.use('/api/v1/admin', adminRouter);
app.use('/api/v1/youtube', youtubeRouter);
app.use('/api/v1/booking-artist', bookingArtistRouter);
app.use('/api/v1/song-request-form', songRequestRouter);
app.use('/api/v1/home', homeRoute);
app.use('/api/v1/writer-music-booking', writerMusicBookingRouter)
app.get('/err-test', (req, res, next) => {
next(new Error("Testing"));
});
app.use((err, req, res, next) => {
console.error(err);
return res.status(err.statusCode || 500).json({
success: false,
message: err.message || "Internal Server Error",
});
});
export default app;