mirror of
https://github.com/typeorm/typeorm.git
synced 2025-12-08 21:26:23 +00:00
renamed event subscriber to entity subscriber
This commit is contained in:
parent
342b560ad9
commit
66cb50796e
@ -1,11 +1,11 @@
|
||||
import {EventSubscriber} from "../../../src/decorator/listeners/EventSubscriber";
|
||||
import {EventSubscriberInterface} from "../../../src/subscriber/EventSubscriberInterface";
|
||||
import {EntityEventSubscriber} from "../../../src/decorator/listeners/EventSubscriber";
|
||||
import {EntitySubscriberInterface} from "../../../src/subscriber/EntitySubscriberInterface";
|
||||
import {InsertEvent} from "../../../src/subscriber/event/InsertEvent";
|
||||
import {RemoveEvent} from "../../../src/subscriber/event/RemoveEvent";
|
||||
import {UpdateEvent} from "../../../src/subscriber/event/UpdateEvent";
|
||||
|
||||
@EventSubscriber()
|
||||
export class EverythingSubscriber implements EventSubscriberInterface<any> {
|
||||
@EntityEventSubscriber()
|
||||
export class EverythingSubscriber implements EntitySubscriberInterface<any> {
|
||||
|
||||
/**
|
||||
* Called after entity insertion.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import {Driver} from "../driver/Driver";
|
||||
import {ConnectionOptions} from "./ConnectionOptions";
|
||||
import {Repository} from "../repository/Repository";
|
||||
import {EventSubscriberInterface} from "../subscriber/EventSubscriberInterface";
|
||||
import {EntitySubscriberInterface} from "../subscriber/EntitySubscriberInterface";
|
||||
import {RepositoryNotFoundError} from "./error/RepositoryNotFoundError";
|
||||
import {EntityMetadata} from "../metadata/EntityMetadata";
|
||||
import {ConstructorFunction} from "../common/ConstructorFunction";
|
||||
@ -80,7 +80,7 @@ export class Connection {
|
||||
/**
|
||||
* All subscribers that are registered for this connection.
|
||||
*/
|
||||
readonly eventSubscribers: EventSubscriberInterface<any>[] = [];
|
||||
readonly entitySubscribers: EntitySubscriberInterface<any>[] = [];
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Private Properties
|
||||
@ -234,7 +234,7 @@ export class Connection {
|
||||
*/
|
||||
importSubscribers(subscriberClasses: Function[]): this {
|
||||
if (this.isConnected)
|
||||
throw new CannotImportAlreadyConnectedError("event subscribers", this.name);
|
||||
throw new CannotImportAlreadyConnectedError("entity subscribers", this.name);
|
||||
|
||||
subscriberClasses.forEach(cls => this.subscriberClasses.push(cls));
|
||||
return this;
|
||||
@ -354,10 +354,10 @@ export class Connection {
|
||||
|
||||
// take imported event subscribers
|
||||
getMetadataArgsStorage()
|
||||
.eventSubscribers
|
||||
.entitySubscribers
|
||||
.filterByClasses(this.subscriberClasses)
|
||||
.map(metadata => getFromContainer(metadata.target))
|
||||
.forEach(subscriber => this.eventSubscribers.push(subscriber));
|
||||
.forEach(subscriber => this.entitySubscribers.push(subscriber));
|
||||
|
||||
// take imported entity listeners
|
||||
getMetadataArgsStorage()
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
import {getMetadataArgsStorage} from "../../index";
|
||||
import {EventSubscriberMetadataArgs} from "../../metadata-args/EventSubscriberMetadataArgs";
|
||||
import {EntitySubscriberMetadataArgs} from "../../metadata-args/EntitySubscriberMetadataArgs";
|
||||
|
||||
/**
|
||||
* Classes decorated with this decorator will listen to ORM events and their methods will be triggered when event
|
||||
* occurs. Those classes must implement EventSubscriberInterface interface.
|
||||
*/
|
||||
export function EventSubscriber() {
|
||||
export function EntityEventSubscriber() {
|
||||
return function (target: Function) {
|
||||
const args: EventSubscriberMetadataArgs = {
|
||||
const args: EntitySubscriberMetadataArgs = {
|
||||
target: target
|
||||
};
|
||||
getMetadataArgsStorage().eventSubscribers.add(args);
|
||||
getMetadataArgsStorage().entitySubscribers.add(args);
|
||||
};
|
||||
}
|
||||
@ -113,4 +113,4 @@ export {FindOptions} from "./repository/FindOptions";
|
||||
export {InsertEvent} from "./subscriber/event/InsertEvent";
|
||||
export {UpdateEvent} from "./subscriber/event/UpdateEvent";
|
||||
export {RemoveEvent} from "./subscriber/event/RemoveEvent";
|
||||
export {EventSubscriberInterface} from "./subscriber/EventSubscriberInterface";
|
||||
export {EntitySubscriberInterface} from "./subscriber/EntitySubscriberInterface";
|
||||
@ -1,8 +1,8 @@
|
||||
|
||||
/**
|
||||
* Arguments for EventSubscriberMetadata class.
|
||||
* Arguments for EntitySubscriberMetadata class.
|
||||
*/
|
||||
export interface EventSubscriberMetadataArgs {
|
||||
export interface EntitySubscriberMetadataArgs {
|
||||
|
||||
/**
|
||||
* Class to which subscriber is applied.
|
||||
@ -7,10 +7,10 @@ import {IndexMetadataArgs} from "./IndexMetadataArgs";
|
||||
import {EntityListenerMetadataArgs} from "./EntityListenerMetadataArgs";
|
||||
import {TableMetadataArgs} from "./TableMetadataArgs";
|
||||
import {NamingStrategyMetadataArgs} from "./NamingStrategyMetadataArgs";
|
||||
import {EventSubscriberMetadataArgs} from "./EventSubscriberMetadataArgs";
|
||||
import {JoinTableMetadataArgs} from "./JoinTableMetadataArgs";
|
||||
import {JoinColumnMetadataArgs} from "./JoinColumnMetadataArgs";
|
||||
import {EmbeddedMetadataArgs} from "./EmbeddedMetadataArgs";
|
||||
import {EntitySubscriberMetadataArgs} from "./EntitySubscriberMetadataArgs";
|
||||
|
||||
/**
|
||||
* Storage all metadatas of all available types: tables, fields, subscribers, relations, etc.
|
||||
@ -29,7 +29,7 @@ export class MetadataArgsStorage {
|
||||
|
||||
readonly tables = new TargetMetadataArgsCollection<TableMetadataArgs>();
|
||||
readonly namingStrategies = new TargetMetadataArgsCollection<NamingStrategyMetadataArgs>();
|
||||
readonly eventSubscribers = new TargetMetadataArgsCollection<EventSubscriberMetadataArgs>();
|
||||
readonly entitySubscribers = new TargetMetadataArgsCollection<EntitySubscriberMetadataArgs>();
|
||||
readonly indices = new TargetMetadataArgsCollection<IndexMetadataArgs>();
|
||||
readonly columns = new PropertyMetadataArgsCollection<ColumnMetadataArgs>();
|
||||
readonly relations = new PropertyMetadataArgsCollection<RelationMetadataArgs>();
|
||||
|
||||
13
src/metadata/EntitySubscriberMetadata.ts
Normal file
13
src/metadata/EntitySubscriberMetadata.ts
Normal file
@ -0,0 +1,13 @@
|
||||
import {TargetMetadata} from "./TargetMetadata";
|
||||
import {EntitySubscriberMetadataArgs} from "../metadata-args/EntitySubscriberMetadataArgs";
|
||||
|
||||
/**
|
||||
* Contains metadata information about ORM event subscribers.
|
||||
*/
|
||||
export class EntitySubscriberMetadata extends TargetMetadata {
|
||||
|
||||
constructor(args: EntitySubscriberMetadataArgs) {
|
||||
super(args.target);
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
import {TargetMetadata} from "./TargetMetadata";
|
||||
import {EventSubscriberMetadataArgs} from "../metadata-args/EventSubscriberMetadataArgs";
|
||||
|
||||
/**
|
||||
* Contains metadata information about ORM event subscribers.
|
||||
*/
|
||||
export class EventSubscriberMetadata extends TargetMetadata {
|
||||
|
||||
constructor(args: EventSubscriberMetadataArgs) {
|
||||
super(args.target);
|
||||
}
|
||||
|
||||
}
|
||||
@ -35,7 +35,7 @@ export class Repository<Entity> {
|
||||
protected entityMetadatas: EntityMetadataCollection,
|
||||
protected metadata: EntityMetadata) {
|
||||
this.driver = connection.driver;
|
||||
this.broadcaster = new Broadcaster(entityMetadatas, connection.eventSubscribers, connection.entityListeners); // todo: inject broadcaster from connection
|
||||
this.broadcaster = new Broadcaster(entityMetadatas, connection.entitySubscribers, connection.entityListeners); // todo: inject broadcaster from connection
|
||||
this.persistOperationExecutor = new PersistOperationExecutor(connection.driver, entityMetadatas, this.broadcaster);
|
||||
this.entityPersistOperationBuilder = new EntityPersistOperationBuilder(entityMetadatas);
|
||||
this.plainObjectToEntityTransformer = new PlainObjectToNewEntityTransformer();
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import {EventSubscriberInterface} from "./EventSubscriberInterface";
|
||||
import {EntitySubscriberInterface} from "./EntitySubscriberInterface";
|
||||
import {ColumnMetadata} from "../metadata/ColumnMetadata";
|
||||
import {EventListenerTypes} from "../metadata/types/EventListenerTypes";
|
||||
import {EntityListenerMetadata} from "../metadata/EntityListenerMetadata";
|
||||
@ -14,7 +14,7 @@ export class Broadcaster {
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
constructor(private entityMetadatas: EntityMetadataCollection,
|
||||
private subscriberMetadatas: EventSubscriberInterface<any>[],
|
||||
private subscriberMetadatas: EntitySubscriberInterface<any>[],
|
||||
private entityListeners: EntityListenerMetadata[]) {
|
||||
}
|
||||
|
||||
@ -182,7 +182,7 @@ export class Broadcaster {
|
||||
// Private Methods
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
private isAllowedSubscribers(subscriber: EventSubscriberInterface<any>, cls: Function) {
|
||||
private isAllowedSubscribers(subscriber: EntitySubscriberInterface<any>, cls: Function) {
|
||||
return !subscriber.listenTo ||
|
||||
!subscriber.listenTo() ||
|
||||
subscriber.listenTo() === Object ||
|
||||
|
||||
@ -5,7 +5,7 @@ import {InsertEvent} from "./event/InsertEvent";
|
||||
/**
|
||||
* Classes that implement this interface are subscribers that subscribe for the specific events of the ORM.
|
||||
*/
|
||||
export interface EventSubscriberInterface<Entity> {
|
||||
export interface EntitySubscriberInterface<Entity> {
|
||||
|
||||
/**
|
||||
* Returns the class of the entity to which events will listen.
|
||||
Loading…
x
Reference in New Issue
Block a user