76 lines
2.3 KiB
TypeScript
76 lines
2.3 KiB
TypeScript
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}`);
|
|
});
|