masquitos

Untitled

Oct 14th, 2020
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const path = require("path");
  2. const express = require("express");
  3. const app = express();
  4. const bodyParser = require("body-parser");
  5. const environment = require("./environment.js");
  6. const server = require("http").createServer(app);
  7.  
  8. const apiRouter = require(path.resolve(__dirname, "./routes/api/api-router"));
  9. const publicRouter = require(path.resolve(
  10.   __dirname,
  11.   "./routes/public/public-router"
  12. ));
  13. const helpDeskApiRouter = require(path.resolve(
  14.   __dirname,
  15.   "./helpdesk/router/api/api-router"
  16. ));
  17. const helpDeskPublicRouter = require(path.resolve(
  18.   __dirname,
  19.   "./helpdesk/router/public/public-router"
  20. ));
  21. const io = require("socket.io")(server);
  22. const socket = require("./socket.js");
  23. socket.init(io);
  24. const dbWorker = require("./db-worker");
  25. dbWorker.init();
  26. const LogContext = require("./helper/logcontext");
  27. const MyLogger = require("./helper/mylogger");
  28. const requester = require("./helper/requester");
  29. const errorCodes = require("./model/errorcodes");
  30. const fileName = require("path").basename(__filename);
  31. const cls = require("cls-hooked");
  32. const uuidv4 = require("uuid/v4");
  33. const clsNamespace = cls.createNamespace("myseession");
  34.  
  35. app.use((req, res, next) => {
  36.   clsNamespace.bind(req);
  37.   clsNamespace.bind(res);
  38.   const traceID = uuidv4();
  39.  
  40.   clsNamespace.run(() => {
  41.     clsNamespace.set("traceID", traceID);
  42.  
  43.     next();
  44.   });
  45. });
  46.  
  47. // body parser
  48. app.use(
  49.   bodyParser.json({
  50.     limit: "10mb"
  51.   })
  52. );
  53. app.use((err, req, res, next) => {
  54.   if (err) {
  55.     MyLogger.warn(req.reqId, fileName, " bodyParser error: " + err.message);
  56.     const body = requester.createError(errorCodes.INVALID_DATA);
  57.     res.json(body);
  58.   } else {
  59.     next();
  60.   }
  61. });
  62.  
  63. // Пользователи
  64. app.use("/api", apiRouter);
  65. app.use("/public", publicRouter);
  66. // Поддержка
  67. app.use("/apiv2/helpdesk", helpDeskApiRouter);
  68. app.use("/publicv2/helpdesk", helpDeskPublicRouter);
  69.  
  70. // Запуск сервера
  71. server.listen(environment.port, environment.host, function() {
  72.   console.log(
  73.     "Node server started on %s://%s:%d",
  74.     environment.http_type,
  75.     environment.host,
  76.     environment.port
  77.   );
  78. });
  79.  
  80. module.exports.server = server;
  81. module.exports.clsNamespace = clsNamespace;
  82.  
  83.  
  84. ////////////////////////Router
  85.  
  86. const express = require("express");
  87. const router = express.Router();
  88. const publicRoutes = require("../../helper/public-routes");
  89. const myRoles = require("../../model/roles");
  90. const LogContext = require("../../helper/logcontext");
  91. const myLogger = require("../../helper/mylogger");
  92.  
  93.  
  94. router.use(function(req, res, next) {
  95.   res.locals.role = myRoles.USER;
  96.  
  97.   const x = require("../../server").clsNamespace;
  98.   const id = x.get("traceID");
  99.  
  100.   next();
  101. });
  102.  
  103. router.use(publicRoutes.CONFORM, require("./conform/conform"));
  104. router.use(publicRoutes.AUTH, require("./auth/auth-router"));
  105. router.use(publicRoutes.REGISTER, require("./register/registration"));
  106. router.use(publicRoutes.REFRESH, require("./refresh/refresh-router"));
  107. router.use(publicRoutes.RESTORE, require("./restore/restore"));
  108. router.use(
  109.   publicRoutes.CHANGE_PASSWORD,
  110.   require("./change-password/changepassword")
  111. );
  112.  
  113. module.exports = router;
  114.  
  115.  
  116.  
  117.  
Add Comment
Please, Sign In to add comment