I'm following the NestJS docs for creating an EventEmitter (Doc Link. When I running my code I'm getting an error :
"[Nest] 129586 - 16/06/2021, 20:43:31 [ExceptionsHandler] this.eventEmitter.emit is not a function"
This is what my code looks like:
import { EventEmitter2 } from "@nestjs/event-emitter"; @EntityRepository(Auth) export class AuthRepository extends Repository{ constructor(private eventEmitter: EventEmitter2) { super(); } private logger = new Logger(AuthRepository.name); async createUser(authDao: SignUpDto): Promise { const { password, username, role, email, dateOfBirth, fname, lname } = authDao; let user = await this.findOne({ username }); if (user) { throw new ForbiddenException("Username already taken"); } user = this.create({ password, username, role }); await this.save(user).catch(e => this.logger.error(e)); this.eventEmitter.emit("user.created", { fname, lname, dateOfBirth, email }); }; }
I'm not sure what I'm missing here.