AI-Tennis-Coach/server/app.js
2025-02-11 11:23:59 +05:30

40 lines
1 KiB
JavaScript

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;