import express from 'express'; import { createServer } from 'http'; import cookieParser from 'cookie-parser'; import logger from 'morgan'; import indexRouter from './routes/index.js'; import { renderFile } from 'ejs'; import dotenv from "dotenv"; import cors from "cors"; dotenv.config(); import './loaders/index.js'; import { makeResponse } from './helper/index.js'; const app = express(); const server = createServer(app); app.use(logger('dev')); app.use(express.json()); // enable cors app.use(cors()); app.options('*', cors()); app.use('/public/', express.static('public')); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.engine('html', renderFile); app.set('view engine', 'html'); app.use('/', indexRouter); // cron job // Custom error-handling middleware app.use((err, req, res, next) => { if (err) { const statusCode = err.customCode || 500; const message = err.message || 'Internal Server Error'; return makeResponse(res, statusCode, false, message) } else { next(); } }); export default app;