Files
crm.stream.graff.tech/server/src/index.ts
T

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}`);
});