import "dotenv/config"; import express, { json } from "express"; import connectDB from "./config/db.js"; import cors from "cors"; import cookieParser from "cookie-parser"; import authMiddleware from "./middlewares/auth.js"; import adminOnlyMiddleware from "./middlewares/adminOnly.js"; import registerRoute from "./routes/register.js"; import refreshRoute from "./routes/refresh.js"; import checkRoute from "./routes/check.js"; import loginRoute from "./routes/login.js"; import usersRouter from "./routes/users.js"; import companiesRouter from "./routes/companies.js"; import buildsRouter from "./routes/builds.js"; import actionsRouter from "./routes/actions.js"; import scheduledSessionsRoute from "./routes/scheduledSessions.js"; import adminCompaniesRoute from "./routes/admin/adminCompaniesRoute.js"; import adminBuildsRoute from "./routes/admin/adminBuildsRoute.js"; import adminUsersRoute from "./routes/admin/adminUsersRoute.js"; import changePasswordRoute from "./routes/changePassword.js"; import resetRoute from "./routes/reset.js"; import resetConfirmRoute from "./routes/resetConfirm.js"; import addManagerRoute from "./routes/addManager.js"; await connectDB(); const app = express(); const port = process.env.PORT || 3000; app.use( cors({ origin: (origin, cb) => { cb(null, origin); }, credentials: true, }) ); app.use(json()); app.use(cookieParser()); app.use("/login", loginRoute); app.use("/check", checkRoute); app.use("/refresh", refreshRoute); app.use("/register", registerRoute); app.use("/reset", resetRoute); app.use("/resetConfirm", resetConfirmRoute); app.use("/actions", actionsRouter); app.use("/builds", buildsRouter); app.use("/scheduledSessions", scheduledSessionsRoute); app.use( "/admin/companies", authMiddleware, adminOnlyMiddleware, adminCompaniesRoute ); app.use( "/admin/builds", authMiddleware, adminOnlyMiddleware, adminBuildsRoute ); app.use( "/admin/users", authMiddleware, adminOnlyMiddleware, adminUsersRoute ); app.use("/companies", authMiddleware, companiesRouter); app.use("/users", authMiddleware, usersRouter); app.use("/changePassword", authMiddleware, changePasswordRoute); app.use("/addManager", authMiddleware, addManagerRoute); app.listen(port, () => { console.log(`Server listening on port ${port}`); });