@punks/backend-entity-manager 0.0.136 → 0.0.138

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.
Files changed (30) hide show
  1. package/dist/cjs/index.js +50 -4
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/abstractions/configuration.d.ts +2 -0
  4. package/dist/cjs/types/abstractions/index.d.ts +1 -0
  5. package/dist/cjs/types/abstractions/snapshot.d.ts +3 -0
  6. package/dist/cjs/types/platforms/nest/decorators/index.d.ts +1 -0
  7. package/dist/cjs/types/platforms/nest/decorators/snapshot.d.ts +4 -0
  8. package/dist/cjs/types/platforms/nest/decorators/symbols.d.ts +1 -0
  9. package/dist/cjs/types/platforms/nest/ioc/registry/index.d.ts +3 -2
  10. package/dist/cjs/types/platforms/nest/pipelines/template/template.d.ts +1 -1
  11. package/dist/cjs/types/platforms/nest/processors/initializer/index.d.ts +1 -0
  12. package/dist/cjs/types/providers/services.d.ts +4 -1
  13. package/dist/cjs/types/symbols/ioc.d.ts +1 -0
  14. package/dist/esm/index.js +50 -5
  15. package/dist/esm/index.js.map +1 -1
  16. package/dist/esm/types/abstractions/configuration.d.ts +2 -0
  17. package/dist/esm/types/abstractions/index.d.ts +1 -0
  18. package/dist/esm/types/abstractions/snapshot.d.ts +3 -0
  19. package/dist/esm/types/platforms/nest/decorators/index.d.ts +1 -0
  20. package/dist/esm/types/platforms/nest/decorators/snapshot.d.ts +4 -0
  21. package/dist/esm/types/platforms/nest/decorators/symbols.d.ts +1 -0
  22. package/dist/esm/types/platforms/nest/ioc/registry/index.d.ts +3 -2
  23. package/dist/esm/types/platforms/nest/pipelines/template/template.d.ts +1 -1
  24. package/dist/esm/types/platforms/nest/processors/initializer/index.d.ts +1 -0
  25. package/dist/esm/types/providers/services.d.ts +4 -1
  26. package/dist/esm/types/symbols/ioc.d.ts +1 -0
  27. package/dist/index.d.ts +19 -3
  28. package/package.json +1 -1
  29. /package/dist/cjs/types/platforms/nest/__test__/tests/pipelines/{simple_pipeline.test.d.ts → simple-pipeline.test.d.ts} +0 -0
  30. /package/dist/esm/types/platforms/nest/__test__/tests/pipelines/{simple_pipeline.test.d.ts → simple-pipeline.test.d.ts} +0 -0
@@ -14,6 +14,7 @@ import { IEntitySearchParameters } from "./searchParameters";
14
14
  import { IEntityFacets } from "./searchResults";
15
15
  import { IEntitySerializer } from "./serializer";
16
16
  import { IEntityConfiguration, EntityManagerSettings } from "./settings";
