Преглед изворни кода

res.render -> nextApp.render

Shun Miyazawa пре 3 година
родитељ
комит
e168e642fe

+ 19 - 8
packages/app/src/server/middlewares/unavailable-when-maintenance-mode.ts

@@ -4,16 +4,27 @@ import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:middlewares:unavailable-when-maintenance-mode');
 
-// export const generateUnavailableWhenMaintenanceModeMiddleware = crowi => async(req: Request, res: Response, next: NextFunction): Promise<void> => {
-//   const isMaintenanceMode = crowi.appService.isMaintenanceMode();
+type Crowi = {
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  nextApp: any,
+}
 
-//   if (!isMaintenanceMode) {
-//     next();
-//     return;
-//   }
+type CrowiReq = Request & {
+  crowi: Crowi,
+}
 
-//   res.render('maintenance-mode');
-// };
+export const generateUnavailableWhenMaintenanceModeMiddleware = crowi => async(req: CrowiReq, res: Response, next: NextFunction): Promise<void> => {
+  const isMaintenanceMode = crowi.appService.isMaintenanceMode();
+
+  if (!isMaintenanceMode) {
+    next();
+    return;
+  }
+
+  const { nextApp } = crowi;
+  req.crowi = crowi;
+  nextApp.render(req, res, '/maintenance');
+};
 
 export const generateUnavailableWhenMaintenanceModeMiddlewareForApi = crowi => async(req: Request, res: Response, next: NextFunction): Promise<void> => {
   const isMaintenanceMode = crowi.appService.isMaintenanceMode();