Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

controller.ts(8,8): error TS2339: Property 'user' does not exist on type 'Request' while extending express.Request

I am getting below error. Please help me.

controller.ts(8,8): error TS2339: Property 'user' does not exist on type 'Request'.

controller.ts

import * as express from 'express';
class Users{
 public showUser(
    req: express.Request,
    res: express.Response,
    next: express.NextFunction
  ) {
     return req.user;

 }
}
const users = new Users();
export = {
 showUser: users.showUser
}

express.custommerge.d.ts

// Extend the Express interface with declaration merging
import { User } from './api';
declare namespace Express {
  export interface Request {
    user: User; 
  }
}

api.ts

export class User {
 'userId': string
}

Note:

This is error does not come if i don't include import { User } from './api'; in express.custommerge.d.ts with adding any instead of User

like image 278
Thavaprakash Swaminathan Avatar asked Jan 16 '26 19:01

Thavaprakash Swaminathan


1 Answers

It works if i make below changes in

express.custommerge.d.ts

import { User } from './api';
declare namespace Express {
  export interface Request {
    user: User; 
  }
}
like image 151
Thavaprakash Swaminathan Avatar answered Jan 19 '26 18:01

Thavaprakash Swaminathan



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!