Răsfoiți Sursa

Разграничение middleware

Vadim 2 luni în urmă
părinte
comite
c197e29efb

+ 3 - 0
src/main.ts

@@ -39,6 +39,9 @@ app.use((req, res, next) => {
 
 logger.info("Импорт роутеров...");
 
+// middleware
+import eventCodeMiddleware from "#middlewares/event-code-middleware.js";
+app.use(eventCodeMiddleware());
 // роутеры
 // import authMiddleware from "./middlewares/auth-middleware.js";
 

+ 1 - 7
src/middlewares/auth-middleware.ts

@@ -1,5 +1,5 @@
 import { ApiError } from "../exceptions/api-error.js";
-import tokenService from "#modules/users/auth/services/token-service.js";
+import tokenService from "#modules/client/users/auth/services/token-service.js";
 import type { NextFunction, Request, Response } from "express";
 import { logger } from "#plugins/logger.js";
 
@@ -8,16 +8,11 @@ export default function () {
     try {
       // авторизация
       const authorizationHeader = req.headers.authorization;
-      const eventCode = req.headers["event-code"];
 
       if (!authorizationHeader) {
         return next(ApiError.UnauthorizedError());
       }
 
-      if (!eventCode || typeof eventCode !== "string") {
-        return next(ApiError.BadRequest("neEventCode", "event-code не указан"));
-      }
-
       const accessToken = authorizationHeader.split(" ")[1];
       if (!accessToken) {
         return next(ApiError.UnauthorizedError());
@@ -29,7 +24,6 @@ export default function () {
       }
 
       req.user = userData;
-      req.eventCode = eventCode;
 
       next();
     } catch (e) {

+ 22 - 0
src/middlewares/event-code-middleware.ts

@@ -0,0 +1,22 @@
+import { ApiError } from "../exceptions/api-error.js";
+import type { NextFunction, Request, Response } from "express";
+import { logger } from "#plugins/logger.js";
+
+export default function () {
+  return function (req: Request, res: Response, next: NextFunction) {
+    try {
+      const eventCode = req.headers["event-code"];
+
+      if (!eventCode || typeof eventCode !== "string") {
+        return next(ApiError.BadRequest("neEventCode", "event-code не указан"));
+      }
+
+      req.eventCode = eventCode;
+
+      next();
+    } catch (e) {
+      logger.silly(e);
+      return next(ApiError.UnauthorizedError());
+    }
+  };
+}