@punks/backend-entity-manager 0.0.101 → 0.0.103
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 +85 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/abstractions/actions.d.ts +5 -0
- package/dist/cjs/types/abstractions/index.d.ts +3 -3
- package/dist/cjs/types/abstractions/manager.d.ts +2 -1
- package/dist/cjs/types/abstractions/queries.d.ts +4 -1
- package/dist/cjs/types/abstractions/versioning.d.ts +7 -1
- package/dist/cjs/types/actions/versions.d.ts +8 -0
- package/dist/cjs/types/concrete/index.d.ts +4 -2
- package/dist/cjs/types/models/index.d.ts +1 -0
- package/dist/cjs/types/models/versioning.d.ts +44 -0
- package/dist/cjs/types/platforms/nest/__test__/server/app/foos/foo.controller.d.ts +2 -1
- package/dist/cjs/types/platforms/nest/__test__/server/app/foos/foo.dto.d.ts +7 -1
- package/dist/cjs/types/platforms/nest/__test__/server/entities/foos/foo.types.d.ts +24 -1
- package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/versioning/providers/entity-versioning/index.d.ts +4 -1
- package/dist/cjs/types/platforms/nest/__test__/server/shared/api/facets.d.ts +12 -0
- package/dist/cjs/types/platforms/nest/__test__/server/shared/api/fields.d.ts +32 -0
- package/dist/cjs/types/platforms/nest/__test__/server/shared/api/versioning.d.ts +16 -0
- package/dist/cjs/types/platforms/nest/__test__/tests/ports.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/decorators/index.d.ts +1 -1
- package/dist/cjs/types/providers/services.d.ts +8 -2
- package/dist/cjs/types/queries/versions.d.ts +10 -0
- package/dist/cjs/types/symbols/ioc.d.ts +2 -0
- package/dist/esm/index.js +84 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/abstractions/actions.d.ts +5 -0
- package/dist/esm/types/abstractions/index.d.ts +3 -3
- package/dist/esm/types/abstractions/manager.d.ts +2 -1
- package/dist/esm/types/abstractions/queries.d.ts +4 -1
- package/dist/esm/types/abstractions/versioning.d.ts +7 -1
- package/dist/esm/types/actions/versions.d.ts +8 -0
- package/dist/esm/types/concrete/index.d.ts +4 -2
- package/dist/esm/types/models/index.d.ts +1 -0
- package/dist/esm/types/models/versioning.d.ts +44 -0
- package/dist/esm/types/platforms/nest/__test__/server/app/foos/foo.controller.d.ts +2 -1
- package/dist/esm/types/platforms/nest/__test__/server/app/foos/foo.dto.d.ts +7 -1
- package/dist/esm/types/platforms/nest/__test__/server/entities/foos/foo.types.d.ts +24 -1
- package/dist/esm/types/platforms/nest/__test__/server/infrastructure/versioning/providers/entity-versioning/index.d.ts +4 -1
- package/dist/esm/types/platforms/nest/__test__/server/shared/api/facets.d.ts +12 -0
- package/dist/esm/types/platforms/nest/__test__/server/shared/api/fields.d.ts +32 -0
- package/dist/esm/types/platforms/nest/__test__/server/shared/api/versioning.d.ts +16 -0
- package/dist/esm/types/platforms/nest/__test__/tests/ports.d.ts +1 -0
- package/dist/esm/types/platforms/nest/__test__/tests/versioning/entity-versioning-api.test.d.ts +1 -0
- package/dist/esm/types/platforms/nest/__test__/tests/versioning/entity-versioning-operations.test.d.ts +1 -0
- package/dist/esm/types/platforms/nest/decorators/index.d.ts +1 -1
- package/dist/esm/types/providers/services.d.ts +8 -2
- package/dist/esm/types/queries/versions.d.ts +10 -0
- package/dist/esm/types/symbols/ioc.d.ts +2 -0
- package/dist/index.d.ts +65 -2
- package/package.json +1 -1
- /package/dist/cjs/types/platforms/nest/__test__/tests/versioning/{entity-versioning.test.d.ts → entity-versioning-api.test.d.ts} +0 -0
- /package/dist/{esm/types/platforms/nest/__test__/tests/versioning/entity-versioning.test.d.ts → cjs/types/platforms/nest/__test__/tests/versioning/entity-versioning-operations.test.d.ts} +0 -0
package/dist/cjs/index.js
CHANGED
|
@@ -461,6 +461,23 @@ class EntityUpsertAction {
|
|
|
461
461
|
}
|
|
462
462
|
}
|
|
463
463
|
|
|
464
|
+
class EntityVersionsSearchAction {
|
|
465
|
+
constructor(services) {
|
|
466
|
+
this.services = services;
|
|
467
|
+
}
|
|
468
|
+
async execute(request) {
|
|
469
|
+
const results = await this.services
|
|
470
|
+
.resolveVersionsSearchQuery()
|
|
471
|
+
.execute(request.params);
|
|
472
|
+
const converter = this.services.resolveConverter();
|
|
473
|
+
return {
|
|
474
|
+
request,
|
|
475
|
+
paging: results.paging,
|
|
476
|
+
items: results.items.map((x) => (converter?.toListItemDto(x) ?? x)),
|
|
477
|
+
};
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
|
|
464
481
|
class EntityCreateCommand {
|
|
465
482
|
constructor(services) {
|
|
466
483
|
this.services = services;
|
|
@@ -506,7 +523,7 @@ class EntityCreateCommand {
|
|
|
506
523
|
}
|
|
507
524
|
const contextService = this.services.resolveAuthenticationContextProvider();
|
|
508
525
|
const context = await contextService?.getContext();
|
|
509
|
-
await versioning.
|
|
526
|
+
await versioning.createVersion({
|
|
510
527
|
operationType: exports.EntityVersionOperation.Create,
|
|
511
528
|
entityId: id,
|
|
512
529
|
entityType: this.services.getEntityName(),
|
|
@@ -560,7 +577,7 @@ class EntityDeleteCommand {
|
|
|
560
577
|
}
|
|
561
578
|
const contextService = this.services.resolveAuthenticationContextProvider();
|
|
562
579
|
const context = await contextService?.getContext();
|
|
563
|
-
await versioning.
|
|
580
|
+
await versioning.createVersion({
|
|
564
581
|
operationType: exports.EntityVersionOperation.Delete,
|
|
565
582
|
entityId: id,
|
|
566
583
|
entityType: this.services.getEntityName(),
|
|
@@ -803,7 +820,7 @@ class EntityUpdateCommand {
|
|
|
803
820
|
}
|
|
804
821
|
const contextService = this.services.resolveAuthenticationContextProvider();
|
|
805
822
|
const context = await contextService?.getContext();
|
|
806
|
-
await versioning.
|
|
823
|
+
await versioning.createVersion({
|
|
807
824
|
operationType: exports.EntityVersionOperation.Update,
|
|
808
825
|
entityId: id,
|
|
809
826
|
entityType: this.services.getEntityName(),
|
|
@@ -870,7 +887,7 @@ class EntityUpsertCommand {
|
|
|
870
887
|
}
|
|
871
888
|
const contextService = this.services.resolveAuthenticationContextProvider();
|
|
872
889
|
const context = await contextService?.getContext();
|
|
873
|
-
await versioning.
|
|
890
|
+
await versioning.createVersion({
|
|
874
891
|
operationType: exports.EntityVersionOperation.Upsert,
|
|
875
892
|
entityId: id,
|
|
876
893
|
entityType: this.services.getEntityName(),
|
|
@@ -923,6 +940,9 @@ class EntityManager {
|
|
|
923
940
|
get sampleDownload() {
|
|
924
941
|
return this.services.resolveSampleDownloadCommand();
|
|
925
942
|
}
|
|
943
|
+
get versions() {
|
|
944
|
+
return this.services.resolveVersionsSearchQuery();
|
|
945
|
+
}
|
|
926
946
|
}
|
|
927
947
|
class EntityActions {
|
|
928
948
|
constructor(services) {
|
|
@@ -964,6 +984,9 @@ class EntityActions {
|
|
|
964
984
|
get sampleDownload() {
|
|
965
985
|
return this.services.resolveSampleDownloadAction();
|
|
966
986
|
}
|
|
987
|
+
get versions() {
|
|
988
|
+
return this.services.resolveVersionsSearchAction();
|
|
989
|
+
}
|
|
967
990
|
}
|
|
968
991
|
|
|
969
992
|
// todo: implement a real IoC container with scopes and stuff
|
|
@@ -1019,6 +1042,7 @@ const EntityServices = {
|
|
|
1019
1042
|
IEntitiesExportAction: "IEntitiesExportAction",
|
|
1020
1043
|
IEntitiesImportAction: "IEntitiesImportAction",
|
|
1021
1044
|
IEntitiesSampleDownloadAction: "IEntitiesSampleDownloadAction",
|
|
1045
|
+
IEntityVersionsSearchAction: "IEntityVersionsSearchAction",
|
|
1022
1046
|
},
|
|
1023
1047
|
Authorization: {
|
|
1024
1048
|
IEntityAuthorizationMiddleware: "IEntityAuthorizationMiddleware",
|
|
@@ -1053,6 +1077,7 @@ const EntityServices = {
|
|
|
1053
1077
|
IEntityGetQuery: "IEntityGetQuery",
|
|
1054
1078
|
IEntitiesSearchQuery: "IEntitiesSearchQuery",
|
|
1055
1079
|
IEntitiesQueryBuilder: "IEntitiesQueryBuilder",
|
|
1080
|
+
IEntityVersionsSearchQuery: "IEntityVersionsSearchQuery",
|
|
1056
1081
|
},
|
|
1057
1082
|
Replication: {
|
|
1058
1083
|
IReplicasConfiguration: "IReplicasConfiguration",
|
|
@@ -1159,6 +1184,9 @@ class EntityServiceLocator {
|
|
|
1159
1184
|
resolveCountQuery() {
|
|
1160
1185
|
return this.services.resolveCountQuery(this.entityName);
|
|
1161
1186
|
}
|
|
1187
|
+
resolveVersionsSearchQuery() {
|
|
1188
|
+
return this.services.resolveVersionsSearchQuery(this.entityName);
|
|
1189
|
+
}
|
|
1162
1190
|
resolveSearchQuery() {
|
|
1163
1191
|
return this.services.resolveSearchQuery(this.entityName);
|
|
1164
1192
|
}
|
|
@@ -1198,6 +1226,9 @@ class EntityServiceLocator {
|
|
|
1198
1226
|
resolveSearchAction() {
|
|
1199
1227
|
return this.services.resolveSearchAction(this.entityName);
|
|
1200
1228
|
}
|
|
1229
|
+
resolveVersionsSearchAction() {
|
|
1230
|
+
return this.services.resolveVersionsSearchAction(this.entityName);
|
|
1231
|
+
}
|
|
1201
1232
|
resolveCreateAction() {
|
|
1202
1233
|
return this.services.resolveCreateAction(this.entityName);
|
|
1203
1234
|
}
|
|
@@ -1408,6 +1439,12 @@ class EntitiesServiceLocator {
|
|
|
1408
1439
|
registerCountQuery(entityName, instance) {
|
|
1409
1440
|
this.provider.registerEntityService(EntityServices.Queries.IEntityCountQuery, entityName, instance);
|
|
1410
1441
|
}
|
|
1442
|
+
resolveVersionsSearchQuery(entityName) {
|
|
1443
|
+
return this.provider.resolveEntityService(EntityServices.Queries.IEntityVersionsSearchQuery, entityName);
|
|
1444
|
+
}
|
|
1445
|
+
registerVersionsSearchQuery(entityName, instance) {
|
|
1446
|
+
this.provider.registerEntityService(EntityServices.Queries.IEntityVersionsSearchQuery, entityName, instance);
|
|
1447
|
+
}
|
|
1411
1448
|
resolveCreateCommand(entityName) {
|
|
1412
1449
|
return this.provider.resolveEntityService(EntityServices.Commands.IEntityCreateCommand, entityName);
|
|
1413
1450
|
}
|
|
@@ -1480,6 +1517,12 @@ class EntitiesServiceLocator {
|
|
|
1480
1517
|
registerSearchAction(entityName, instance) {
|
|
1481
1518
|
this.provider.registerEntityService(EntityServices.Actions.IEntitiesSearchAction, entityName, instance);
|
|
1482
1519
|
}
|
|
1520
|
+
resolveVersionsSearchAction(entityName) {
|
|
1521
|
+
return this.provider.resolveEntityService(EntityServices.Actions.IEntityVersionsSearchAction, entityName);
|
|
1522
|
+
}
|
|
1523
|
+
registerVersionsSearchAction(entityName, instance) {
|
|
1524
|
+
this.provider.registerEntityService(EntityServices.Actions.IEntityVersionsSearchAction, entityName, instance);
|
|
1525
|
+
}
|
|
1483
1526
|
resolveCreateAction(entityName) {
|
|
1484
1527
|
return this.provider.resolveEntityService(EntityServices.Actions.IEntityCreateAction, entityName);
|
|
1485
1528
|
}
|
|
@@ -1681,6 +1724,37 @@ class EntitiesSearchQuery {
|
|
|
1681
1724
|
}
|
|
1682
1725
|
}
|
|
1683
1726
|
|
|
1727
|
+
class EntityVersionsSearchQuery {
|
|
1728
|
+
constructor(services) {
|
|
1729
|
+
this.services = services;
|
|
1730
|
+
}
|
|
1731
|
+
async execute(request) {
|
|
1732
|
+
const context = await this.getContext();
|
|
1733
|
+
await this.authorizeSearch(context);
|
|
1734
|
+
return await this.services
|
|
1735
|
+
.resolveVersioningProvider()
|
|
1736
|
+
.searchVersions(request);
|
|
1737
|
+
}
|
|
1738
|
+
async getContext() {
|
|
1739
|
+
const authorization = this.services.resolveAuthorizationMiddleware();
|
|
1740
|
+
if (!authorization) {
|
|
1741
|
+
return undefined;
|
|
1742
|
+
}
|
|
1743
|
+
const contextService = this.services.resolveAuthenticationContextProvider();
|
|
1744
|
+
return await contextService.getContext();
|
|
1745
|
+
}
|
|
1746
|
+
async authorizeSearch(context) {
|
|
1747
|
+
const authorization = this.services.resolveAuthorizationMiddleware();
|
|
1748
|
+
if (!authorization) {
|
|
1749
|
+
return;
|
|
1750
|
+
}
|
|
1751
|
+
const { isAuthorized } = await authorization.canSearch(context);
|
|
1752
|
+
if (!isAuthorized) {
|
|
1753
|
+
throw new EntityOperationUnauthorizedException(exports.EntityOperationType.Search, this.services.getEntityName());
|
|
1754
|
+
}
|
|
1755
|
+
}
|
|
1756
|
+
}
|
|
1757
|
+
|
|
1684
1758
|
var ConnectorMode;
|
|
1685
1759
|
(function (ConnectorMode) {
|
|
1686
1760
|
ConnectorMode[ConnectorMode["Sync"] = 0] = "Sync";
|
|
@@ -1955,6 +2029,8 @@ class EntityManagerServiceCollection {
|
|
|
1955
2029
|
this.locator.registerSearchQuery(this.entityName, new EntitiesSearchQuery(this.resolver));
|
|
1956
2030
|
this.locator.registerSearchAction(this.entityName, new EntitiesSearchAction(this.resolver));
|
|
1957
2031
|
this.locator.registerQueryBuilder(this.entityName, queryBuilder);
|
|
2032
|
+
this.locator.registerVersionsSearchQuery(this.entityName, new EntityVersionsSearchQuery(this.resolver));
|
|
2033
|
+
this.locator.registerVersionsSearchAction(this.entityName, new EntityVersionsSearchAction(this.resolver));
|
|
1958
2034
|
return this;
|
|
1959
2035
|
}
|
|
1960
2036
|
mapCreate() {
|
|
@@ -2021,6 +2097,9 @@ const toEntitiesImportInput = (request) => ({
|
|
|
2021
2097
|
},
|
|
2022
2098
|
});
|
|
2023
2099
|
|
|
2100
|
+
class IEntityVersionsCursor {
|
|
2101
|
+
}
|
|
2102
|
+
|
|
2024
2103
|
const PLATFORM_EVENT_NAMESPACE = "platform";
|
|
2025
2104
|
const PlatformEvents = {
|
|
2026
2105
|
Messaging: {
|
|
@@ -27569,6 +27648,7 @@ exports.EntityNotFoundException = EntityNotFoundException;
|
|
|
27569
27648
|
exports.EntityOperationUnauthorizedException = EntityOperationUnauthorizedException;
|
|
27570
27649
|
exports.EntitySeeder = EntitySeeder;
|
|
27571
27650
|
exports.EntitySerializer = EntitySerializer;
|
|
27651
|
+
exports.IEntityVersionsCursor = IEntityVersionsCursor;
|
|
27572
27652
|
exports.InvalidCredentialsError = InvalidCredentialsError;
|
|
27573
27653
|
exports.MemberOf = MemberOf;
|
|
27574
27654
|
exports.MissingEntityIdError = MissingEntityIdError;
|
|
@@ -27608,7 +27688,7 @@ exports.WpEntityQueryBuilder = WpEntityQueryBuilder;
|
|
|
27608
27688
|
exports.WpEntityRepository = WpEntityRepository;
|
|
27609
27689
|
exports.WpEntitySeeder = WpEntitySeeder;
|
|
27610
27690
|
exports.WpEntitySerializer = WpEntitySerializer;
|
|
27611
|
-
exports.
|
|
27691
|
+
exports.WpEntityVersioningProvider = WpEntityVersioningProvider;
|
|
27612
27692
|
exports.WpEventsTracker = WpEventsTracker;
|
|
27613
27693
|
exports.WpPipeline = WpPipeline;
|
|
27614
27694
|
exports.WpRolesService = WpRolesService;
|