@punks/backend-entity-manager 0.0.100 → 0.0.102
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 +150 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/abstractions/configuration.d.ts +2 -2
- package/dist/cjs/types/abstractions/index.d.ts +1 -0
- package/dist/cjs/types/abstractions/settings.d.ts +7 -0
- package/dist/cjs/types/abstractions/versioning.d.ts +17 -0
- package/dist/cjs/types/commands/create.d.ts +2 -0
- package/dist/cjs/types/commands/delete.d.ts +2 -0
- package/dist/cjs/types/commands/update.d.ts +2 -0
- package/dist/cjs/types/commands/upsert.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/__test__/server/app/appEntityVersions/appEntityVersion.actions.d.ts +8 -0
- package/dist/cjs/types/platforms/nest/__test__/server/app/appEntityVersions/appEntityVersion.controller.d.ts +13 -0
- package/dist/cjs/types/platforms/nest/__test__/server/app/appEntityVersions/appEntityVersion.converter.d.ts +9 -0
- package/dist/cjs/types/platforms/nest/__test__/server/app/appEntityVersions/appEntityVersion.dto.d.ts +37 -0
- package/dist/cjs/types/platforms/nest/__test__/server/app/appEntityVersions/appEntityVersion.module.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities/appEntityVersion.entity.d.ts +11 -0
- package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities.d.ts +2 -1
- package/dist/cjs/types/platforms/nest/__test__/server/database/core/index.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/__test__/server/database/core/repositories/appEntityVersion.repository.d.ts +7 -0
- package/dist/cjs/types/platforms/nest/__test__/server/database/core/repositories.d.ts +2 -1
- package/dist/cjs/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.adapter.d.ts +7 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.authentication.d.ts +11 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.manager.d.ts +7 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.models.d.ts +13 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.module.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.query.d.ts +12 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.serializer.d.ts +6 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.types.d.ts +47 -0
- package/dist/cjs/types/platforms/nest/__test__/server/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/versioning/module.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/versioning/providers/entity-versioning/index.d.ts +8 -0
- package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/versioning/providers/index.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/__test__/tests/versioning/entity-versioning.test.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/decorators/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/decorators/symbols.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/decorators/versioning.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/processors/initializer/index.d.ts +2 -0
- package/dist/cjs/types/providers/services.d.ts +8 -1
- package/dist/cjs/types/symbols/ioc.d.ts +6 -0
- package/dist/esm/index.js +150 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/abstractions/configuration.d.ts +2 -2
- package/dist/esm/types/abstractions/index.d.ts +1 -0
- package/dist/esm/types/abstractions/settings.d.ts +7 -0
- package/dist/esm/types/abstractions/versioning.d.ts +17 -0
- package/dist/esm/types/commands/create.d.ts +2 -0
- package/dist/esm/types/commands/delete.d.ts +2 -0
- package/dist/esm/types/commands/update.d.ts +2 -0
- package/dist/esm/types/commands/upsert.d.ts +2 -0
- package/dist/esm/types/platforms/nest/__test__/server/app/appEntityVersions/appEntityVersion.actions.d.ts +8 -0
- package/dist/esm/types/platforms/nest/__test__/server/app/appEntityVersions/appEntityVersion.controller.d.ts +13 -0
- package/dist/esm/types/platforms/nest/__test__/server/app/appEntityVersions/appEntityVersion.converter.d.ts +9 -0
- package/dist/esm/types/platforms/nest/__test__/server/app/appEntityVersions/appEntityVersion.dto.d.ts +37 -0
- package/dist/esm/types/platforms/nest/__test__/server/app/appEntityVersions/appEntityVersion.module.d.ts +2 -0
- package/dist/esm/types/platforms/nest/__test__/server/database/core/entities/appEntityVersion.entity.d.ts +11 -0
- package/dist/esm/types/platforms/nest/__test__/server/database/core/entities.d.ts +2 -1
- package/dist/esm/types/platforms/nest/__test__/server/database/core/index.d.ts +4 -0
- package/dist/esm/types/platforms/nest/__test__/server/database/core/repositories/appEntityVersion.repository.d.ts +7 -0
- package/dist/esm/types/platforms/nest/__test__/server/database/core/repositories.d.ts +2 -1
- package/dist/esm/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.adapter.d.ts +7 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.authentication.d.ts +11 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.manager.d.ts +7 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.models.d.ts +13 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.module.d.ts +2 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.query.d.ts +12 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.serializer.d.ts +6 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.types.d.ts +47 -0
- package/dist/esm/types/platforms/nest/__test__/server/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/__test__/server/infrastructure/versioning/module.d.ts +2 -0
- package/dist/esm/types/platforms/nest/__test__/server/infrastructure/versioning/providers/entity-versioning/index.d.ts +8 -0
- package/dist/esm/types/platforms/nest/__test__/server/infrastructure/versioning/providers/index.d.ts +2 -0
- package/dist/esm/types/platforms/nest/__test__/tests/versioning/entity-versioning.test.d.ts +1 -0
- package/dist/esm/types/platforms/nest/decorators/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/decorators/symbols.d.ts +1 -0
- package/dist/esm/types/platforms/nest/decorators/versioning.d.ts +4 -0
- package/dist/esm/types/platforms/nest/processors/initializer/index.d.ts +2 -0
- package/dist/esm/types/providers/services.d.ts +8 -1
- package/dist/esm/types/symbols/ioc.d.ts +6 -0
- package/dist/index.d.ts +45 -6
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -109,6 +109,14 @@ exports.EntitySerializationFormat = void 0;
|
|
|
109
109
|
EntitySerializationFormat["Xlsx"] = "xlsx";
|
|
110
110
|
})(exports.EntitySerializationFormat || (exports.EntitySerializationFormat = {}));
|
|
111
111
|
|
|
112
|
+
exports.EntityVersionOperation = void 0;
|
|
113
|
+
(function (EntityVersionOperation) {
|
|
114
|
+
EntityVersionOperation["Create"] = "create";
|
|
115
|
+
EntityVersionOperation["Update"] = "update";
|
|
116
|
+
EntityVersionOperation["Upsert"] = "upsert";
|
|
117
|
+
EntityVersionOperation["Delete"] = "delete";
|
|
118
|
+
})(exports.EntityVersionOperation || (exports.EntityVersionOperation = {}));
|
|
119
|
+
|
|
112
120
|
class EntitySeeder {
|
|
113
121
|
constructor() {
|
|
114
122
|
this.logger = backendCore.Log.getLogger(EntitySeeder.name);
|
|
@@ -458,9 +466,11 @@ class EntityCreateCommand {
|
|
|
458
466
|
this.services = services;
|
|
459
467
|
}
|
|
460
468
|
async execute(input) {
|
|
461
|
-
|
|
469
|
+
const entity = this.adaptEntity(input);
|
|
462
470
|
await this.authorize(entity);
|
|
463
|
-
|
|
471
|
+
const createdItem = await this.services.resolveRepository().create(entity);
|
|
472
|
+
// todo: parametrize id field
|
|
473
|
+
await this.versionEntity(createdItem.id, createdItem);
|
|
464
474
|
await this.services
|
|
465
475
|
.resolveEventsManager()
|
|
466
476
|
.processEntityCreatedEvent(createdItem);
|
|
@@ -486,6 +496,27 @@ class EntityCreateCommand {
|
|
|
486
496
|
if (!authorizationResult.isAuthorized)
|
|
487
497
|
throw new EntityOperationUnauthorizedException(exports.EntityOperationType.Create, this.services.getEntityName(), entity);
|
|
488
498
|
}
|
|
499
|
+
async versionEntity(id, entity) {
|
|
500
|
+
if (!this.isVersioningEnabled()) {
|
|
501
|
+
return;
|
|
502
|
+
}
|
|
503
|
+
const versioning = this.services.resolveVersioningProvider();
|
|
504
|
+
if (!versioning) {
|
|
505
|
+
return;
|
|
506
|
+
}
|
|
507
|
+
const contextService = this.services.resolveAuthenticationContextProvider();
|
|
508
|
+
const context = await contextService?.getContext();
|
|
509
|
+
await versioning.versionEntity({
|
|
510
|
+
operationType: exports.EntityVersionOperation.Create,
|
|
511
|
+
entityId: id,
|
|
512
|
+
entityType: this.services.getEntityName(),
|
|
513
|
+
data: entity,
|
|
514
|
+
modifiedByUserId: context?.userId,
|
|
515
|
+
});
|
|
516
|
+
}
|
|
517
|
+
isVersioningEnabled() {
|
|
518
|
+
return (this.services.resolveEntityConfiguration().versioning?.enabled ?? false);
|
|
519
|
+
}
|
|
489
520
|
}
|
|
490
521
|
|
|
491
522
|
class EntityDeleteCommand {
|
|
@@ -498,6 +529,7 @@ class EntityDeleteCommand {
|
|
|
498
529
|
}
|
|
499
530
|
await this.authorize(id);
|
|
500
531
|
await this.services.resolveRepository().delete(id);
|
|
532
|
+
await this.versionEntity(id);
|
|
501
533
|
await this.services.resolveEventsManager().processEntityDeletedEvent(id);
|
|
502
534
|
}
|
|
503
535
|
async authorize(id) {
|
|
@@ -518,6 +550,26 @@ class EntityDeleteCommand {
|
|
|
518
550
|
if (!authorizationResult.isAuthorized)
|
|
519
551
|
throw new EntityOperationUnauthorizedException(exports.EntityOperationType.Delete, this.services.getEntityName(), entity);
|
|
520
552
|
}
|
|
553
|
+
async versionEntity(id) {
|
|
554
|
+
if (!this.isVersioningEnabled()) {
|
|
555
|
+
return;
|
|
556
|
+
}
|
|
557
|
+
const versioning = this.services.resolveVersioningProvider();
|
|
558
|
+
if (!versioning) {
|
|
559
|
+
return;
|
|
560
|
+
}
|
|
561
|
+
const contextService = this.services.resolveAuthenticationContextProvider();
|
|
562
|
+
const context = await contextService?.getContext();
|
|
563
|
+
await versioning.versionEntity({
|
|
564
|
+
operationType: exports.EntityVersionOperation.Delete,
|
|
565
|
+
entityId: id,
|
|
566
|
+
entityType: this.services.getEntityName(),
|
|
567
|
+
modifiedByUserId: context?.userId,
|
|
568
|
+
});
|
|
569
|
+
}
|
|
570
|
+
isVersioningEnabled() {
|
|
571
|
+
return (this.services.resolveEntityConfiguration().versioning?.enabled ?? false);
|
|
572
|
+
}
|
|
521
573
|
}
|
|
522
574
|
|
|
523
575
|
class EntitiesDeleteCommand {
|
|
@@ -530,6 +582,7 @@ class EntitiesDeleteCommand {
|
|
|
530
582
|
const deleteResult = await this.services
|
|
531
583
|
.resolveQueryBuilder()
|
|
532
584
|
.delete(params.filters, context);
|
|
585
|
+
// todo: version deleted entities
|
|
533
586
|
// todo: add entities deleted event
|
|
534
587
|
return deleteResult;
|
|
535
588
|
}
|
|
@@ -710,6 +763,7 @@ class EntityUpdateCommand {
|
|
|
710
763
|
const updatedEntity = await this.services
|
|
711
764
|
.resolveRepository()
|
|
712
765
|
.update(id, entity);
|
|
766
|
+
await this.versionEntity(id, updatedEntity);
|
|
713
767
|
await this.services
|
|
714
768
|
.resolveEventsManager()
|
|
715
769
|
.processEntityUpdatedEvent(updatedEntity);
|
|
@@ -739,6 +793,27 @@ class EntityUpdateCommand {
|
|
|
739
793
|
if (!authorizationResult.isAuthorized)
|
|
740
794
|
throw new EntityOperationUnauthorizedException(exports.EntityOperationType.Create, this.services.getEntityName(), currentEntity);
|
|
741
795
|
}
|
|
796
|
+
async versionEntity(id, entity) {
|
|
797
|
+
if (!this.isVersioningEnabled()) {
|
|
798
|
+
return;
|
|
799
|
+
}
|
|
800
|
+
const versioning = this.services.resolveVersioningProvider();
|
|
801
|
+
if (!versioning) {
|
|
802
|
+
return;
|
|
803
|
+
}
|
|
804
|
+
const contextService = this.services.resolveAuthenticationContextProvider();
|
|
805
|
+
const context = await contextService?.getContext();
|
|
806
|
+
await versioning.versionEntity({
|
|
807
|
+
operationType: exports.EntityVersionOperation.Update,
|
|
808
|
+
entityId: id,
|
|
809
|
+
entityType: this.services.getEntityName(),
|
|
810
|
+
data: entity,
|
|
811
|
+
modifiedByUserId: context?.userId,
|
|
812
|
+
});
|
|
813
|
+
}
|
|
814
|
+
isVersioningEnabled() {
|
|
815
|
+
return (this.services.resolveEntityConfiguration().versioning?.enabled ?? false);
|
|
816
|
+
}
|
|
742
817
|
}
|
|
743
818
|
|
|
744
819
|
class EntityUpsertCommand {
|
|
@@ -749,6 +824,7 @@ class EntityUpsertCommand {
|
|
|
749
824
|
const entity = this.adaptEntity(data);
|
|
750
825
|
await this.authorize(id, entity);
|
|
751
826
|
const updatedEntity = await this.upsertEntity(id, entity);
|
|
827
|
+
await this.versionEntity(id, updatedEntity);
|
|
752
828
|
await this.services
|
|
753
829
|
.resolveEventsManager()
|
|
754
830
|
.processEntityUpdatedEvent(updatedEntity);
|
|
@@ -784,6 +860,27 @@ class EntityUpsertCommand {
|
|
|
784
860
|
if (!authorizationResult.isAuthorized)
|
|
785
861
|
throw new EntityOperationUnauthorizedException(exports.EntityOperationType.Create, this.services.getEntityName(), entity);
|
|
786
862
|
}
|
|
863
|
+
async versionEntity(id, entity) {
|
|
864
|
+
if (!this.isVersioningEnabled()) {
|
|
865
|
+
return;
|
|
866
|
+
}
|
|
867
|
+
const versioning = this.services.resolveVersioningProvider();
|
|
868
|
+
if (!versioning) {
|
|
869
|
+
return;
|
|
870
|
+
}
|
|
871
|
+
const contextService = this.services.resolveAuthenticationContextProvider();
|
|
872
|
+
const context = await contextService?.getContext();
|
|
873
|
+
await versioning.versionEntity({
|
|
874
|
+
operationType: exports.EntityVersionOperation.Upsert,
|
|
875
|
+
entityId: id,
|
|
876
|
+
entityType: this.services.getEntityName(),
|
|
877
|
+
data: entity,
|
|
878
|
+
modifiedByUserId: context?.userId,
|
|
879
|
+
});
|
|
880
|
+
}
|
|
881
|
+
isVersioningEnabled() {
|
|
882
|
+
return (this.services.resolveEntityConfiguration().versioning?.enabled ?? false);
|
|
883
|
+
}
|
|
787
884
|
}
|
|
788
885
|
|
|
789
886
|
class EntityManager {
|
|
@@ -969,6 +1066,9 @@ const EntityServices = {
|
|
|
969
1066
|
Storage: {
|
|
970
1067
|
IEntityRepository: "IEntityRepository",
|
|
971
1068
|
},
|
|
1069
|
+
Settings: {
|
|
1070
|
+
IEntityConfiguration: "IEntityConfiguration",
|
|
1071
|
+
},
|
|
972
1072
|
};
|
|
973
1073
|
const GlobalServices = {
|
|
974
1074
|
Events: {
|
|
@@ -986,6 +1086,9 @@ const GlobalServices = {
|
|
|
986
1086
|
IEmailTemplatesCollection: "IEmailTemplatesCollection",
|
|
987
1087
|
IBucketProvider: "IBucketProvider",
|
|
988
1088
|
},
|
|
1089
|
+
Versioning: {
|
|
1090
|
+
IEntityVersioningProvider: "IEntityVersioningProvider",
|
|
1091
|
+
},
|
|
989
1092
|
};
|
|
990
1093
|
|
|
991
1094
|
class EntityServiceLocator {
|
|
@@ -1011,6 +1114,12 @@ class EntityServiceLocator {
|
|
|
1011
1114
|
resolveEventsManager() {
|
|
1012
1115
|
return this.services.resolveEventsManager(this.entityName);
|
|
1013
1116
|
}
|
|
1117
|
+
resolveVersioningProvider() {
|
|
1118
|
+
return this.services.resolveEntityVersioningProvider();
|
|
1119
|
+
}
|
|
1120
|
+
resolveEntityConfiguration() {
|
|
1121
|
+
return this.services.resolveEntityConfiguration(this.entityName);
|
|
1122
|
+
}
|
|
1014
1123
|
resolveReplicaSyncManager() {
|
|
1015
1124
|
return this.services.resolveReplicaSyncManager(this.entityName);
|
|
1016
1125
|
}
|
|
@@ -1141,6 +1250,12 @@ class EntitiesServiceLocator {
|
|
|
1141
1250
|
registerEmailProvider(instance) {
|
|
1142
1251
|
this.provider.register(GlobalServices.Plugins.IEmailProvider, instance);
|
|
1143
1252
|
}
|
|
1253
|
+
resolveEntityVersioningProvider() {
|
|
1254
|
+
return this.provider.resolve(GlobalServices.Versioning.IEntityVersioningProvider);
|
|
1255
|
+
}
|
|
1256
|
+
registerEntityVersioningProvider(instance) {
|
|
1257
|
+
this.provider.register(GlobalServices.Versioning.IEntityVersioningProvider, instance);
|
|
1258
|
+
}
|
|
1144
1259
|
resolveBucketProvider() {
|
|
1145
1260
|
return this.provider.resolve(GlobalServices.Plugins.IBucketProvider);
|
|
1146
1261
|
}
|
|
@@ -1173,6 +1288,12 @@ class EntitiesServiceLocator {
|
|
|
1173
1288
|
registerAuthenticationContextProvider(instance) {
|
|
1174
1289
|
this.provider.register(GlobalServices.Authentication.IAuthenticationContextProvider, instance);
|
|
1175
1290
|
}
|
|
1291
|
+
resolveEntityConfiguration(entityName) {
|
|
1292
|
+
return this.provider.resolveEntityService(EntityServices.Settings.IEntityConfiguration, entityName);
|
|
1293
|
+
}
|
|
1294
|
+
registerEntityConfiguration(entityName, instance) {
|
|
1295
|
+
return this.provider.registerEntityService(EntityServices.Settings.IEntityConfiguration, entityName, instance);
|
|
1296
|
+
}
|
|
1176
1297
|
resolveEntityManager(entityName) {
|
|
1177
1298
|
return this.provider.resolveEntityService(EntityServices.Services.IEntityManager, entityName);
|
|
1178
1299
|
}
|
|
@@ -1771,11 +1892,13 @@ class EntityManagerServiceRoot {
|
|
|
1771
1892
|
addAuthentication({ provider }) {
|
|
1772
1893
|
this.getEntitiesServicesLocator().registerAuthenticationContextProvider(provider);
|
|
1773
1894
|
}
|
|
1774
|
-
registerEntity(
|
|
1895
|
+
registerEntity(entity, repository) {
|
|
1896
|
+
const { name: entityName } = entity;
|
|
1775
1897
|
const collection = new EntityManagerServiceCollection(entityName, this.getEntitiesServicesLocator());
|
|
1776
1898
|
const services = this.getEntityServicesLocator(entityName);
|
|
1777
1899
|
collection.locator.registerEntityManager(entityName, new EntityManager(services));
|
|
1778
1900
|
collection.locator.registerEntityActions(entityName, new EntityActions(services));
|
|
1901
|
+
collection.locator.registerEntityConfiguration(entityName, entity);
|
|
1779
1902
|
collection.locator.registerRepository(entityName, repository);
|
|
1780
1903
|
const replicaManager = new EntityReplicaManager(services);
|
|
1781
1904
|
collection.locator.registerReplicaSyncManager(entityName, replicaManager);
|
|
@@ -1957,6 +2080,7 @@ const EntityManagerSymbols = {
|
|
|
1957
2080
|
EntityManager: Symbol.for("WP:ENTITY_MANAGER"),
|
|
1958
2081
|
EntityQueryBuilder: Symbol.for("WP:ENTITY_QUERY_BUILDER"),
|
|
1959
2082
|
EntitySeeder: Symbol.for("WP:ENTITY_SEEDER"),
|
|
2083
|
+
EntityVersioningProvider: Symbol.for("WP:ENTITY_VERSIONING_PROVIDER"),
|
|
1960
2084
|
EmailProvider: Symbol.for("WP:EMAIL_PROVIDER"),
|
|
1961
2085
|
EmailTemplate: Symbol.for("WP:EMAIL_TEMPLATE"),
|
|
1962
2086
|
BucketProvider: Symbol.for("WP:BUCKET_PROVIDER"),
|
|
@@ -2040,6 +2164,10 @@ const WpEventsTracker = (props = {}) => common.applyDecorators(common.Injectable
|
|
|
2040
2164
|
...props,
|
|
2041
2165
|
}));
|
|
2042
2166
|
|
|
2167
|
+
const WpEntityVersioningProvider = (props = {}) => common.applyDecorators(common.Injectable(), common.SetMetadata(EntityManagerSymbols.EntityVersioningProvider, {
|
|
2168
|
+
...props,
|
|
2169
|
+
}));
|
|
2170
|
+
|
|
2043
2171
|
/******************************************************************************
|
|
2044
2172
|
Copyright (c) Microsoft Corporation.
|
|
2045
2173
|
|
|
@@ -2308,7 +2436,7 @@ exports.EntityManagerRegistry = class EntityManagerRegistry {
|
|
|
2308
2436
|
throw new Error(`No inject type found for entity repository: ${entityName}`);
|
|
2309
2437
|
}
|
|
2310
2438
|
const repositoryInstance = (await app.resolve(repository.discoveredClass.injectType));
|
|
2311
|
-
const registration = this.container.registerEntity(
|
|
2439
|
+
const registration = this.container.registerEntity(entity.meta, repositoryInstance);
|
|
2312
2440
|
if (!serializer?.discoveredClass?.injectType) {
|
|
2313
2441
|
throw new Error(`No inject type found for entity serializer: ${entityName}`);
|
|
2314
2442
|
}
|
|
@@ -20867,6 +20995,7 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
|
|
|
20867
20995
|
await this.registerEmailTemplates();
|
|
20868
20996
|
await this.registerEmailProviders();
|
|
20869
20997
|
await this.registerEventTrackingProviders();
|
|
20998
|
+
await this.registerVersioningProviders();
|
|
20870
20999
|
await this.registerBucketProviders();
|
|
20871
21000
|
await this.executeInitializers(app);
|
|
20872
21001
|
await this.executeSeeders();
|
|
@@ -20972,6 +21101,19 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
|
|
|
20972
21101
|
.registerEventsTracker(providers[0].discoveredClass.instance);
|
|
20973
21102
|
this.logger.log(`Events tracker ${providers[0].discoveredClass.name} registered 🚜`);
|
|
20974
21103
|
}
|
|
21104
|
+
async registerVersioningProviders() {
|
|
21105
|
+
const providers = await this.discoverVersioningProviders();
|
|
21106
|
+
if (!providers.length) {
|
|
21107
|
+
return;
|
|
21108
|
+
}
|
|
21109
|
+
for (const provider of providers) {
|
|
21110
|
+
this.registry
|
|
21111
|
+
.getContainer()
|
|
21112
|
+
.getEntitiesServicesLocator()
|
|
21113
|
+
.registerEntityVersioningProvider(provider.discoveredClass.instance);
|
|
21114
|
+
this.logger.log(`Versioning provider ${provider.discoveredClass.name} registered 🚜`);
|
|
21115
|
+
}
|
|
21116
|
+
}
|
|
20975
21117
|
async registerEmailProviders() {
|
|
20976
21118
|
const providers = await this.discoverEmailProviders();
|
|
20977
21119
|
if (!providers.length) {
|
|
@@ -21014,6 +21156,9 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
|
|
|
21014
21156
|
async discoverRepositories() {
|
|
21015
21157
|
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EntityRepository);
|
|
21016
21158
|
}
|
|
21159
|
+
async discoverVersioningProviders() {
|
|
21160
|
+
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EntityVersioningProvider);
|
|
21161
|
+
}
|
|
21017
21162
|
async discoverQueryBuilders() {
|
|
21018
21163
|
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EntityQueryBuilder);
|
|
21019
21164
|
}
|
|
@@ -27463,6 +27608,7 @@ exports.WpEntityQueryBuilder = WpEntityQueryBuilder;
|
|
|
27463
27608
|
exports.WpEntityRepository = WpEntityRepository;
|
|
27464
27609
|
exports.WpEntitySeeder = WpEntitySeeder;
|
|
27465
27610
|
exports.WpEntitySerializer = WpEntitySerializer;
|
|
27611
|
+
exports.WpEntityVersioningProvider = WpEntityVersioningProvider;
|
|
27466
27612
|
exports.WpEventsTracker = WpEventsTracker;
|
|
27467
27613
|
exports.WpPipeline = WpPipeline;
|
|
27468
27614
|
exports.WpRolesService = WpRolesService;
|