@punks/backend-entity-manager 0.0.14 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +12382 -559
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/abstractions/events.d.ts +3 -0
- package/dist/cjs/types/platforms/nest/ioc/registry/index.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/processors/index.d.ts +1 -2
- package/dist/cjs/types/platforms/nest/processors/initializer/index.d.ts +3 -1
- package/dist/cjs/types/platforms/nest/processors/providers.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/providers/events/index.d.ts +7 -0
- package/dist/cjs/types/platforms/nest/providers/index.d.ts +2 -0
- package/dist/cjs/types/providers/services.d.ts +4 -1
- package/dist/cjs/types/services/events.d.ts +3 -1
- package/dist/cjs/types/services/types.d.ts +9 -0
- package/dist/cjs/types/symbols/ioc.d.ts +6 -1
- package/dist/esm/index.js +12375 -560
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/abstractions/events.d.ts +3 -0
- package/dist/esm/types/platforms/nest/ioc/registry/index.d.ts +4 -0
- package/dist/esm/types/platforms/nest/processors/index.d.ts +1 -2
- package/dist/esm/types/platforms/nest/processors/initializer/index.d.ts +3 -1
- package/dist/esm/types/platforms/nest/processors/providers.d.ts +2 -0
- package/dist/esm/types/platforms/nest/providers/events/index.d.ts +7 -0
- package/dist/esm/types/platforms/nest/providers/index.d.ts +2 -0
- package/dist/esm/types/providers/services.d.ts +4 -1
- package/dist/esm/types/services/events.d.ts +3 -1
- package/dist/esm/types/services/types.d.ts +9 -0
- package/dist/esm/types/symbols/ioc.d.ts +6 -1
- package/dist/index.d.ts +19 -4
- package/package.json +2 -1
- package/readme.md +1 -1
|
@@ -3,3 +3,6 @@ export interface IEntityEventsManager<TEntity, TEntityId> {
|
|
|
3
3
|
processEntityUpdatedEvent(entity: TEntity): Promise<void>;
|
|
4
4
|
processEntityDeletedEvent(id: TEntityId): Promise<void>;
|
|
5
5
|
}
|
|
6
|
+
export interface IEventEmitter {
|
|
7
|
+
emit(event: string, ...args: any[]): Promise<void>;
|
|
8
|
+
}
|
|
@@ -3,9 +3,13 @@ import { EntityAuthMiddlewareProps, EntityConverterProps, EntityQueryBuilderProp
|
|
|
3
3
|
import { EntityServiceLocator } from "../../../../providers/services";
|
|
4
4
|
import { DiscoveredClassWithMeta } from "../discovery";
|
|
5
5
|
import { EntityAdapterProps } from "../../decorators/adapter";
|
|
6
|
+
import { IEventEmitter } from "../../../../abstractions/events";
|
|
6
7
|
export declare class EntityManagerRegistry {
|
|
7
8
|
private readonly container;
|
|
8
9
|
getContainer(): import("../../../../abstractions").IEntityManagerServiceRoot;
|
|
10
|
+
resisterGlobalServices({ eventEmitter, }: {
|
|
11
|
+
eventEmitter?: IEventEmitter;
|
|
12
|
+
}): Promise<void>;
|
|
9
13
|
registerDiscoveredEntity(app: INestApplicationContext, { adapter, entityName, converter, queryBuilder, repository, authMiddleware, }: {
|
|
10
14
|
entityName: string;
|
|
11
15
|
repository: DiscoveredClassWithMeta<EntityRepositoryProps>;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const Processors: (typeof EntityManagerInitializer)[];
|
|
1
|
+
export { EntityManagerInitializer } from "./initializer";
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { INestApplicationContext } from "@nestjs/common";
|
|
2
2
|
import { EntityManagerRegistry } from "../../ioc/registry";
|
|
3
3
|
import { CustomDiscoveryService } from "../../ioc/discovery";
|
|
4
|
+
import { NestEventEmitter } from "../../providers/events";
|
|
4
5
|
export declare class EntityManagerInitializer {
|
|
5
6
|
private readonly discover;
|
|
6
7
|
private readonly registry;
|
|
8
|
+
private readonly eventEmitter;
|
|
7
9
|
private readonly logger;
|
|
8
|
-
constructor(discover: CustomDiscoveryService, registry: EntityManagerRegistry);
|
|
10
|
+
constructor(discover: CustomDiscoveryService, registry: EntityManagerRegistry, eventEmitter: NestEventEmitter);
|
|
9
11
|
initialize(app: INestApplicationContext): Promise<void>;
|
|
10
12
|
private discoverEntities;
|
|
11
13
|
private discoverRepositories;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { EventEmitter2 } from "@nestjs/event-emitter";
|
|
2
|
+
import { IEventEmitter } from "../../../../abstractions/events";
|
|
3
|
+
export declare class NestEventEmitter implements IEventEmitter {
|
|
4
|
+
private readonly eventEmitter;
|
|
5
|
+
constructor(eventEmitter: EventEmitter2);
|
|
6
|
+
emit(event: string, ...args: any[]): Promise<void>;
|
|
7
|
+
}
|
|
@@ -5,7 +5,7 @@ import { IEntityCreateCommand, IEntityDeleteCommand, IEntityUpdateCommand, IEnti
|
|
|
5
5
|
import { SortingType } from "../abstractions/common";
|
|
6
6
|
import { IConnectorsConfiguration, IEntityConnectorDeleteManager, IEntityConnectorSyncManager } from "../abstractions/connectors";
|
|
7
7
|
import { IEntityConverter } from "../abstractions/converters";
|
|
8
|
-
import { IEntityEventsManager } from "../abstractions/events";
|
|
8
|
+
import { IEntityEventsManager, IEventEmitter } from "../abstractions/events";
|
|
9
9
|
import { IEntityManager } from "../abstractions/manager";
|
|
10
10
|
import { IEntitiesQueryBuilder, IEntitiesSearchQuery, IEntityGetQuery } from "../abstractions/queries";
|
|
11
11
|
import { IEntityReplicaDeleteManager, IEntityReplicaSyncManager, IReplicasConfiguration } from "../abstractions/replication";
|
|
@@ -16,6 +16,7 @@ export declare class EntityServiceLocator<TEntity, TEntityId> {
|
|
|
16
16
|
private readonly services;
|
|
17
17
|
private readonly entityName;
|
|
18
18
|
constructor(services: EntitiesServiceLocator, entityName: string);
|
|
19
|
+
getRootServices(): EntitiesServiceLocator;
|
|
19
20
|
resolveEntityManager(): IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, unknown>;
|
|
20
21
|
resolveEntityActions(): IEntityActions<TEntity, TEntityId, unknown, unknown, unknown, unknown, any, any, unknown, unknown>;
|
|
21
22
|
resolveRepository<TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>(): IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>;
|
|
@@ -48,6 +49,8 @@ export declare class EntitiesServiceLocator {
|
|
|
48
49
|
private readonly provider;
|
|
49
50
|
constructor(provider: ServiceLocator);
|
|
50
51
|
getProvider(): ServiceLocator;
|
|
52
|
+
resolveEventEmitter<TEventEmitter extends IEventEmitter>(): TEventEmitter;
|
|
53
|
+
registerEventEmitter<TEventEmitter extends IEventEmitter>(instance: TEventEmitter): void;
|
|
51
54
|
resolveEntityManager<TEntity>(entityName: string): IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, unknown>;
|
|
52
55
|
registerEntityManager<TEntity>(entityName: string, instance: IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, unknown>): void;
|
|
53
56
|
resolveEntityActions<TEntity>(entityName: string): IEntityActions<TEntity, unknown, unknown, unknown, unknown, unknown, any, any, unknown, unknown>;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { IEntityEventsManager } from "../abstractions/events";
|
|
2
2
|
import { EntityServiceLocator } from "../providers/services";
|
|
3
3
|
export declare class EntityEventsManager<TEntity, TEntityId> implements IEntityEventsManager<TEntity, TEntityId> {
|
|
4
|
+
private readonly entityName;
|
|
4
5
|
private readonly services;
|
|
5
|
-
constructor(services: EntityServiceLocator<TEntity, TEntityId>);
|
|
6
|
+
constructor(entityName: string, services: EntityServiceLocator<TEntity, TEntityId>);
|
|
6
7
|
processEntityCreatedEvent(entity: TEntity): Promise<void>;
|
|
7
8
|
processEntityUpdatedEvent(entity: TEntity): Promise<void>;
|
|
8
9
|
processEntityDeletedEvent(id: TEntityId): Promise<void>;
|
|
10
|
+
private emitEntityEvent;
|
|
9
11
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const EntityServices: {
|
|
2
2
|
Actions: {
|
|
3
3
|
IEntityGetAction: string;
|
|
4
4
|
IEntitiesSearchAction: string;
|
|
@@ -48,3 +48,8 @@ export declare const Services: {
|
|
|
48
48
|
IEntityRepository: string;
|
|
49
49
|
};
|
|
50
50
|
};
|
|
51
|
+
export declare const GlobalServices: {
|
|
52
|
+
Events: {
|
|
53
|
+
IEventEmitter: string;
|
|
54
|
+
};
|
|
55
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { Module } from '@nestjs/core/injector/module';
|
|
|
3
3
|
import { ModulesContainer } from '@nestjs/core/injector/modules-container';
|
|
4
4
|
import { MetadataScanner } from '@nestjs/core/metadata-scanner';
|
|
5
5
|
import { ObjectLiteral, FindOneOptions, FindManyOptions, Repository, ObjectId, FindOptionsWhere, FindOptionsRelations } from 'typeorm';
|
|
6
|
+
import { EventEmitter2 } from '@nestjs/event-emitter';
|
|
6
7
|
|
|
7
8
|
type EnumType = string | number | symbol;
|
|
8
9
|
type SortingType = EnumType;
|
|
@@ -202,6 +203,9 @@ interface IEntityEventsManager<TEntity, TEntityId> {
|
|
|
202
203
|
processEntityUpdatedEvent(entity: TEntity): Promise<void>;
|
|
203
204
|
processEntityDeletedEvent(id: TEntityId): Promise<void>;
|
|
204
205
|
}
|
|
206
|
+
interface IEventEmitter {
|
|
207
|
+
emit(event: string, ...args: any[]): Promise<void>;
|
|
208
|
+
}
|
|
205
209
|
|
|
206
210
|
interface IEntitiesSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets> {
|
|
207
211
|
execute(request: TEntitySearchParameters): Promise<EntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
|
|
@@ -268,6 +272,7 @@ declare class EntityServiceLocator<TEntity, TEntityId> {
|
|
|
268
272
|
private readonly services;
|
|
269
273
|
private readonly entityName;
|
|
270
274
|
constructor(services: EntitiesServiceLocator, entityName: string);
|
|
275
|
+
getRootServices(): EntitiesServiceLocator;
|
|
271
276
|
resolveEntityManager(): IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, unknown>;
|
|
272
277
|
resolveEntityActions(): IEntityActions<TEntity, TEntityId, unknown, unknown, unknown, unknown, any, any, unknown, unknown>;
|
|
273
278
|
resolveRepository<TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>(): IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>;
|
|
@@ -300,6 +305,8 @@ declare class EntitiesServiceLocator {
|
|
|
300
305
|
private readonly provider;
|
|
301
306
|
constructor(provider: ServiceLocator);
|
|
302
307
|
getProvider(): ServiceLocator;
|
|
308
|
+
resolveEventEmitter<TEventEmitter extends IEventEmitter>(): TEventEmitter;
|
|
309
|
+
registerEventEmitter<TEventEmitter extends IEventEmitter>(instance: TEventEmitter): void;
|
|
303
310
|
resolveEntityManager<TEntity>(entityName: string): IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, unknown>;
|
|
304
311
|
registerEntityManager<TEntity>(entityName: string, instance: IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, unknown>): void;
|
|
305
312
|
resolveEntityActions<TEntity>(entityName: string): IEntityActions<TEntity, unknown, unknown, unknown, unknown, unknown, any, any, unknown, unknown>;
|
|
@@ -570,6 +577,9 @@ interface EntityAdapterProps {
|
|
|
570
577
|
declare class EntityManagerRegistry {
|
|
571
578
|
private readonly container;
|
|
572
579
|
getContainer(): IEntityManagerServiceRoot;
|
|
580
|
+
resisterGlobalServices({ eventEmitter, }: {
|
|
581
|
+
eventEmitter?: IEventEmitter;
|
|
582
|
+
}): Promise<void>;
|
|
573
583
|
registerDiscoveredEntity(app: INestApplicationContext, { adapter, entityName, converter, queryBuilder, repository, authMiddleware, }: {
|
|
574
584
|
entityName: string;
|
|
575
585
|
repository: DiscoveredClassWithMeta<EntityRepositoryProps>;
|
|
@@ -650,11 +660,18 @@ declare class NestTypeOrmRepository<TEntity extends ObjectLiteral, TEntityId> ex
|
|
|
650
660
|
constructor(repository: Repository<TEntity>);
|
|
651
661
|
}
|
|
652
662
|
|
|
663
|
+
declare class NestEventEmitter implements IEventEmitter {
|
|
664
|
+
private readonly eventEmitter;
|
|
665
|
+
constructor(eventEmitter: EventEmitter2);
|
|
666
|
+
emit(event: string, ...args: any[]): Promise<void>;
|
|
667
|
+
}
|
|
668
|
+
|
|
653
669
|
declare class EntityManagerInitializer {
|
|
654
670
|
private readonly discover;
|
|
655
671
|
private readonly registry;
|
|
672
|
+
private readonly eventEmitter;
|
|
656
673
|
private readonly logger;
|
|
657
|
-
constructor(discover: CustomDiscoveryService, registry: EntityManagerRegistry);
|
|
674
|
+
constructor(discover: CustomDiscoveryService, registry: EntityManagerRegistry, eventEmitter: NestEventEmitter);
|
|
658
675
|
initialize(app: INestApplicationContext): Promise<void>;
|
|
659
676
|
private discoverEntities;
|
|
660
677
|
private discoverRepositories;
|
|
@@ -664,9 +681,7 @@ declare class EntityManagerInitializer {
|
|
|
664
681
|
private discoverAuthMiddlewares;
|
|
665
682
|
}
|
|
666
683
|
|
|
667
|
-
declare const Processors: (typeof EntityManagerInitializer)[];
|
|
668
|
-
|
|
669
684
|
declare class EntityManagerModule {
|
|
670
685
|
}
|
|
671
686
|
|
|
672
|
-
export { EntityActionsProps, EntityAuthMiddlewareProps, EntityConnectorProps, EntityConverterProps, EntityManagerException, EntityManagerModule, EntityManagerProps, EntityManagerRegistry, EntityManagerSymbols, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntityProps, EntityQueryBuilderProps, EntityRepositoryProps, FilterExpression, IAuthorizationResult, IEntitiesQueryBuilder, IEntitiesSearchAction, IEntitiesSearchQuery, IEntityActions, IEntityAdapter, IEntityAuthorizationMiddleware, IEntityConverter, IEntityCreateAction, IEntityCreateCommand, IEntityDeleteAction, IEntityDeleteCommand, IEntityEventsManager, IEntityGetAction, IEntityGetQuery, IEntityManager, IEntityManagerServiceCollection, IEntityManagerServiceRoot, IEntityMapper, IEntityReplicaDeleteManager, IEntityReplicaSyncManager, IEntityRepository, IEntitySearchParameters, IEntitySearchResults, IEntityUpdateAction, IEntityUpdateCommand, IEntityUpsertAction, IEntityUpsertCommand, IReplicasConfiguration, ISearchFilters, ISearchOptions, ISearchRequestPaging, ISearchResultsPaging, ISearchSorting, ISearchSortingField, ModulesContainerProvider, MultipleEntitiesFoundException, NestEntityActions, NestEntityManager, NestTypeOrmQueryBuilder, NestTypeOrmRepository,
|
|
687
|
+
export { EntityActionsProps, EntityAuthMiddlewareProps, EntityConnectorProps, EntityConverterProps, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerProps, EntityManagerRegistry, EntityManagerSymbols, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntityProps, EntityQueryBuilderProps, EntityRepositoryProps, FilterExpression, IAuthorizationResult, IEntitiesQueryBuilder, IEntitiesSearchAction, IEntitiesSearchQuery, IEntityActions, IEntityAdapter, IEntityAuthorizationMiddleware, IEntityConverter, IEntityCreateAction, IEntityCreateCommand, IEntityDeleteAction, IEntityDeleteCommand, IEntityEventsManager, IEntityGetAction, IEntityGetQuery, IEntityManager, IEntityManagerServiceCollection, IEntityManagerServiceRoot, IEntityMapper, IEntityReplicaDeleteManager, IEntityReplicaSyncManager, IEntityRepository, IEntitySearchParameters, IEntitySearchResults, IEntityUpdateAction, IEntityUpdateCommand, IEntityUpsertAction, IEntityUpsertCommand, IReplicasConfiguration, ISearchFilters, ISearchOptions, ISearchRequestPaging, ISearchResultsPaging, ISearchSorting, ISearchSortingField, ModulesContainerProvider, MultipleEntitiesFoundException, NestEntityActions, NestEntityManager, NestTypeOrmQueryBuilder, NestTypeOrmRepository, QueryBuilderBase, ReplicaConfiguration, ReplicaOptions, ReplicationMode, SortDirection, SortingType, WpEntity, WpEntityActions, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@punks/backend-entity-manager",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.16",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
"@babel/core": "^7.21.0",
|
|
29
29
|
"@nestjs/common": "^10.0.5",
|
|
30
30
|
"@nestjs/core": "^10.0.5",
|
|
31
|
+
"@nestjs/event-emitter": "^2.0.0",
|
|
31
32
|
"@nestjs/swagger": "^7.1.1",
|
|
32
33
|
"@nestjs/testing": "^10.0.5",
|
|
33
34
|
"@nestjs/typeorm": "^10.0.0",
|
package/readme.md
CHANGED