main.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import { config } from "#config";
  2. import express from "express";
  3. import { logger } from "#logger";
  4. import DbService from "./db/db-service.js";
  5. const PORT = config.PORT;
  6. const app = express();
  7. app.use(express.json());
  8. // cookie-parser
  9. import cookieParser from "cookie-parser";
  10. app.use(cookieParser());
  11. // cors
  12. import cors from "cors";
  13. app.use(
  14. cors({
  15. credentials: true,
  16. origin: ["http://localhost:9000", "http://localhost:9001"],
  17. }),
  18. );
  19. // файлы
  20. import path from "path";
  21. const __dirname = path.resolve();
  22. app.use("/files", express.static(path.join(__dirname, "files")));
  23. // лог всех запросов
  24. app.use((req, res, next) => {
  25. logger.debug(`Запрос ${req.url}`);
  26. next();
  27. });
  28. logger.info("Импорт роутеров...");
  29. // роутеры
  30. // import authMiddleware from "./middlewares/auth-middleware.js";
  31. // users-management
  32. import authRouter from "./modules/users/auth/routers/auth-router.js";
  33. app.use("/api/auth/", authRouter);
  34. import authMiddleware from "#middlewares/auth-middleware.js";
  35. app.use("/api/", authMiddleware());
  36. // -- CLIENT --
  37. // event
  38. import cEventRouter from "./modules/client/event/c-event-router.js";
  39. app.use("/api/client/event/", cEventRouter);
  40. // user
  41. import cUsersRouter from "./modules/client/users/c-users-router.js";
  42. app.use("/api/client/users/", cUsersRouter);
  43. // pe
  44. import cPeRouter from "./modules/client/activities/participant-entities/c-pe-router.js";
  45. app.use("/api/client/pe/", cPeRouter);
  46. // events-management
  47. // import EventsRouter from "./modules/management/events-router.js";
  48. // app.use("/api/events-management/", authMiddleware(), EventsRouter);
  49. // import sessionRouter from "./modules/user/routers/session-router.js";
  50. // app.use("/api/session/", sessionRouter);
  51. // обработчик ошибок
  52. import errorMiddleware from "./middlewares/error-middleware.js";
  53. app.use(errorMiddleware);
  54. //
  55. logger.info("✅ Роутеры загружены!");
  56. const start = async () => {
  57. try {
  58. // проверка схемы БД
  59. await DbService.checkDbSchema();
  60. logger.info("Запуск сервера...");
  61. app.listen(PORT, () => logger.info(`🚀 Сервер запущен на порту ${PORT}`));
  62. } catch (e) {
  63. logger.error(e);
  64. }
  65. };
  66. start();