main.ts 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. // user
  38. import cUsersRouter from "./modules/client/users/c-users-router.js";
  39. app.use("/api/client/users/", cUsersRouter);
  40. // pe
  41. import cPeRouter from "./modules/client/activities/participant-entities/c-pe-router.js";
  42. app.use("/api/client/pe/", cPeRouter);
  43. // events-management
  44. // import EventsRouter from "./modules/management/events-router.js";
  45. // app.use("/api/events-management/", authMiddleware(), EventsRouter);
  46. // import sessionRouter from "./modules/user/routers/session-router.js";
  47. // app.use("/api/session/", sessionRouter);
  48. // обработчик ошибок
  49. import errorMiddleware from "./middlewares/error-middleware.js";
  50. app.use(errorMiddleware);
  51. //
  52. logger.info("✅ Роутеры загружены!");
  53. const start = async () => {
  54. try {
  55. // проверка схемы БД
  56. await DbService.checkDbSchema();
  57. logger.info("Запуск сервера...");
  58. app.listen(PORT, () => logger.info(`🚀 Сервер запущен на порту ${PORT}`));
  59. } catch (e) {
  60. logger.error(e);
  61. }
  62. };
  63. start();