17
+ import { IEntitySnapshotService } from "./snapshot";
17
18
  export type EntitiesMapOperationsInput<TEntitiesQueryBuilder> = {
18
19
  queryBuilder: TEntitiesQueryBuilder;
19
20
  settings: EntityManagerSettings;
@@ -31,6 +32,7 @@ export interface IEntityManagerServiceCollection<TEntity, TEntityId> {
31
32
  getServiceLocator(): EntityServiceLocator<TEntity, TEntityId>;
32
33
  mapCrudOperations<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TEntitiesQueryBuilder extends IEntitiesQueryBuilder<TEntity, unknown, TEntitySearchParameters, TSorting, TCursor, TFacets, unknown>>(input: EntitiesMapOperationsInput<TEntitiesQueryBuilder>): IEntityManagerServiceCollection<TEntity, TEntityId>;
33
34
  addSerializer<TEntitySerializer extends IEntitySerializer<TEntity, TEntityId>>(serializer: TEntitySerializer): IEntityManagerServiceCollection<TEntity, TEntityId>;
35
+ addSnapshotService<TEntitySnapshotService extends IEntitySnapshotService<TEntityId, unknown>>(service: TEntitySnapshotService): IEntityManagerServiceCollection<TEntity, TEntityId>;
34
36
  addConverter<TEntityDto, TListItemDto, TEntityCreateInput, TEntityUpdateInput, TEntityConverter extends IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateInput, TEntityUpdateInput>>(converter: TEntityConverter): IEntityManagerServiceCollection<TEntity, TEntityId>;
35
37
  addAdapter<TEntityCreateData, TEntityUpdateData, TEntityAdapter extends IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData>>(adapter: TEntityAdapter): IEntityManagerServiceCollection<TEntity, TEntityId>;
36
38
  addAuthorization<TEntityAuthorizationMiddleware extends IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext>, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>({ middleware, }: {
@@ -24,6 +24,7 @@ export { IEntityRepository } from "./repository";
24
24
  export * from "./searchParameters";
25
25
  export { EntitySerializerColumnDefinition, EntitySerializerSheetDefinition, IEntitySerializer, EntitySerializationFormat, } from "./serializer";
26
26
  export { EntityManagerSettings } from "./settings";
27
+ export { IEntitySnapshotService } from "./snapshot";
27
28
  export { IEntitySearchResults, IEntityFacet, IEntityFacetItem, IEntityFacets, ISearchResultsPaging, } from "./searchResults";
28
29
  export * from "./tracking";
29
30
  export { EntityVersionOperation, EntityVersionInput, IEntityVersioningResults, IEntityVersioningProvider, IEntityVersionsSearchInput, } from "./versioning";
@@ -0,0 +1,3 @@
1
+ export interface IEntitySnapshotService<TEntityId, TEntitySnapshot> {
2
+ getSnapshot(id: TEntityId): Promise<TEntitySnapshot>;
3
+ }
@@ -14,6 +14,7 @@ export { WpEntityQueryBuilder, EntityQueryBuilderProps } from "./queryBuilder";
14
14
  export { WpPipeline, PipelineTemplateProps } from "./pipelines";
15
15
  export { WpEntitySeeder, EntitySeederProps } from "./seed";
16
16
  export { WpEntitySerializer, EntitySerializerProps } from "./serializer";
17
+ export { WpEntitySnapshotService, EntitySnapshotServiceProps } from "./snapshot";
17
18
  export { EntityManagerSymbols } from "./symbols";
18
19
  export { WpEventsTracker, EventsTrackerProps } from "./tracking";
19
20
  export { WpEntityVersioningProvider, EntityVersioningProviderProps, } from "./versioning";
@@ -0,0 +1,4 @@
1
+ export interface EntitySnapshotServiceProps {
2
+ entityName: string;
3
+ }
4
+ export declare const WpEntitySnapshotService: (entityName: string, props?: Omit<EntitySnapshotServiceProps, "entityName">) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
@@ -9,6 +9,7 @@ export declare const EntityManagerSymbols: {
9
9
  EntityConnector: symbol;
10
10
  EntityConverter: symbol;
11
11
  EntitySerializer: symbol;
12
+ EntitySnapshotService: symbol;
12
13
  EntityManager: symbol;
13
14
  EntityQueryBuilder: symbol;
14
15
  EntitySeeder: symbol;
@@ -1,5 +1,5 @@
1
1
  import { INestApplicationContext } from "@nestjs/common";
2
- import { EntityAuthMiddlewareProps, EntityConverterProps, EntityProps, EntityQueryBuilderProps, EntityRepositoryProps, EntitySerializerProps } from "../../decorators";
2
+ import { EntityAuthMiddlewareProps, EntityConverterProps, EntityProps, EntityQueryBuilderProps, EntityRepositoryProps, EntitySerializerProps, EntitySnapshotServiceProps } from "../../decorators";
3
3
  import { EntityManagerSettings } from "../../../../abstractions";
4
4
  import { EntityServiceLocator } from "../../../../providers/services";
5
5
  import { DiscoveredClassWithMeta } from "../discovery";
@@ -11,7 +11,7 @@ export declare class EntityManagerRegistry {
11
11
  registerGlobalServices({ eventEmitter, }: {
12
12
  eventEmitter?: IEventEmitter;
13
13
  }): Promise<void>;
14
- registerDiscoveredEntity(app: INestApplicationContext, { adapter, entityName, entity, converter, queryBuilder, repository, authMiddleware, serializer, settings, }: {
14
+ registerDiscoveredEntity(app: INestApplicationContext, { adapter, entityName, entity, converter, queryBuilder, repository, authMiddleware, serializer, snapshotService, settings, }: {
15
15
  entityName: string;
16
16
  entity: DiscoveredClassWithMeta<EntityProps>;
17
17
  repository: DiscoveredClassWithMeta<EntityRepositoryProps>;
@@ -19,6 +19,7 @@ export declare class EntityManagerRegistry {
19
19
  adapter: DiscoveredClassWithMeta<EntityAdapterProps>;
20
20
  queryBuilder: DiscoveredClassWithMeta<EntityQueryBuilderProps>;
21
21
  serializer: DiscoveredClassWithMeta<EntitySerializerProps>;
22
+ snapshotService?: DiscoveredClassWithMeta<EntitySnapshotServiceProps>;
22
23
  authMiddleware?: DiscoveredClassWithMeta<EntityAuthMiddlewareProps>;
23
24
  settings: EntityManagerSettings;
24
25
  }): Promise<void>;
@@ -3,7 +3,7 @@ import { IPipelineTemplateBuilder } from "../builder/types";
3
3
  import { PipelineUtils } from "./utils";
4
4
  import { PipelineTemplateProps } from "../../decorators";
5
5
  export declare abstract class NestPipelineTemplate<TPipelineInput, TPipelineOutput, TContext> {
6
- private readonly logger;
6
+ protected readonly logger: import("@punks/backend-core").ILogger;
7
7
  protected readonly utils: PipelineUtils<TPipelineInput, TPipelineOutput, TContext>;
8
8
  private cachedDefinition;
9
9
  protected abstract buildTemplate(builder: IPipelineTemplateBuilder<TPipelineInput, TContext>): PipelineDefinition<TPipelineInput, TPipelineOutput, TContext>;
@@ -35,6 +35,7 @@ export declare class EntityManagerInitializer {
35
35
  private discoverQueryBuilders;
36
36
  private discoverConverters;
37
37
  private discoverSerializers;
38
+ private discoverSnapshotService;
38
39
  private discoverAdapters;
39
40
  private discoverAuthMiddlewares;
40
41
  private discoverAppInitializers;
@@ -1,4 +1,4 @@
1
- import { IAuthenticationContext, IAuthenticationContextProvider, IBucketProvider, IEmailProvider, IEmailTemplatesCollection, IEntityFacets, IEntitySerializer, IEntityVersioningProvider, IEventLog, IEventsTracker, IFileProvider, IFilesReferenceRepository } from "../abstractions";
1
+ import { IAuthenticationContext, IAuthenticationContextProvider, IBucketProvider, IEmailProvider, IEmailTemplatesCollection, IEntityFacets, IEntitySerializer, IEntitySnapshotService, IEntityVersioningProvider, IEventLog, IEventsTracker, IFileProvider, IFilesReferenceRepository } from "../abstractions";
2
2
  import { IEntitiesCountAction, IEntitiesDeleteAction, IEntitiesExportAction, IEntitiesImportAction, IEntitiesSampleDownloadAction, IEntitiesSearchAction, IEntityActions, IEntityCreateAction, IEntityDeleteAction, IEntityExistsAction, IEntityGetAction, IEntityUpdateAction, IEntityUpsertAction, IEntityVersionsSearchAction } from "../abstractions/actions";
3
3
  import { IEntityAdapter } from "../abstractions/adapters";
4
4
  import { IEntityAuthorizationMiddleware } from "../abstractions/authorization";
@@ -35,6 +35,7 @@ export declare class EntityServiceLocator<TEntity, TEntityId> {
35
35
  resolveConnectorsConfiguration(): IConnectorsConfiguration<TEntity>;
36
36
  resolveConverter<TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(): IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> | undefined;
37
37
  resolveSerializer(): IEntitySerializer<TEntity, TEntityId>;
38
+ resolveSnapshotService<TEntity, TEntityId>(): IEntitySnapshotService<TEntityId, unknown> | undefined;
38
39
  resolveAdapter<TEntityCreateData, TEntityUpdateData>(): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
39
40
  resolveAuthorizationMiddleware<TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
40
41
  resolveGetQuery<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
@@ -123,6 +124,8 @@ export declare class EntitiesServiceLocator {
123
124
  resolveConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(entityName: string): IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> | undefined;
124
125
  registerSerializer<TEntity, TEntityId>(entityName: string, instance: IEntitySerializer<TEntity, TEntityId>): void;
125
126
  resolveSerializer<TEntity, TEntityId>(entityName: string): IEntitySerializer<TEntity, TEntityId>;
127
+ registerSnapshotService<TEntity, TEntityId>(entityName: string, instance: IEntitySnapshotService<TEntityId, unknown>): void;
128
+ resolveSnapshotService<TEntity, TEntityId>(entityName: string): IEntitySnapshotService<TEntityId, unknown> | undefined;
126
129
  resolveAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(entityName: string): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
127
130
  registerAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(entityName: string, instance: IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext>): void;
128
131
  resolveGetQuery<TEntity, TEntityId>(entityName: string): IEntityGetQuery<TEntity, TEntityId>;
@@ -33,6 +33,7 @@ export declare const EntityServices: {
33
33
  IEntityAdapter: string;
34
34
  IEntityConverter: string;
35
35
  IEntitySerializer: string;
36
+ IEntitySnapshotService: string;
36
37
  };
37
38
  Connectors: {
38
39
  IConnectorsConfiguration: string;
package/dist/esm/index.js CHANGED
@@ -516,11 +516,13 @@ class EntityCreateCommand {
516
516
  }
517
517
  const contextService = this.services.resolveAuthenticationContextProvider();
518
518
  const context = await contextService?.getContext();
519
+ const snapshotService = this.services.resolveSnapshotService();
520
+ const snapshot = (await snapshotService?.getSnapshot(id)) ?? entity;
519
521
  await versioning.createVersion({
520
522
  operationType: EntityVersionOperation.Create,
521
523
  entityId: id,
522
524
  entityType: this.services.getEntityName(),
523
- data: entity,
525
+ data: snapshot,
524
526
  modifiedByUserId: context?.userId,
525
527
  });
526
528
  }
@@ -570,10 +572,13 @@ class EntityDeleteCommand {
570
572
  }
571
573
  const contextService = this.services.resolveAuthenticationContextProvider();
572
574
  const context = await contextService?.getContext();
575
+ const snapshotService = this.services.resolveSnapshotService();
576
+ const snapshot = await snapshotService?.getSnapshot(id);
573
577
  await versioning.createVersion({
574
578
  operationType: EntityVersionOperation.Delete,
575
579
  entityId: id,
576
580
  entityType: this.services.getEntityName(),
581
+ data: snapshot,
577
582
  modifiedByUserId: context?.userId,
578
583
  });
579
584
  }
@@ -813,11 +818,13 @@ class EntityUpdateCommand {
813
818
  }
814
819
  const contextService = this.services.resolveAuthenticationContextProvider();
815
820
  const context = await contextService?.getContext();
821
+ const snapshotService = this.services.resolveSnapshotService();
822
+ const snapshot = (await snapshotService?.getSnapshot(id)) ?? entity;
816
823
  await versioning.createVersion({
817
824
  operationType: EntityVersionOperation.Update,
818
825
  entityId: id,
819
826
  entityType: this.services.getEntityName(),
820
- data: entity,
827
+ data: snapshot,
821
828
  modifiedByUserId: context?.userId,
822
829
  });
823
830
  }
@@ -880,11 +887,13 @@ class EntityUpsertCommand {
880
887
  }
881
888
  const contextService = this.services.resolveAuthenticationContextProvider();
882
889
  const context = await contextService?.getContext();
890
+ const snapshotService = this.services.resolveSnapshotService();
891
+ const snapshot = (await snapshotService?.getSnapshot(id)) ?? entity;
883
892
  await versioning.createVersion({
884
893
  operationType: EntityVersionOperation.Upsert,
885
894
  entityId: id,
886
895
  entityType: this.services.getEntityName(),
887
- data: entity,
896
+ data: snapshot,
888
897
  modifiedByUserId: context?.userId,
889
898
  });
890
899
  }
@@ -1086,6 +1095,7 @@ const EntityServices = {
1086
1095
  IEntityAdapter: "IEntityAdapter",
1087
1096
  IEntityConverter: "IEntityConverter",
1088
1097
  IEntitySerializer: "IEntitySerializer",
1098
+ IEntitySnapshotService: "IEntitySnapshotService",
1089
1099
  },
1090
1100
  Connectors: {
1091
1101
  IConnectorsConfiguration: "IConnectorsConfiguration",
@@ -1201,6 +1211,9 @@ class EntityServiceLocator {
1201
1211
  resolveSerializer() {
1202
1212
  return this.services.resolveSerializer(this.entityName);
1203
1213
  }
1214
+ resolveSnapshotService() {
1215
+ return this.services.resolveSnapshotService(this.entityName);
1216
+ }
1204
1217
  resolveAdapter() {
1205
1218
  return this.services.resolveAdapter(this.entityName);
1206
1219
  }
@@ -1471,6 +1484,14 @@ class EntitiesServiceLocator {
1471
1484
  resolveSerializer(entityName) {
1472
1485
  return this.provider.resolveEntityService(EntityServices.Converters.IEntitySerializer, entityName);
1473
1486
  }
1487
+ registerSnapshotService(entityName, instance) {
1488
+ this.provider.registerEntityService(EntityServices.Converters.IEntitySnapshotService, entityName, instance);
1489
+ }
1490
+ resolveSnapshotService(entityName) {
1491
+ return this.provider.resolveEntityService(EntityServices.Converters.IEntitySnapshotService, entityName, {
1492
+ optional: true,
1493
+ });
1494
+ }
1474
1495
  resolveAuthorizationMiddleware(entityName) {
1475
1496
  return this.provider.resolveEntityService(EntityServices.Authorization.IEntityAuthorizationMiddleware, entityName, {
1476
1497
  optional: true,
@@ -2201,6 +2222,10 @@ class EntityManagerServiceCollection {
2201
2222
  this.locator.registerSerializer(this.entityName, serializer);
2202
2223
  return this;
2203
2224
  }
2225
+ addSnapshotService(service) {
2226
+ this.locator.registerSnapshotService(this.entityName, service);
2227
+ return this;
2228
+ }
2204
2229
  addConverter(converter) {
2205
2230
  this.locator.registerConverter(this.entityName, converter);
2206
2231
  return this;
@@ -2291,6 +2316,7 @@ const EntityManagerSymbols = {
2291
2316
  EntityConnector: Symbol.for("WP:ENTITY_CONNECTOR"),
2292
2317
  EntityConverter: Symbol.for("WP:ENTITY_CONVERTER"),
2293
2318
  EntitySerializer: Symbol.for("WP:ENTITY_SERIALIZER"),
2319
+ EntitySnapshotService: Symbol.for("WP:ENTITY_SNAPSHOT_SERVICE"),
2294
2320
  EntityManager: Symbol.for("WP:ENTITY_MANAGER"),
2295
2321
  EntityQueryBuilder: Symbol.for("WP:ENTITY_QUERY_BUILDER"),
2296
2322
  EntitySeeder: Symbol.for("WP:ENTITY_SEEDER"),
@@ -2381,6 +2407,11 @@ const WpEntitySerializer = (entityName, props = {}) => applyDecorators(Injectabl
2381
2407
  ...props,
2382
2408
  }));
2383
2409
 
2410
+ const WpEntitySnapshotService = (entityName, props = {}) => applyDecorators(Injectable(), SetMetadata(EntityManagerSymbols.EntitySnapshotService, {
2411
+ entityName,
2412
+ ...props,
2413
+ }));
2414
+
2384
2415
  const WpEventsTracker = (props = {}) => applyDecorators(Injectable(), SetMetadata(EntityManagerSymbols.EventsTracker, {
2385
2416
  ...props,
2386
2417
  }));
@@ -2723,7 +2754,7 @@ let EntityManagerRegistry = class EntityManagerRegistry {
2723
2754
  .registerEventEmitter(eventEmitter);
2724
2755
  }
2725
2756
  }
2726
- async registerDiscoveredEntity(app, { adapter, entityName, entity, converter, queryBuilder, repository, authMiddleware, serializer, settings, }) {
2757
+ async registerDiscoveredEntity(app, { adapter, entityName, entity, converter, queryBuilder, repository, authMiddleware, serializer, snapshotService, settings, }) {
2727
2758
  if (!repository.discoveredClass.injectType) {
2728
2759
  throw new Error(`No inject type found for entity repository: ${entityName}`);
2729
2760
  }
@@ -2754,6 +2785,12 @@ let EntityManagerRegistry = class EntityManagerRegistry {
2754
2785
  if (adapterInstance) {
2755
2786
  registration.addAdapter(adapterInstance);
2756
2787
  }
2788
+ const snapshotServiceInstance = snapshotService?.discoveredClass.injectType
2789
+ ? (await app.resolve(snapshotService.discoveredClass.injectType))
2790
+ : undefined;
2791
+ if (snapshotServiceInstance) {
2792
+ registration.addSnapshotService(snapshotServiceInstance);
2793
+ }
2757
2794
  const authMiddlewareInstance = authMiddleware?.discoveredClass.injectType
2758
2795
  ? (await app.resolve(authMiddleware.discoveredClass.injectType))
2759
2796
  : undefined;
@@ -21389,12 +21426,14 @@ let EntityManagerInitializer = EntityManagerInitializer_1 = class EntityManagerI
21389
21426
  const queryBuilders = await this.discoverQueryBuilders();
21390
21427
  const converters = await this.discoverConverters();
21391
21428
  const serializers = await this.discoverSerializers();
21429
+ const snapshotServices = await this.discoverSnapshotService();
21392
21430
  const adapters = await this.discoverAdapters();
21393
21431
  const auth = await this.discoverAuthMiddlewares();
21394
21432
  const repositoriesDict = toDict(repositories, (q) => q.meta.entityName);
21395
21433
  const queryBuilderDict = toDict(queryBuilders, (q) => q.meta.entityName);
21396
21434
  const converterDict = toDict(converters, (c) => c.meta.entityName);
21397
21435
  const serializerDict = toDict(serializers, (s) => s.meta.entityName);
21436
+ const snapshotServicesDict = toDict(snapshotServices, (s) => s.meta.entityName);
21398
21437
  const adapterDict = toDict(adapters, (a) => a.meta.entityName);
21399
21438
  const authDict = toDict(auth, (a) => a.meta.entityName);
21400
21439
  const sortedEntities = lodash.exports.orderBy(entities, (x) => x.meta.name);
@@ -21419,6 +21458,7 @@ let EntityManagerInitializer = EntityManagerInitializer_1 = class EntityManagerI
21419
21458
  const adapter = adapterDict[entityName];
21420
21459
  const authMiddleware = authDict[entityName];
21421
21460
  const serializer = serializerDict[entityName];
21461
+ const snapshotService = snapshotServicesDict[entityName];
21422
21462
  await this.registry.registerDiscoveredEntity(app, {
21423
21463
  entityName,
21424
21464
  entity,
@@ -21427,6 +21467,7 @@ let EntityManagerInitializer = EntityManagerInitializer_1 = class EntityManagerI
21427
21467
  queryBuilder,
21428
21468
  converter,
21429
21469
  serializer,
21470
+ snapshotService,
21430
21471
  authMiddleware,
21431
21472
  settings: staticProviders.settings,
21432
21473
  });
@@ -21436,6 +21477,7 @@ let EntityManagerInitializer = EntityManagerInitializer_1 = class EntityManagerI
21436
21477
  - Adapter: ${adapter?.discoveredClass.injectType?.name ?? ""}
21437
21478
  - Converter: ${converter?.discoveredClass.injectType?.name ?? ""}
21438
21479
  - Serializer: ${serializer?.discoveredClass.injectType?.name ?? ""}
21480
+ - SnapshotService: ${snapshotService?.discoveredClass.injectType?.name ?? ""}
21439
21481
  - Auth middleware: ${authMiddleware?.discoveredClass.injectType?.name ?? ""}
21440
21482
 
21441
21483
  `);
@@ -21578,6 +21620,9 @@ let EntityManagerInitializer = EntityManagerInitializer_1 = class EntityManagerI
21578
21620
  async discoverSerializers() {
21579
21621
  return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EntitySerializer);
21580
21622
  }
21623
+ async discoverSnapshotService() {
21624
+ return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EntitySnapshotService);
21625
+ }
21581
21626
  async discoverAdapters() {
21582
21627
  return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EntityAdapter);
21583
21628
  }
@@ -28099,5 +28144,5 @@ InMemoryEmailProvider = __decorate([
28099
28144
  WpEmailProvider("in-memory")
28100
28145
  ], InMemoryEmailProvider);
28101
28146
 
28102
- export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsBucketModule, AwsEmailModule, AwsS3BucketError as AwsS2BucketError, AwsS3BucketProvider, AwsSesEmailTemplate, BooleanFacet, BooleanFacetItem, BucketItemType, CurrentUser, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntitySeeder, EntitySerializationFormat, EntitySerializer, EntityVersionOperation, EventsService, FilesService, IEntityVersionsCursor, InMemoryBucketProvider, InMemoryEmailProvider, InvalidCredentialsError, MemberOf, MissingEntityIdError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestEntitySerializer, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NumericFacet, NumericFacetItem, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PipelineController, PipelineErrorType, PipelineStatus, PipelineStepErrorType, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, QueryBuilderOperation, ReplicationMode, Roles, SendgridEmailModule, SendgridEmailTemplate, SortDirection, StringFacet, StringFacetItem, TrackingService, UserCreationError, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpBucketProvider, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEntitySerializer, WpEntityVersioningProvider, WpEventsTracker, WpFileProvider, WpFileReferenceRepository, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, buildRolesGuard, createContainer, createExpressFileResponse, getLocalizedText, newUuid, renderHandlebarsTemplate, toEntitiesImportInput };
28147
+ export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsBucketModule, AwsEmailModule, AwsS3BucketError as AwsS2BucketError, AwsS3BucketProvider, AwsSesEmailTemplate, BooleanFacet, BooleanFacetItem, BucketItemType, CurrentUser, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntitySeeder, EntitySerializationFormat, EntitySerializer, EntityVersionOperation, EventsService, FilesService, IEntityVersionsCursor, InMemoryBucketProvider, InMemoryEmailProvider, InvalidCredentialsError, MemberOf, MissingEntityIdError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestEntitySerializer, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NumericFacet, NumericFacetItem, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PipelineController, PipelineErrorType, PipelineStatus, PipelineStepErrorType, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, QueryBuilderOperation, ReplicationMode, Roles, SendgridEmailModule, SendgridEmailTemplate, SortDirection, StringFacet, StringFacetItem, TrackingService, UserCreationError, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpBucketProvider, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEntitySerializer, WpEntitySnapshotService, WpEntityVersioningProvider, WpEventsTracker, WpFileProvider, WpFileReferenceRepository, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, buildRolesGuard, createContainer, createExpressFileResponse, getLocalizedText, newUuid, renderHandlebarsTemplate, toEntitiesImportInput };
28103
28148
  //# sourceMappingURL=index.js.map