12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- 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());
- // 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")));
- // лог всех запросов
- app.use((req, res, next) => {
- logger.debug(`Запрос ${req.url}`);
- next();
- });
- // роутеры
- import authMiddleware from "./middlewares/auth-middleware.js";
- // users-management
- import authRouter from "./modules/users-management/auth/routers/auth-router.js";
- app.use("/api/auth/", authRouter);
- // events-management
- import EventsRouter from "./modules/events-management/events-router.js";
- app.use("/api/events-management/", authMiddleware(), EventsRouter);
- // companies-management
- import CompaniesRouter from "./modules/companies-management/companies-router.js";
- app.use("/api/companies-management/", authMiddleware(), CompaniesRouter);
- // locations-management
- import LocationsRouter from "./modules/locations-management/locations-router.js";
- app.use("/api/locations-management/", authMiddleware(), LocationsRouter);
- // tasks-management
- import TasksRouter from "./modules/tasks-management/tasks-router.js";
- app.use("/api/tasks-management/", authMiddleware(), TasksRouter);
- import TaskBlocksRouter from "./modules/tasks-management/task-blocks-router.js";
- app.use("/api/tasks-management/", authMiddleware(), TaskBlocksRouter);
- // import sessionRouter from "./modules/user/routers/session-router.js";
- // app.use("/api/session/", sessionRouter);
- // обработчик ошибок
- import errorMiddleware from "./middlewares/error-middleware.js";
- app.use(errorMiddleware);
- //
- const start = async () => {
- try {
- logger.info("Запуск сервиса...");
- // проверка схемы БД
- await DbService.checkDbShema();
- // TODO сделать проверку .env
- app.listen(PORT, () => logger.info(`Сервер запущен на порту ${PORT}`));
- } catch (e) {
- logger.error(e);
- }
- };
- start();
|