import { Injectable, NestMiddleware } from '@nestjs/common'; import { Request, Response, NextFunction } from 'express'; import { CampusScope, CampusRequest } from './campus-scope'; @Injectable() export class CampusScopeMiddleware implements NestMiddleware { constructor(private readonly scope: CampusScope) {} use(req: Request, _res: Response, next: NextFunction): void { (req as CampusRequest).campusScope = this.scope; next(); } }