Przeglądaj źródła

Added extended request type

Shun Miyazawa 3 lat temu
rodzic
commit
b7d165e7b8

+ 8 - 2
packages/app/src/server/middlewares/inject-user-registration-order-by-token-middleware.ts

@@ -1,8 +1,14 @@
+import { Request, Response, NextFunction } from 'express';
 import createError from 'http-errors';
 import createError from 'http-errors';
 
 
-import UserRegistrationOrder from '../models/user-registration-order';
+import UserRegistrationOrder, { IUserRegistrationOrder } from '../models/user-registration-order';
 
 
-export default async(req, res, next): Promise<void> => {
+export type ReqWithUserRegistrationOrder = Request & {
+  userRegistrationOrder: IUserRegistrationOrder
+};
+
+// eslint-disable-next-line import/no-anonymous-default-export
+export default async(req: ReqWithUserRegistrationOrder, res: Response, next: NextFunction): Promise<void> => {
   const token = req.params.token || req.body.token;
   const token = req.params.token || req.body.token;
 
 
   if (token == null) {
   if (token == null) {

+ 5 - 6
packages/app/src/server/routes/user-activation.ts

@@ -1,15 +1,14 @@
-import { Request, Response } from 'express';
+import { Request, Response, NextFunction } from 'express';
 
 
-import { IUserRegistrationOrder } from '~/server/models/user-registration-order';
+import { ReqWithUserRegistrationOrder } from '~/server/middlewares/inject-user-registration-order-by-token-middleware';
 
 
 type Crowi = {
 type Crowi = {
   // eslint-disable-next-line @typescript-eslint/no-explicit-any
   // eslint-disable-next-line @typescript-eslint/no-explicit-any
   nextApp: any,
   nextApp: any,
 }
 }
 
 
-type CrowiReq = Request & {
+type CrowiReq = ReqWithUserRegistrationOrder & {
   crowi: Crowi,
   crowi: Crowi,
-  userRegistrationOrder: IUserRegistrationOrder
 }
 }
 
 
 export const renderUserActivationPage = (crowi: Crowi) => {
 export const renderUserActivationPage = (crowi: Crowi) => {
@@ -23,9 +22,9 @@ export const renderUserActivationPage = (crowi: Crowi) => {
 };
 };
 
 
 // middleware to handle error
 // middleware to handle error
-export const tokenErrorHandlerMiddeware = (err, req, res, next) => {
+export const tokenErrorHandlerMiddeware = (err, req: Request, res: Response, next: NextFunction) => {
   if (err != null) {
   if (err != null) {
-    req.flash('errorMessage', req.t('message.incorrect_token_or_expired_url'));
+    // req.flash('errorMessage', req.t('message.incorrect_token_or_expired_url'));
     return res.redirect('/login#register');
     return res.redirect('/login#register');
   }
   }
   next();
   next();