OwlCyberSecurity - MANAGER
Edit File: index.mjs
import express from 'express'; import cors from 'cors'; import session from 'express-session'; import bodyParser from 'body-parser'; import { Sequelize, DataTypes } from 'sequelize'; import dotenv from 'dotenv'; dotenv.config(); // Import DB config and models import Employee from './models/employee.mjs'; // ✅ correct import Leave from './models/leave.mjs'; import yearlyLeave from './models/yearly.mjs'; // Import routes import authRoutes from './routes/authRoutes.mjs'; import leaveRoutes from './routes/leaveRoutes.mjs'; import employeeRoute from './routes/employeeRoute.mjs'; import yearlyLeaveRoutes from './routes/yearlyLeaveRoutes.mjs'; const sequelize = new Sequelize( 'oneboxpk_leavemanagement', // DB name 'oneboxpk_oneboxpk', // DB username '3J6E}r1E$V@w&;7N.[', // DB password { host: 'localhost', // or '127.0.0.1' or your external IP / domain port: 14891, // MySQL port (use 3306 if you're not using a custom port) dialect: 'mysql', logging: (msg) => console.log('Sequelize:', msg), } ); // Express setup const app = express(); const PORT = 2001 const DOMAIN = 'testtwo.onebox.pk'; // Middlewares app.use(cors({ origin: `http://${DOMAIN}:${PORT}`, credentials: true, })); app.use(bodyParser.json()); app.use(express.json()); app.get(`/`, (req, res) => { res.send('✅ Server is running '); }); app.get(`/api/employees`, async (req, res) => { const data = await Employee.findAll(); res.json(data); }); app.use(session({ secret: 'w7u^8W1sjL#0f92xz@Rk3Lz!', // secret key for session resave: false, saveUninitialized: true, cookie: { secure: false }, // true only with HTTPS })); // Routes app.use('/', authRoutes); app.use('/api/leaves', leaveRoutes(Leave)); app.use('/api/employees', employeeRoute(Employee)); app.use('/api/yearlyleave', yearlyLeaveRoutes); const BASE = '/Leavebackend'; // Test route app.get(`${BASE}/`, (req, res) => { res.send('✅ Server is up at /nodeapp/'); }); // Employees API app.get(`${BASE}/api/employees`, async (req, res) => { const data = await Employee.findAll(); res.json(data); }); // Connect DB and start server sequelize.sync() .then(() => { app.listen(PORT, () => { console.log(`✅ Server running: http://${DOMAIN}:${PORT}`); }); }) .catch((err) => { console.error('❌ DB connection failed:', err); }); sequelize.authenticate() .then(() => console.log('DB connected')) .catch(err => console.error('DB failure:', err));