@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.
Files changed (46) hide show
  1. package/dist/cjs/index.js +304 -161
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/abstractions/actions.d.ts +5 -0
  4. package/dist/cjs/types/abstractions/commands.d.ts +4 -0
  5. package/dist/cjs/types/abstractions/import.d.ts +8 -0
  6. package/dist/cjs/types/abstractions/index.d.ts +4 -3
  7. package/dist/cjs/types/abstractions/manager.d.ts +2 -1
  8. package/dist/cjs/types/abstractions/parse.d.ts +24 -0
  9. package/dist/cjs/types/abstractions/serializer.d.ts +20 -3
  10. package/dist/cjs/types/actions/parse.d.ts +9 -0
  11. package/dist/cjs/types/base/serializer.d.ts +1 -0
  12. package/dist/cjs/types/commands/parse.d.ts +14 -0
  13. package/dist/cjs/types/concrete/index.d.ts +4 -2
  14. package/dist/cjs/types/platforms/nest/__test__/server/app/foos/foo.controller.d.ts +2 -1
  15. package/dist/cjs/types/platforms/nest/__test__/server/app/foos/foo.dto.d.ts +7 -0
  16. package/dist/cjs/types/platforms/nest/index.d.ts +1 -0
  17. package/dist/cjs/types/platforms/nest/models/index.d.ts +1 -0
  18. package/dist/cjs/types/platforms/nest/models/parsing.d.ts +12 -0
  19. package/dist/cjs/types/providers/{services.d.ts → services/entities-locator.d.ts} +33 -72
  20. package/dist/cjs/types/providers/services/entity-locator.d.ts +73 -0
  21. package/dist/cjs/types/providers/services/index.d.ts +2 -0
  22. package/dist/cjs/types/symbols/ioc.d.ts +2 -0
  23. package/dist/esm/index.js +303 -162
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/types/abstractions/actions.d.ts +5 -0
  26. package/dist/esm/types/abstractions/commands.d.ts +4 -0
  27. package/dist/esm/types/abstractions/import.d.ts +8 -0
  28. package/dist/esm/types/abstractions/index.d.ts +4 -3
  29. package/dist/esm/types/abstractions/manager.d.ts +2 -1
  30. package/dist/esm/types/abstractions/parse.d.ts +24 -0
  31. package/dist/esm/types/abstractions/serializer.d.ts +20 -3
  32. package/dist/esm/types/actions/parse.d.ts +9 -0
  33. package/dist/esm/types/base/serializer.d.ts +1 -0
  34. package/dist/esm/types/commands/parse.d.ts +14 -0
  35. package/dist/esm/types/concrete/index.d.ts +4 -2
  36. package/dist/esm/types/platforms/nest/__test__/server/app/foos/foo.controller.d.ts +2 -1
  37. package/dist/esm/types/platforms/nest/__test__/server/app/foos/foo.dto.d.ts +7 -0
  38. package/dist/esm/types/platforms/nest/index.d.ts +1 -0
  39. package/dist/esm/types/platforms/nest/models/index.d.ts +1 -0
  40. package/dist/esm/types/platforms/nest/models/parsing.d.ts +12 -0
  41. package/dist/esm/types/providers/{services.d.ts → services/entities-locator.d.ts} +33 -72
  42. package/dist/esm/types/providers/services/entity-locator.d.ts +73 -0
  43. package/dist/esm/types/providers/services/index.d.ts +2 -0
  44. package/dist/esm/types/symbols/ioc.d.ts +2 -0
  45. package/dist/index.d.ts +562 -485
  46. 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
- await this.services.resolveSerializer().import(importEntities.map((x) => x.item), input.payload);
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: importEntities.length,
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;