mirror of
https://github.com/typeorm/typeorm.git
synced 2025-12-08 21:26:23 +00:00
fixed issue with non exist entity being sent in remove events
This commit is contained in:
parent
50b74c3c7a
commit
bce38e5a97
@ -18,7 +18,7 @@ export class EverythingSubscriber implements EntitySubscriberInterface<any> {
|
||||
* Called before entity insertion.
|
||||
*/
|
||||
beforeUpdate(event: UpdateEvent<any>) {
|
||||
console.log(`BEFORE ENTITY UPDATED: `, event.persistEntity);
|
||||
console.log(`BEFORE ENTITY UPDATED: `, event.entity);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -39,7 +39,7 @@ export class EverythingSubscriber implements EntitySubscriberInterface<any> {
|
||||
* Called after entity insertion.
|
||||
*/
|
||||
afterUpdate(event: UpdateEvent<any>) {
|
||||
console.log(`AFTER ENTITY UPDATED: `, event.persistEntity);
|
||||
console.log(`AFTER ENTITY UPDATED: `, event.entity);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -79,7 +79,7 @@ export class Broadcaster {
|
||||
const subscribers = this.subscriberMetadatas
|
||||
.filter(subscriber => this.isAllowedSubscriber(subscriber, subject.entityTarget) && subscriber.beforeUpdate)
|
||||
.map(subscriber => subscriber.beforeUpdate!({
|
||||
persistEntity: subject.entity,
|
||||
entity: subject.entity,
|
||||
databaseEntity: subject.databaseEntity,
|
||||
updatedColumns: subject.diffColumns,
|
||||
updatedRelations: subject.diffRelations,
|
||||
@ -104,6 +104,7 @@ export class Broadcaster {
|
||||
.filter(subscriber => this.isAllowedSubscriber(subscriber, subject.entityTarget) && subscriber.beforeRemove)
|
||||
.map(subscriber => subscriber.beforeRemove!({
|
||||
entity: subject.entity,
|
||||
databaseEntity: subject.databaseEntity,
|
||||
entityId: subject.metadata.getEntityIdMixedMap(subject.databaseEntity)
|
||||
}));
|
||||
|
||||
@ -146,7 +147,7 @@ export class Broadcaster {
|
||||
const subscribers = this.subscriberMetadatas
|
||||
.filter(subscriber => this.isAllowedSubscriber(subscriber, subject.entityTarget) && subscriber.afterUpdate)
|
||||
.map(subscriber => subscriber.afterUpdate!({
|
||||
persistEntity: subject.entity,
|
||||
entity: subject.entity,
|
||||
databaseEntity: subject.databaseEntity,
|
||||
updatedColumns: subject.diffColumns,
|
||||
updatedRelations: subject.diffRelations,
|
||||
@ -170,7 +171,8 @@ export class Broadcaster {
|
||||
const subscribers = this.subscriberMetadatas
|
||||
.filter(subscriber => this.isAllowedSubscriber(subscriber, subject.entityTarget) && subscriber.afterRemove)
|
||||
.map(subscriber => subscriber.afterRemove!({
|
||||
entity: subject.entity,
|
||||
entity: subject.hasEntity ? subject.entity : undefined,
|
||||
databaseEntity: subject.databaseEntity,
|
||||
entityId: subject.metadata.getEntityIdMixedMap(subject.databaseEntity)
|
||||
}));
|
||||
|
||||
|
||||
@ -5,8 +5,14 @@ export interface RemoveEvent<Entity> {
|
||||
|
||||
/**
|
||||
* Entity that is being removed.
|
||||
* This may absent if entity is removed without being loaded (for examples by cascades).
|
||||
*/
|
||||
entity: Entity;
|
||||
entity?: Entity;
|
||||
|
||||
/**
|
||||
* Database representation of entity that is being removed.
|
||||
*/
|
||||
databaseEntity: Entity;
|
||||
|
||||
/**
|
||||
* Id or ids of the entity that is being removed.
|
||||
|
||||
@ -9,7 +9,7 @@ export interface UpdateEvent<Entity> {
|
||||
/**
|
||||
* Updating entity.
|
||||
*/
|
||||
persistEntity: Entity;
|
||||
entity: Entity;
|
||||
|
||||
/**
|
||||
* Updating entity in the database.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user