@punks/backend-entity-manager 0.0.349 → 0.0.350
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 +304 -161
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/abstractions/actions.d.ts +5 -0
- package/dist/cjs/types/abstractions/commands.d.ts +4 -0
- package/dist/cjs/types/abstractions/import.d.ts +8 -0
- package/dist/cjs/types/abstractions/index.d.ts +4 -3
- package/dist/cjs/types/abstractions/manager.d.ts +2 -1
- package/dist/cjs/types/abstractions/parse.d.ts +24 -0
- package/dist/cjs/types/abstractions/serializer.d.ts +20 -3
- package/dist/cjs/types/actions/parse.d.ts +9 -0
- package/dist/cjs/types/base/serializer.d.ts +1 -0
- package/dist/cjs/types/commands/parse.d.ts +14 -0
- package/dist/cjs/types/concrete/index.d.ts +4 -2
- 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 -0
- package/dist/cjs/types/platforms/nest/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/models/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/models/parsing.d.ts +12 -0
- package/dist/cjs/types/providers/{services.d.ts → services/entities-locator.d.ts} +33 -72
- package/dist/cjs/types/providers/services/entity-locator.d.ts +73 -0
- package/dist/cjs/types/providers/services/index.d.ts +2 -0
- package/dist/cjs/types/symbols/ioc.d.ts +2 -0
- package/dist/esm/index.js +303 -162
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/abstractions/actions.d.ts +5 -0
- package/dist/esm/types/abstractions/commands.d.ts +4 -0
- package/dist/esm/types/abstractions/import.d.ts +8 -0
- package/dist/esm/types/abstractions/index.d.ts +4 -3
- package/dist/esm/types/abstractions/manager.d.ts +2 -1
- package/dist/esm/types/abstractions/parse.d.ts +24 -0
- package/dist/esm/types/abstractions/serializer.d.ts +20 -3
- package/dist/esm/types/actions/parse.d.ts +9 -0
- package/dist/esm/types/base/serializer.d.ts +1 -0
- package/dist/esm/types/commands/parse.d.ts +14 -0
- package/dist/esm/types/concrete/index.d.ts +4 -2
- 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 -0
- package/dist/esm/types/platforms/nest/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/models/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/models/parsing.d.ts +12 -0
- package/dist/esm/types/providers/{services.d.ts → services/entities-locator.d.ts} +33 -72
- package/dist/esm/types/providers/services/entity-locator.d.ts +73 -0
- package/dist/esm/types/providers/services/index.d.ts +2 -0
- package/dist/esm/types/symbols/ioc.d.ts +2 -0
- package/dist/index.d.ts +562 -485
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -19,6 +19,7 @@ var schedule = require('@nestjs/schedule');
|
|
|
19
19
|
var require$$0 = require('child_process');
|
|
20
20
|
var cqrs = require('@nestjs/cqrs');
|
|
21
21
|
var require$$1 = require('fs');
|
|
22
|
+
var swagger = require('@nestjs/swagger');
|
|
22
23
|
var clientS3 = require('@aws-sdk/client-s3');
|
|
23
24
|
var s3RequestPresigner = require('@aws-sdk/s3-request-presigner');
|
|
24
25
|
var clientSes = require('@aws-sdk/client-ses');
|
|
@@ -225,13 +226,13 @@ class EntitySerializer {
|
|
|
225
226
|
}
|
|
226
227
|
parseCsv(data, definition) {
|
|
227
228
|
const records = backendCore.csvParse(data, DEFAULT_DELIMITER);
|
|
228
|
-
return records.map((x) => this.convertSheetRecord(x, definition));
|
|
229
|
+
return records.map((x, i) => this.convertSheetRecord(x, definition, i));
|
|
229
230
|
}
|
|
230
231
|
parseXlsx(data, definition) {
|
|
231
232
|
const records = backendCore.excelParse(data);
|
|
232
|
-
return records.map((x) => this.convertSheetRecord(x, definition));
|
|
233
|
+
return records.map((x, i) => this.convertSheetRecord(x, definition, i));
|
|
233
234
|
}
|
|
234
|
-
convertSheetRecord(record, definition) {
|
|
235
|
+
convertSheetRecord(record, definition, rowIndex) {
|
|
235
236
|
if (!record._type || record._type !== this.entityName) {
|
|
236
237
|
throw new Error(`Invalid record type ${record._type} -> record: \n${JSON.stringify(record)}`);
|
|
237
238
|
}
|
|
@@ -244,10 +245,26 @@ class EntitySerializer {
|
|
|
244
245
|
entity[column.selector] = this.parseColumnValue(record, column);
|
|
245
246
|
}
|
|
246
247
|
}
|
|
248
|
+
const validationErrors = [];
|
|
249
|
+
for (const column of definition.columns) {
|
|
250
|
+
for (const validator of column.validators ?? []) {
|
|
251
|
+
const result = validator.fn((item) => item[column.selector]);
|
|
252
|
+
if (!result.isValid) {
|
|
253
|
+
validationErrors.push({
|
|
254
|
+
errorCode: validator.key,
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
247
259
|
const idField = definition.columns.find((x) => x.idColumn || x.selector === "id");
|
|
248
260
|
return {
|
|
249
261
|
id: idField ? entity[idField.selector] : undefined,
|
|
250
262
|
item: entity,
|
|
263
|
+
rowIndex,
|
|
264
|
+
status: {
|
|
265
|
+
isValid: validationErrors.length === 0,
|
|
266
|
+
validationErrors,
|
|
267
|
+
},
|
|
251
268
|
};
|
|
252
269
|
}
|
|
253
270
|
parseColumnValue(row, definition) {
|
|
@@ -309,6 +326,7 @@ class EntitySerializer {
|
|
|
309
326
|
async serialize(data, format) {
|
|
310
327
|
return await this.buildExportFile(data, format);
|
|
311
328
|
}
|
|
329
|
+
validateSheetItem(item, allItems, context) { }
|
|
312
330
|
async getContext() {
|
|
313
331
|
return (await this.services
|
|
314
332
|
.resolveAuthenticationContextProvider()
|
|
@@ -499,6 +517,19 @@ class EntitiesImportAction {
|
|
|
499
517
|
}
|
|
500
518
|
}
|
|
501
519
|
|
|
520
|
+
class EntitiesParseAction {
|
|
521
|
+
constructor(services) {
|
|
522
|
+
this.services = services;
|
|
523
|
+
this.logger = backendCore.Log.getLogger(`${services.getEntityName()} -> Import`);
|
|
524
|
+
}
|
|
525
|
+
async execute(input) {
|
|
526
|
+
this.logger.debug("Parse action started", { input });
|
|
527
|
+
const result = await this.services.resolveParseCommand().execute(input);
|
|
528
|
+
this.logger.debug("Parse action completed", { input });
|
|
529
|
+
return result;
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
|
|
502
533
|
class EntitiesSampleDownloadAction {
|
|
503
534
|
constructor(services) {
|
|
504
535
|
this.services = services;
|
|
@@ -813,6 +844,12 @@ class EntitiesExportCommand {
|
|
|
813
844
|
}
|
|
814
845
|
}
|
|
815
846
|
|
|
847
|
+
var InvalidEntityHandling;
|
|
848
|
+
(function (InvalidEntityHandling) {
|
|
849
|
+
InvalidEntityHandling["Skip"] = "skip";
|
|
850
|
+
InvalidEntityHandling["Fail"] = "fail";
|
|
851
|
+
})(InvalidEntityHandling || (InvalidEntityHandling = {}));
|
|
852
|
+
|
|
816
853
|
class EntitiesImportCommand {
|
|
817
854
|
constructor(services, settings) {
|
|
818
855
|
this.services = services;
|
|
@@ -825,10 +862,19 @@ class EntitiesImportCommand {
|
|
|
825
862
|
fileName: input.file.fileName,
|
|
826
863
|
});
|
|
827
864
|
const importEntities = await this.parseImportFile(input.file.content, input.format);
|
|
828
|
-
|
|
865
|
+
const validEntities = importEntities.filter((x) => x.status.isValid);
|
|
866
|
+
const invalidEntities = importEntities.filter((x) => !x.status.isValid);
|
|
867
|
+
if (invalidEntities.length > 0 &&
|
|
868
|
+
input.options?.invalidEntitiesHandling !== InvalidEntityHandling.Skip) {
|
|
869
|
+
throw new Error(`Cannot import file due to invalid entities: ${invalidEntities
|
|
870
|
+
.map((x) => x.id)
|
|
871
|
+
.join(", ")}`);
|
|
872
|
+
}
|
|
873
|
+
await this.services.resolveSerializer().import(validEntities.map((x) => x.item), input.payload);
|
|
829
874
|
return {
|
|
830
875
|
statistics: {
|
|
831
|
-
importedCount:
|
|
876
|
+
importedCount: validEntities.length,
|
|
877
|
+
skippedCount: invalidEntities.length,
|
|
832
878
|
createdCount: 0,
|
|
833
879
|
unchangedCount: 0,
|
|
834
880
|
updatedCount: 0,
|
|
@@ -854,6 +900,41 @@ class EntitiesImportCommand {
|
|
|
854
900
|
}
|
|
855
901
|
}
|
|
856
902
|
|
|
903
|
+
class EntitiesParseCommand {
|
|
904
|
+
constructor(services, settings) {
|
|
905
|
+
this.services = services;
|
|
906
|
+
this.settings = settings;
|
|
907
|
+
}
|
|
908
|
+
async execute(input) {
|
|
909
|
+
await this.uploadImportFile({
|
|
910
|
+
content: input.file.content,
|
|
911
|
+
contentType: input.file.contentType,
|
|
912
|
+
fileName: input.file.fileName,
|
|
913
|
+
});
|
|
914
|
+
const entries = await this.parseImportFile(input.file.content, input.format);
|
|
915
|
+
return {
|
|
916
|
+
entries,
|
|
917
|
+
};
|
|
918
|
+
}
|
|
919
|
+
async parseImportFile(content, format) {
|
|
920
|
+
return await this.services.resolveSerializer().parse(content, format);
|
|
921
|
+
}
|
|
922
|
+
async uploadImportFile(file) {
|
|
923
|
+
await this.bucket.fileUpload({
|
|
924
|
+
bucket: this.settings.exportBucket.bucket,
|
|
925
|
+
filePath: this.buildAbsoluteBucketPath(file.fileName),
|
|
926
|
+
content: file.content,
|
|
927
|
+
contentType: file.contentType,
|
|
928
|
+
});
|
|
929
|
+
}
|
|
930
|
+
buildAbsoluteBucketPath(relativePath) {
|
|
931
|
+
return `${this.settings.exportBucket.rootFolderPath ?? ""}/parsers/${createDayPath$1(new Date())}/${relativePath}`;
|
|
932
|
+
}
|
|
933
|
+
get bucket() {
|
|
934
|
+
return this.services.getRootServices().resolveDefaultBucketProvider();
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
|
|
857
938
|
class EntitiesSampleDownloadCommand {
|
|
858
939
|
constructor(services, settings) {
|
|
859
940
|
this.services = services;
|
|
@@ -1130,6 +1211,9 @@ class EntityManager {
|
|
|
1130
1211
|
get import() {
|
|
1131
1212
|
return this.services.resolveImportCommand();
|
|
1132
1213
|
}
|
|
1214
|
+
get parse() {
|
|
1215
|
+
return this.services.resolveParseCommand();
|
|
1216
|
+
}
|
|
1133
1217
|
get sampleDownload() {
|
|
1134
1218
|
return this.services.resolveSampleDownloadCommand();
|
|
1135
1219
|
}
|
|
@@ -1174,6 +1258,9 @@ class EntityActions {
|
|
|
1174
1258
|
get import() {
|
|
1175
1259
|
return this.services.resolveImportAction();
|
|
1176
1260
|
}
|
|
1261
|
+
get parse() {
|
|
1262
|
+
return this.services.resolveParseAction();
|
|
1263
|
+
}
|
|
1177
1264
|
get sampleDownload() {
|
|
1178
1265
|
return this.services.resolveSampleDownloadAction();
|
|
1179
1266
|
}
|
|
@@ -1262,6 +1349,7 @@ const EntityServices = {
|
|
|
1262
1349
|
IEntityDeleteAction: "IEntityDeleteAction",
|
|
1263
1350
|
IEntityMergeAction: "IEntityMergeAction",
|
|
1264
1351
|
IEntitiesExportAction: "IEntitiesExportAction",
|
|
1352
|
+
IEntitiesParseAction: "IEntitiesParseAction",
|
|
1265
1353
|
IEntitiesImportAction: "IEntitiesImportAction",
|
|
1266
1354
|
IEntitiesSampleDownloadAction: "IEntitiesSampleDownloadAction",
|
|
1267
1355
|
IEntityVersionsSearchAction: "IEntityVersionsSearchAction",
|
|
@@ -1280,6 +1368,7 @@ const EntityServices = {
|
|
|
1280
1368
|
IEntitiesDeleteCommand: "IEntitiesDeleteCommand",
|
|
1281
1369
|
IEntitiesExportCommand: "IEntitiesExportCommand",
|
|
1282
1370
|
IEntitiesImportCommand: "IEntitiesImportCommand",
|
|
1371
|
+
IEntitiesParseCommand: "IEntitiesParseCommand",
|
|
1283
1372
|
IEntitiesSampleDownloadCommand: "IEntitiesSampleDownloadCommand",
|
|
1284
1373
|
},
|
|
1285
1374
|
Converters: {
|
|
@@ -1360,162 +1449,6 @@ const GlobalServices = {
|
|
|
1360
1449
|
},
|
|
1361
1450
|
};
|
|
1362
1451
|
|
|
1363
|
-
class EntityServiceLocator {
|
|
1364
|
-
constructor(services, entityName) {
|
|
1365
|
-
this.services = services;
|
|
1366
|
-
this.entityName = entityName;
|
|
1367
|
-
}
|
|
1368
|
-
getRootServices() {
|
|
1369
|
-
return this.services;
|
|
1370
|
-
}
|
|
1371
|
-
resolveAuthenticationContextProvider() {
|
|
1372
|
-
return this.services.resolveAuthenticationContextProvider();
|
|
1373
|
-
}
|
|
1374
|
-
resolveEntityManager() {
|
|
1375
|
-
return this.services.resolveEntityManager(this.entityName);
|
|
1376
|
-
}
|
|
1377
|
-
resolveEntityActions() {
|
|
1378
|
-
return this.services.resolveEntityActions(this.entityName);
|
|
1379
|
-
}
|
|
1380
|
-
resolveRepository() {
|
|
1381
|
-
return this.services.resolveRepository(this.entityName);
|
|
1382
|
-
}
|
|
1383
|
-
resolveEventsManager() {
|
|
1384
|
-
return this.services.resolveEventsManager(this.entityName);
|
|
1385
|
-
}
|
|
1386
|
-
resolveVersioningProvider() {
|
|
1387
|
-
return this.services.resolveEntityVersioningProvider();
|
|
1388
|
-
}
|
|
1389
|
-
resolveEntityConfiguration() {
|
|
1390
|
-
return this.services.resolveEntityConfiguration(this.entityName);
|
|
1391
|
-
}
|
|
1392
|
-
resolveReplicaSyncManager() {
|
|
1393
|
-
return this.services.resolveReplicaSyncManager(this.entityName);
|
|
1394
|
-
}
|
|
1395
|
-
resolveReplicaConfiguration() {
|
|
1396
|
-
return this.services.resolveReplicaConfiguration(this.entityName);
|
|
1397
|
-
}
|
|
1398
|
-
resolveReplicaDeleteManager() {
|
|
1399
|
-
return this.services.resolveReplicaDeleteManager(this.entityName);
|
|
1400
|
-
}
|
|
1401
|
-
resolveConnectorSyncManager() {
|
|
1402
|
-
return this.services.resolveConnectorSyncManager(this.entityName);
|
|
1403
|
-
}
|
|
1404
|
-
resolveConnectorDeleteManager() {
|
|
1405
|
-
return this.services.resolveConnectorDeleteManager(this.entityName);
|
|
1406
|
-
}
|
|
1407
|
-
resolveConnectorsConfiguration() {
|
|
1408
|
-
return this.services.resolveConnectorsConfiguration(this.entityName);
|
|
1409
|
-
}
|
|
1410
|
-
resolveConverter() {
|
|
1411
|
-
return this.services.resolveConverter(this.entityName);
|
|
1412
|
-
}
|
|
1413
|
-
resolveSerializer() {
|
|
1414
|
-
return this.services.resolveSerializer(this.entityName);
|
|
1415
|
-
}
|
|
1416
|
-
resolveSnapshotService() {
|
|
1417
|
-
return this.services.resolveSnapshotService(this.entityName);
|
|
1418
|
-
}
|
|
1419
|
-
resolveAdapter() {
|
|
1420
|
-
return this.services.resolveAdapter(this.entityName);
|
|
1421
|
-
}
|
|
1422
|
-
resolveAuthorizationMiddleware() {
|
|
1423
|
-
return this.services.resolveAuthorizationMiddleware(this.entityName);
|
|
1424
|
-
}
|
|
1425
|
-
resolveGetQuery() {
|
|
1426
|
-
return this.services.resolveGetQuery(this.entityName);
|
|
1427
|
-
}
|
|
1428
|
-
resolveExistsQuery() {
|
|
1429
|
-
return this.services.resolveExistsQuery(this.entityName);
|
|
1430
|
-
}
|
|
1431
|
-
resolveCountQuery() {
|
|
1432
|
-
return this.services.resolveCountQuery(this.entityName);
|
|
1433
|
-
}
|
|
1434
|
-
resolveVersionsSearchQuery() {
|
|
1435
|
-
return this.services.resolveVersionsSearchQuery(this.entityName);
|
|
1436
|
-
}
|
|
1437
|
-
resolveSearchQuery() {
|
|
1438
|
-
return this.services.resolveSearchQuery(this.entityName);
|
|
1439
|
-
}
|
|
1440
|
-
resolveFindQuery() {
|
|
1441
|
-
return this.services.resolveFindQuery(this.entityName);
|
|
1442
|
-
}
|
|
1443
|
-
resolveCreateCommand() {
|
|
1444
|
-
return this.services.resolveCreateCommand(this.entityName);
|
|
1445
|
-
}
|
|
1446
|
-
resolveUpdateCommand() {
|
|
1447
|
-
return this.services.resolveUpdateCommand(this.entityName);
|
|
1448
|
-
}
|
|
1449
|
-
resolveUpsertCommand() {
|
|
1450
|
-
return this.services.resolveUpsertCommand(this.entityName);
|
|
1451
|
-
}
|
|
1452
|
-
resolveUpsertByCommand() {
|
|
1453
|
-
return this.services.resolveUpsertByCommand(this.entityName);
|
|
1454
|
-
}
|
|
1455
|
-
resolveDeleteCommand() {
|
|
1456
|
-
return this.services.resolveDeleteCommand(this.entityName);
|
|
1457
|
-
}
|
|
1458
|
-
resolveDeleteItemsCommand() {
|
|
1459
|
-
return this.services.resolveDeleteItemsCommand(this.entityName);
|
|
1460
|
-
}
|
|
1461
|
-
resolveVersionCommand() {
|
|
1462
|
-
return this.services.resolveVersionCommand(this.entityName);
|
|
1463
|
-
}
|
|
1464
|
-
resolveSampleDownloadCommand() {
|
|
1465
|
-
return this.services.resolveSampleDownloadCommand(this.entityName);
|
|
1466
|
-
}
|
|
1467
|
-
resolveImportCommand() {
|
|
1468
|
-
return this.services.resolveImportCommand(this.entityName);
|
|
1469
|
-
}
|
|
1470
|
-
resolveExportCommand() {
|
|
1471
|
-
return this.services.resolveExportCommand(this.entityName);
|
|
1472
|
-
}
|
|
1473
|
-
resolveGetAction() {
|
|
1474
|
-
return this.services.resolveGetAction(this.entityName);
|
|
1475
|
-
}
|
|
1476
|
-
resolveExistsAction() {
|
|
1477
|
-
return this.services.resolveExistsAction(this.entityName);
|
|
1478
|
-
}
|
|
1479
|
-
resolveCountAction() {
|
|
1480
|
-
return this.services.resolveCountAction(this.entityName);
|
|
1481
|
-
}
|
|
1482
|
-
resolveSearchAction() {
|
|
1483
|
-
return this.services.resolveSearchAction(this.entityName);
|
|
1484
|
-
}
|
|
1485
|
-
resolveVersionsSearchAction() {
|
|
1486
|
-
return this.services.resolveVersionsSearchAction(this.entityName);
|
|
1487
|
-
}
|
|
1488
|
-
resolveCreateAction() {
|
|
1489
|
-
return this.services.resolveCreateAction(this.entityName);
|
|
1490
|
-
}
|
|
1491
|
-
resolveUpdateAction() {
|
|
1492
|
-
return this.services.resolveUpdateAction(this.entityName);
|
|
1493
|
-
}
|
|
1494
|
-
resolveUpsertAction() {
|
|
1495
|
-
return this.services.resolveUpsertAction(this.entityName);
|
|
1496
|
-
}
|
|
1497
|
-
resolveDeleteAction() {
|
|
1498
|
-
return this.services.resolveDeleteAction(this.entityName);
|
|
1499
|
-
}
|
|
1500
|
-
resolveDeleteItemsAction() {
|
|
1501
|
-
return this.services.resolveDeleteItemsAction(this.entityName);
|
|
1502
|
-
}
|
|
1503
|
-
resolveImportAction() {
|
|
1504
|
-
return this.services.resolveImportAction(this.entityName);
|
|
1505
|
-
}
|
|
1506
|
-
resolveSampleDownloadAction() {
|
|
1507
|
-
return this.services.resolveSampleDownloadAction(this.entityName);
|
|
1508
|
-
}
|
|
1509
|
-
resolveExportAction() {
|
|
1510
|
-
return this.services.resolveExportAction(this.entityName);
|
|
1511
|
-
}
|
|
1512
|
-
resolveQueryBuilder() {
|
|
1513
|
-
return this.services.resolveQueryBuilder(this.entityName);
|
|
1514
|
-
}
|
|
1515
|
-
getEntityName() {
|
|
1516
|
-
return this.entityName;
|
|
1517
|
-
}
|
|
1518
|
-
}
|
|
1519
1452
|
class EntitiesServiceLocator {
|
|
1520
1453
|
constructor(provider) {
|
|
1521
1454
|
this.provider = provider;
|
|
@@ -1867,6 +1800,12 @@ class EntitiesServiceLocator {
|
|
|
1867
1800
|
registerImportCommand(entityName, instance) {
|
|
1868
1801
|
this.provider.registerEntityService(EntityServices.Commands.IEntitiesImportCommand, entityName, instance);
|
|
1869
1802
|
}
|
|
1803
|
+
resolveParseCommand(entityName) {
|
|
1804
|
+
return this.provider.resolveEntityService(EntityServices.Commands.IEntitiesParseCommand, entityName);
|
|
1805
|
+
}
|
|
1806
|
+
registerParseCommand(entityName, instance) {
|
|
1807
|
+
this.provider.registerEntityService(EntityServices.Commands.IEntitiesParseCommand, entityName, instance);
|
|
1808
|
+
}
|
|
1870
1809
|
resolveSampleDownloadCommand(entityName) {
|
|
1871
1810
|
return this.provider.resolveEntityService(EntityServices.Commands.IEntitiesSampleDownloadCommand, entityName);
|
|
1872
1811
|
}
|
|
@@ -1951,6 +1890,12 @@ class EntitiesServiceLocator {
|
|
|
1951
1890
|
registerImportAction(entityName, instance) {
|
|
1952
1891
|
this.provider.registerEntityService(EntityServices.Actions.IEntitiesImportAction, entityName, instance);
|
|
1953
1892
|
}
|
|
1893
|
+
resolveParseAction(entityName) {
|
|
1894
|
+
return this.provider.resolveEntityService(EntityServices.Actions.IEntitiesParseAction, entityName);
|
|
1895
|
+
}
|
|
1896
|
+
registerParseAction(entityName, instance) {
|
|
1897
|
+
this.provider.registerEntityService(EntityServices.Actions.IEntitiesParseAction, entityName, instance);
|
|
1898
|
+
}
|
|
1954
1899
|
resolveQueryBuilder(entityName) {
|
|
1955
1900
|
return this.provider.resolveEntityService(EntityServices.Queries.IEntitiesQueryBuilder, entityName);
|
|
1956
1901
|
}
|
|
@@ -1959,6 +1904,169 @@ class EntitiesServiceLocator {
|
|
|
1959
1904
|
}
|
|
1960
1905
|
}
|
|
1961
1906
|
|
|
1907
|
+
class EntityServiceLocator {
|
|
1908
|
+
constructor(services, entityName) {
|
|
1909
|
+
this.services = services;
|
|
1910
|
+
this.entityName = entityName;
|
|
1911
|
+
}
|
|
1912
|
+
getRootServices() {
|
|
1913
|
+
return this.services;
|
|
1914
|
+
}
|
|
1915
|
+
resolveAuthenticationContextProvider() {
|
|
1916
|
+
return this.services.resolveAuthenticationContextProvider();
|
|
1917
|
+
}
|
|
1918
|
+
resolveEntityManager() {
|
|
1919
|
+
return this.services.resolveEntityManager(this.entityName);
|
|
1920
|
+
}
|
|
1921
|
+
resolveEntityActions() {
|
|
1922
|
+
return this.services.resolveEntityActions(this.entityName);
|
|
1923
|
+
}
|
|
1924
|
+
resolveRepository() {
|
|
1925
|
+
return this.services.resolveRepository(this.entityName);
|
|
1926
|
+
}
|
|
1927
|
+
resolveEventsManager() {
|
|
1928
|
+
return this.services.resolveEventsManager(this.entityName);
|
|
1929
|
+
}
|
|
1930
|
+
resolveVersioningProvider() {
|
|
1931
|
+
return this.services.resolveEntityVersioningProvider();
|
|
1932
|
+
}
|
|
1933
|
+
resolveEntityConfiguration() {
|
|
1934
|
+
return this.services.resolveEntityConfiguration(this.entityName);
|
|
1935
|
+
}
|
|
1936
|
+
resolveReplicaSyncManager() {
|
|
1937
|
+
return this.services.resolveReplicaSyncManager(this.entityName);
|
|
1938
|
+
}
|
|
1939
|
+
resolveReplicaConfiguration() {
|
|
1940
|
+
return this.services.resolveReplicaConfiguration(this.entityName);
|
|
1941
|
+
}
|
|
1942
|
+
resolveReplicaDeleteManager() {
|
|
1943
|
+
return this.services.resolveReplicaDeleteManager(this.entityName);
|
|
1944
|
+
}
|
|
1945
|
+
resolveConnectorSyncManager() {
|
|
1946
|
+
return this.services.resolveConnectorSyncManager(this.entityName);
|
|
1947
|
+
}
|
|
1948
|
+
resolveConnectorDeleteManager() {
|
|
1949
|
+
return this.services.resolveConnectorDeleteManager(this.entityName);
|
|
1950
|
+
}
|
|
1951
|
+
resolveConnectorsConfiguration() {
|
|
1952
|
+
return this.services.resolveConnectorsConfiguration(this.entityName);
|
|
1953
|
+
}
|
|
1954
|
+
resolveConverter() {
|
|
1955
|
+
return this.services.resolveConverter(this.entityName);
|
|
1956
|
+
}
|
|
1957
|
+
resolveSerializer() {
|
|
1958
|
+
return this.services.resolveSerializer(this.entityName);
|
|
1959
|
+
}
|
|
1960
|
+
resolveSnapshotService() {
|
|
1961
|
+
return this.services.resolveSnapshotService(this.entityName);
|
|
1962
|
+
}
|
|
1963
|
+
resolveAdapter() {
|
|
1964
|
+
return this.services.resolveAdapter(this.entityName);
|
|
1965
|
+
}
|
|
1966
|
+
resolveAuthorizationMiddleware() {
|
|
1967
|
+
return this.services.resolveAuthorizationMiddleware(this.entityName);
|
|
1968
|
+
}
|
|
1969
|
+
resolveGetQuery() {
|
|
1970
|
+
return this.services.resolveGetQuery(this.entityName);
|
|
1971
|
+
}
|
|
1972
|
+
resolveExistsQuery() {
|
|
1973
|
+
return this.services.resolveExistsQuery(this.entityName);
|
|
1974
|
+
}
|
|
1975
|
+
resolveCountQuery() {
|
|
1976
|
+
return this.services.resolveCountQuery(this.entityName);
|
|
1977
|
+
}
|
|
1978
|
+
resolveVersionsSearchQuery() {
|
|
1979
|
+
return this.services.resolveVersionsSearchQuery(this.entityName);
|
|
1980
|
+
}
|
|
1981
|
+
resolveSearchQuery() {
|
|
1982
|
+
return this.services.resolveSearchQuery(this.entityName);
|
|
1983
|
+
}
|
|
1984
|
+
resolveFindQuery() {
|
|
1985
|
+
return this.services.resolveFindQuery(this.entityName);
|
|
1986
|
+
}
|
|
1987
|
+
resolveCreateCommand() {
|
|
1988
|
+
return this.services.resolveCreateCommand(this.entityName);
|
|
1989
|
+
}
|
|
1990
|
+
resolveUpdateCommand() {
|
|
1991
|
+
return this.services.resolveUpdateCommand(this.entityName);
|
|
1992
|
+
}
|
|
1993
|
+
resolveUpsertCommand() {
|
|
1994
|
+
return this.services.resolveUpsertCommand(this.entityName);
|
|
1995
|
+
}
|
|
1996
|
+
resolveUpsertByCommand() {
|
|
1997
|
+
return this.services.resolveUpsertByCommand(this.entityName);
|
|
1998
|
+
}
|
|
1999
|
+
resolveDeleteCommand() {
|
|
2000
|
+
return this.services.resolveDeleteCommand(this.entityName);
|
|
2001
|
+
}
|
|
2002
|
+
resolveDeleteItemsCommand() {
|
|
2003
|
+
return this.services.resolveDeleteItemsCommand(this.entityName);
|
|
2004
|
+
}
|
|
2005
|
+
resolveVersionCommand() {
|
|
2006
|
+
return this.services.resolveVersionCommand(this.entityName);
|
|
2007
|
+
}
|
|
2008
|
+
resolveSampleDownloadCommand() {
|
|
2009
|
+
return this.services.resolveSampleDownloadCommand(this.entityName);
|
|
2010
|
+
}
|
|
2011
|
+
resolveImportCommand() {
|
|
2012
|
+
return this.services.resolveImportCommand(this.entityName);
|
|
2013
|
+
}
|
|
2014
|
+
resolveParseCommand() {
|
|
2015
|
+
return this.services.resolveParseCommand(this.entityName);
|
|
2016
|
+
}
|
|
2017
|
+
resolveExportCommand() {
|
|
2018
|
+
return this.services.resolveExportCommand(this.entityName);
|
|
2019
|
+
}
|
|
2020
|
+
resolveGetAction() {
|
|
2021
|
+
return this.services.resolveGetAction(this.entityName);
|
|
2022
|
+
}
|
|
2023
|
+
resolveExistsAction() {
|
|
2024
|
+
return this.services.resolveExistsAction(this.entityName);
|
|
2025
|
+
}
|
|
2026
|
+
resolveCountAction() {
|
|
2027
|
+
return this.services.resolveCountAction(this.entityName);
|
|
2028
|
+
}
|
|
2029
|
+
resolveSearchAction() {
|
|
2030
|
+
return this.services.resolveSearchAction(this.entityName);
|
|
2031
|
+
}
|
|
2032
|
+
resolveVersionsSearchAction() {
|
|
2033
|
+
return this.services.resolveVersionsSearchAction(this.entityName);
|
|
2034
|
+
}
|
|
2035
|
+
resolveCreateAction() {
|
|
2036
|
+
return this.services.resolveCreateAction(this.entityName);
|
|
2037
|
+
}
|
|
2038
|
+
resolveUpdateAction() {
|
|
2039
|
+
return this.services.resolveUpdateAction(this.entityName);
|
|
2040
|
+
}
|
|
2041
|
+
resolveUpsertAction() {
|
|
2042
|
+
return this.services.resolveUpsertAction(this.entityName);
|
|
2043
|
+
}
|
|
2044
|
+
resolveDeleteAction() {
|
|
2045
|
+
return this.services.resolveDeleteAction(this.entityName);
|
|
2046
|
+
}
|
|
2047
|
+
resolveDeleteItemsAction() {
|
|
2048
|
+
return this.services.resolveDeleteItemsAction(this.entityName);
|
|
2049
|
+
}
|
|
2050
|
+
resolveImportAction() {
|
|
2051
|
+
return this.services.resolveImportAction(this.entityName);
|
|
2052
|
+
}
|
|
2053
|
+
resolveParseAction() {
|
|
2054
|
+
return this.services.resolveParseAction(this.entityName);
|
|
2055
|
+
}
|
|
2056
|
+
resolveSampleDownloadAction() {
|
|
2057
|
+
return this.services.resolveSampleDownloadAction(this.entityName);
|
|
2058
|
+
}
|
|
2059
|
+
resolveExportAction() {
|
|
2060
|
+
return this.services.resolveExportAction(this.entityName);
|
|
2061
|
+
}
|
|
2062
|
+
resolveQueryBuilder() {
|
|
2063
|
+
return this.services.resolveQueryBuilder(this.entityName);
|
|
2064
|
+
}
|
|
2065
|
+
getEntityName() {
|
|
2066
|
+
return this.entityName;
|
|
2067
|
+
}
|
|
2068
|
+
}
|
|
2069
|
+
|
|
1962
2070
|
class EntitiesCountQuery {
|
|
1963
2071
|
constructor(services) {
|
|
1964
2072
|
this.services = services;
|
|
@@ -2515,7 +2623,9 @@ class EntityManagerServiceCollection {
|
|
|
2515
2623
|
this.locator.registerExportCommand(this.entityName, new EntitiesExportCommand(this.resolver, settings));
|
|
2516
2624
|
this.locator.registerExportAction(this.entityName, new EntitiesExportAction(this.resolver));
|
|
2517
2625
|
this.locator.registerImportCommand(this.entityName, new EntitiesImportCommand(this.resolver, settings));
|
|
2626
|
+
this.locator.registerParseCommand(this.entityName, new EntitiesParseCommand(this.resolver, settings));
|
|
2518
2627
|
this.locator.registerImportAction(this.entityName, new EntitiesImportAction(this.resolver));
|
|
2628
|
+
this.locator.registerParseAction(this.entityName, new EntitiesParseAction(this.resolver));
|
|
2519
2629
|
this.locator.registerSampleDownloadCommand(this.entityName, new EntitiesSampleDownloadCommand(this.resolver, settings));
|
|
2520
2630
|
this.locator.registerSampleDownloadAction(this.entityName, new EntitiesSampleDownloadAction(this.resolver));
|
|
2521
2631
|
return this;
|
|
@@ -34722,6 +34832,37 @@ class AppExceptionsFilterBase {
|
|
|
34722
34832
|
}
|
|
34723
34833
|
}
|
|
34724
34834
|
|
|
34835
|
+
class EntityParseValidationError {
|
|
34836
|
+
}
|
|
34837
|
+
__decorate([
|
|
34838
|
+
swagger.ApiProperty(),
|
|
34839
|
+
__metadata("design:type", String)
|
|
34840
|
+
], EntityParseValidationError.prototype, "errorCode", void 0);
|
|
34841
|
+
class EntityParseStatus {
|
|
34842
|
+
}
|
|
34843
|
+
__decorate([
|
|
34844
|
+
swagger.ApiProperty(),
|
|
34845
|
+
__metadata("design:type", Boolean)
|
|
34846
|
+
], EntityParseStatus.prototype, "isValid", void 0);
|
|
34847
|
+
__decorate([
|
|
34848
|
+
swagger.ApiProperty({ type: [EntityParseValidationError] }),
|
|
34849
|
+
__metadata("design:type", Array)
|
|
34850
|
+
], EntityParseStatus.prototype, "validationErrors", void 0);
|
|
34851
|
+
class EntityParseResult {
|
|
34852
|
+
}
|
|
34853
|
+
__decorate([
|
|
34854
|
+
swagger.ApiProperty(),
|
|
34855
|
+
__metadata("design:type", Number)
|
|
34856
|
+
], EntityParseResult.prototype, "rowIndex", void 0);
|
|
34857
|
+
__decorate([
|
|
34858
|
+
swagger.ApiProperty({ type: Object }),
|
|
34859
|
+
__metadata("design:type", Object)
|
|
34860
|
+
], EntityParseResult.prototype, "item", void 0);
|
|
34861
|
+
__decorate([
|
|
34862
|
+
swagger.ApiProperty(),
|
|
34863
|
+
__metadata("design:type", EntityParseStatus)
|
|
34864
|
+
], EntityParseResult.prototype, "status", void 0);
|
|
34865
|
+
|
|
34725
34866
|
const buildCompletedStepsSequence = (step) => {
|
|
34726
34867
|
const steps = [];
|
|
34727
34868
|
let currentStep = step;
|
|
@@ -44204,6 +44345,8 @@ exports.EntityManagerSymbols = EntityManagerSymbols;
|
|
|
44204
44345
|
exports.EntityManagerUnauthorizedException = EntityManagerUnauthorizedException;
|
|
44205
44346
|
exports.EntityNotFoundException = EntityNotFoundException;
|
|
44206
44347
|
exports.EntityOperationUnauthorizedException = EntityOperationUnauthorizedException;
|
|
44348
|
+
exports.EntityParseResult = EntityParseResult;
|
|
44349
|
+
exports.EntityParseValidationError = EntityParseValidationError;
|
|
44207
44350
|
exports.EntitySeeder = EntitySeeder;
|
|
44208
44351
|
exports.EntitySerializer = EntitySerializer;
|
|
44209
44352
|
exports.EntitySnapshotService = EntitySnapshotService;
|