123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- import { config } from "#config";
- import express from "express";
- import { logger } from "#logger";
- import DbService from "./db/db-service.js";
- const PORT = config.PORT;
- const app = express();
- app.use(express.json());
- app.set("trust proxy", true);
- // cookie-parser
- import cookieParser from "cookie-parser";
- app.use(cookieParser());
- // cors
- import cors from "cors";
- app.use(
- cors({
- credentials: true,
- origin: ["http://localhost:9000", "http://localhost:9001"],
- }),
- );
- // файлы
- import path from "path";
- const __dirname = path.resolve();
- app.use("/files", express.static(path.join(__dirname, "files")));
- import { filesUtils } from "#utils/files-utils.js";
- filesUtils.createFilesDir();
- // лог всех запросов
- app.use((req, res, next) => {
- logger.debug(`Запрос ${req.url}`);
- next();
- });
- logger.info("Импорт роутеров...");
- // payment-webhook
- import paymentWebhookRouter from "./modules/client/shop/payment/payment-webhook-router.js";
- app.use("/api/client/hookie-hookie/", paymentWebhookRouter);
- // middleware
- import eventCodeMiddleware from "#middlewares/event-code-middleware.js";
- app.use(eventCodeMiddleware());
- // роутеры
- // users-management
- import authRouter from "./modules/client/users/auth/routers/auth-router.js";
- app.use("/api/auth/", authRouter);
- // event
- import cEventRouter from "./modules/client/event/c-event-router.js";
- app.use("/api/client/event/", cEventRouter);
- // auth
- import authMiddleware from "#middlewares/auth-middleware.js";
- app.use("/api/", authMiddleware());
- // -- CLIENT --
- // user
- import cUsersRouter from "./modules/client/users/c-users-router.js";
- app.use("/api/client/users/", cUsersRouter);
- // pe
- import cPeRouter from "./modules/client/activities/participant-entities/c-pe-router.js";
- app.use("/api/client/pe/", cPeRouter);
- // act
- import cActRouter from "./modules/client/activities/c-act-router.js";
- app.use("/api/client/act/", cActRouter);
- // cart
- import cCartRouter from "./modules/client/shop/cart/c-cart-router.js";
- app.use("/api/client/cart/", cCartRouter);
- // orders
- import cOrdersRouter from "./modules/client/shop/c-orders-router.js";
- app.use("/api/client/orders/", cOrdersRouter);
- // events-management
- // import EventsRouter from "./modules/management/events-router.js";
- // app.use("/api/events-management/", authMiddleware(), EventsRouter);
- // import sessionRouter from "./modules/user/routers/session-router.js";
- // app.use("/api/session/", sessionRouter);
- // обработчик ошибок
- import errorMiddleware from "./middlewares/error-middleware.js";
- import { startSchedulers } from "#services/scheduler-service.js";
- app.use(errorMiddleware);
- //
- logger.info("✅ Роутеры загружены!");
- const start = async () => {
- try {
- // проверка схемы БД
- await DbService.checkDbSchema();
- logger.info("Запуск сервера...");
- app.listen(PORT, () => logger.info(`🚀 Сервер запущен на порту ${PORT}`));
- startSchedulers();
- } catch (e) {
- logger.error(e);
- }
- };
- start();
|