Hi I have been working with TypeORM and Im having trouble subscribing to two models, actions... I want to listen to changes on two models not just one
I have 2 models User and Post How can I listen to update on both of those models
import { EntitySubscriberInterface, EventSubscriber, InsertEvent, UpdateEvent } from 'typeorm';
import { User } from '../users/user.entity';
@EventSubscriber()
export class HistorySubscriber implements EntitySubscriberInterface<User> {
listenTo() {
return User; // here i would like to listen also to post Updates
}
/**
* Called after User update.
*/
async afterUpdate(event: UpdateEvent<User>) {
const newValue = event.entity;
}
}
A EntitySubscriberInterface
can only listen to
See the documentation for an example. If you look at the corresponding code line in TypeORM that evaluates listenTo()
, it should also be possible to filter for a parent class of entity classes.
subscriber.listenTo().isPrototypeOf(target);
So if the User
and Post
entity class inherits from the same parent class, it should be possible to subscribe to both classes with one subscriber.