@etohq/orchestration 1.4.0 → 1.5.1-alpha.0

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 (38) hide show
  1. package/dist/joiner/remote-joiner.d.ts +3 -0
  2. package/dist/joiner/remote-joiner.d.ts.map +1 -1
  3. package/dist/joiner/remote-joiner.js +263 -26
  4. package/dist/joiner/remote-joiner.js.map +1 -1
  5. package/dist/transaction/datastore/abstract-storage.d.ts +5 -3
  6. package/dist/transaction/datastore/abstract-storage.d.ts.map +1 -1
  7. package/dist/transaction/datastore/abstract-storage.js +3 -3
  8. package/dist/transaction/datastore/abstract-storage.js.map +1 -1
  9. package/dist/transaction/datastore/base-in-memory-storage.d.ts +1 -0
  10. package/dist/transaction/datastore/base-in-memory-storage.d.ts.map +1 -1
  11. package/dist/transaction/datastore/base-in-memory-storage.js +1 -0
  12. package/dist/transaction/datastore/base-in-memory-storage.js.map +1 -1
  13. package/dist/transaction/distributed-transaction.d.ts +4 -1
  14. package/dist/transaction/distributed-transaction.d.ts.map +1 -1
  15. package/dist/transaction/distributed-transaction.js +8 -6
  16. package/dist/transaction/distributed-transaction.js.map +1 -1
  17. package/dist/transaction/errors.d.ts +8 -0
  18. package/dist/transaction/errors.d.ts.map +1 -1
  19. package/dist/transaction/errors.js +23 -1
  20. package/dist/transaction/errors.js.map +1 -1
  21. package/dist/transaction/transaction-orchestrator.d.ts +74 -6
  22. package/dist/transaction/transaction-orchestrator.d.ts.map +1 -1
  23. package/dist/transaction/transaction-orchestrator.js +520 -292
  24. package/dist/transaction/transaction-orchestrator.js.map +1 -1
  25. package/dist/transaction/types.d.ts +28 -7
  26. package/dist/transaction/types.d.ts.map +1 -1
  27. package/dist/transaction/types.js.map +1 -1
  28. package/dist/workflow/global-workflow.d.ts.map +1 -1
  29. package/dist/workflow/global-workflow.js +15 -3
  30. package/dist/workflow/global-workflow.js.map +1 -1
  31. package/dist/workflow/local-workflow.d.ts +3 -1
  32. package/dist/workflow/local-workflow.d.ts.map +1 -1
  33. package/dist/workflow/local-workflow.js +45 -8
  34. package/dist/workflow/local-workflow.js.map +1 -1
  35. package/dist/workflow/scheduler.d.ts.map +1 -1
  36. package/dist/workflow/scheduler.js +2 -3
  37. package/dist/workflow/scheduler.js.map +1 -1
  38. package/package.json +12 -11
@@ -20,6 +20,7 @@ export declare class RemoteJoiner {
20
20
  });
21
21
  setFetchDataCallback(remoteFetchData: RemoteFetchDataCallback): void;
22
22
  private buildReferences;
23
+ private mergeFieldAlias;
23
24
  private getServiceConfig;
24
25
  private cacheServiceConfig;
25
26
  private fetchData;
@@ -34,6 +35,8 @@ export declare class RemoteJoiner {
34
35
  private getEntity;
35
36
  private parseAlias;
36
37
  private groupExpands;
38
+ private createFilterFromInitialData;
39
+ private mergeInitialData;
37
40
  query(queryObj: RemoteJoinerQuery, options?: RemoteJoinerOptions): Promise<any>;
38
41
  }
39
42
  //# sourceMappingURL=remote-joiner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-joiner.d.ts","sourceRoot":"","sources":["../../src/joiner/remote-joiner.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,cAAc,CAAA;AAarB,MAAM,MAAM,uBAAuB,GAAG,CACpC,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC,EAAE,EAC7B,YAAY,CAAC,EAAE,GAAG,KACf,OAAO,CAAC;IACX,IAAI,EAAE,OAAO,EAAE,GAAG;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAC,CAAA;AASF,qBAAa,YAAY;IA8GrB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,OAAO;IA9GjB,OAAO,CAAC,kBAAkB,CACf;IAEX,OAAO,CAAC,SAAS,CAA8C;IAE/D,OAAO,CAAC,MAAM,CAAC,YAAY;IAwD3B,OAAO,CAAC,MAAM,CAAC,cAAc;IAe7B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAuBnC,MAAM,CAAC,UAAU,CACf,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,iBAAiB;gBAMlB,cAAc,EAAE,kBAAkB,EAAE,EAC5B,eAAe,EAAE,uBAAuB,EACxC,OAAO,GAAE;QACf,0BAA0B,CAAC,EAAE,OAAO,CAAA;QACpC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAC1B;IAmBD,oBAAoB,CAAC,eAAe,EAAE,uBAAuB,GAAG,IAAI;IAI3E,OAAO,CAAC,eAAe;IAoLvB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,kBAAkB;YAmDZ,SAAS;IAkFvB,OAAO,CAAC,gBAAgB;IAgDxB,OAAO,CAAC,kBAAkB;YAkFZ,aAAa;IAwC3B,OAAO,CAAC,qBAAqB;YA+Bf,cAAc;YA8Bd,0BAA0B;IAwFxC,OAAO,CAAC,YAAY;IAwBpB,OAAO,CAAC,eAAe;IAwJvB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IA8HlB,OAAO,CAAC,YAAY;IA4Cd,KAAK,CACT,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,GAAG,CAAC;CA6DhB"}
1
+ {"version":3,"file":"remote-joiner.d.ts","sourceRoot":"","sources":["../../src/joiner/remote-joiner.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,cAAc,CAAA;AAarB,MAAM,MAAM,uBAAuB,GAAG,CACpC,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC,EAAE,EAC7B,YAAY,CAAC,EAAE,GAAG,KACf,OAAO,CAAC;IACX,IAAI,EAAE,OAAO,EAAE,GAAG;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAC,CAAA;AAoBF,qBAAa,YAAY;IA8GrB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,OAAO;IA9GjB,OAAO,CAAC,kBAAkB,CACf;IAEX,OAAO,CAAC,SAAS,CAA8C;IAE/D,OAAO,CAAC,MAAM,CAAC,YAAY;IAwD3B,OAAO,CAAC,MAAM,CAAC,cAAc;IAe7B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAuBnC,MAAM,CAAC,UAAU,CACf,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,iBAAiB;gBAMlB,cAAc,EAAE,kBAAkB,EAAE,EAC5B,eAAe,EAAE,uBAAuB,EACxC,OAAO,GAAE;QACf,0BAA0B,CAAC,EAAE,OAAO,CAAA;QACpC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAC1B;IAmBD,oBAAoB,CAAC,eAAe,EAAE,uBAAuB,GAAG,IAAI;IAI3E,OAAO,CAAC,eAAe;IAqLvB,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,kBAAkB;YAmDZ,SAAS;IAkFvB,OAAO,CAAC,gBAAgB;IAgDxB,OAAO,CAAC,kBAAkB;YAkFZ,aAAa;IAwC3B,OAAO,CAAC,qBAAqB;YA+Bf,cAAc;YA8Bd,0BAA0B;IA6HxC,OAAO,CAAC,YAAY;IAmCpB,OAAO,CAAC,eAAe;IAuJvB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IA8IlB,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,2BAA2B;IAuHnC,OAAO,CAAC,gBAAgB;IAiFlB,KAAK,CACT,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,GAAG,CAAC;CAmHhB"}
@@ -194,7 +194,8 @@ class RemoteJoiner {
194
194
  else {
195
195
  service_.relationships?.set(aliasName, rel);
196
196
  }
197
- Object.assign(service_.fieldAlias ?? {}, extend.fieldAlias);
197
+ // Multiple "fieldAlias" w/ same name need the entity to handle different paths
198
+ this.mergeFieldAlias(service_, extend);
198
199
  }
199
200
  }
200
201
  for (const [serviceName, { fieldAlias, relationships },] of expandedRelationships) {
@@ -225,6 +226,31 @@ class RemoteJoiner {
225
226
  }
226
227
  return serviceConfigs;
227
228
  }
229
+ mergeFieldAlias(service_, extend) {
230
+ for (const [alias, fieldAlias] of Object.entries(extend.fieldAlias ?? {})) {
231
+ const objAlias = (0, utils_1.isString)(fieldAlias)
232
+ ? { path: fieldAlias }
233
+ : fieldAlias;
234
+ if (service_.fieldAlias[alias]) {
235
+ if (!Array.isArray(service_.fieldAlias[alias])) {
236
+ service_.fieldAlias[alias] = [service_.fieldAlias[alias]];
237
+ }
238
+ if (service_.fieldAlias[alias].some((f) => f.entity === extend.entity)) {
239
+ throw new Error(`Cannot add alias "${alias}" for "${extend.serviceName}". It is already defined for Entity "${extend.entity}".`);
240
+ }
241
+ service_.fieldAlias[alias].push({
242
+ ...objAlias,
243
+ entity: extend.entity,
244
+ });
245
+ }
246
+ else {
247
+ service_.fieldAlias[alias] = {
248
+ ...objAlias,
249
+ entity: extend.entity,
250
+ };
251
+ }
252
+ }
253
+ }
228
254
  getServiceConfig({ serviceName, serviceAlias, entity, }) {
229
255
  if (entity) {
230
256
  const name = `entity_${entity}`;
@@ -488,31 +514,50 @@ class RemoteJoiner {
488
514
  ? relationship.primaryKey
489
515
  : relationship.foreignKey.split(".").pop();
490
516
  const fieldsArray = field.split(",");
491
- const idsToFetch = [];
517
+ const idsToFetch = new Set();
518
+ const requestedFields = new Set(expand.fields ?? []);
519
+ const fieldsById = new Map();
492
520
  items.forEach((item) => {
493
521
  const values = fieldsArray.map((field) => item?.[field]);
494
- if (values.length === fieldsArray.length && !item?.[relationship.alias]) {
495
- if (fieldsArray.length === 1) {
496
- if (!idsToFetch.includes(values[0])) {
497
- idsToFetch.push(values[0]);
522
+ if (values.length === fieldsArray.length) {
523
+ if (item?.[relationship.alias]) {
524
+ for (const field of requestedFields.values()) {
525
+ if (field in item[relationship.alias]) {
526
+ requestedFields.delete(field);
527
+ fieldsById.delete(field);
528
+ }
529
+ else {
530
+ if (!fieldsById.has(field)) {
531
+ fieldsById.set(field, []);
532
+ }
533
+ fieldsById
534
+ .get(field)
535
+ .push(fieldsArray.length === 1 ? values[0] : values);
536
+ }
498
537
  }
499
538
  }
500
539
  else {
501
- // composite key
502
- const valuesString = values.join(",");
503
- if (!idsToFetch.some((id) => id.join(",") === valuesString)) {
504
- idsToFetch.push(values);
540
+ if (fieldsArray.length === 1) {
541
+ idsToFetch.add(values[0]);
542
+ }
543
+ else {
544
+ idsToFetch.add(values);
505
545
  }
506
546
  }
507
547
  }
508
548
  });
509
- if (idsToFetch.length === 0) {
549
+ for (const values of fieldsById.values()) {
550
+ values.forEach((val) => {
551
+ idsToFetch.add(val);
552
+ });
553
+ }
554
+ if (idsToFetch.size === 0) {
510
555
  return;
511
556
  }
512
557
  const relatedDataArray = await this.fetchData({
513
558
  expand,
514
559
  pkField: field,
515
- ids: idsToFetch,
560
+ ids: Array.from(idsToFetch),
516
561
  relationship,
517
562
  options,
518
563
  });
@@ -524,10 +569,21 @@ class RemoteJoiner {
524
569
  : relatedDataArray.data;
525
570
  const relatedDataMap = RemoteJoiner.createRelatedDataMap(relData, joinFields);
526
571
  items.forEach((item) => {
527
- if (!item || item[relationship.alias]) {
572
+ if (!item) {
528
573
  return;
529
574
  }
530
575
  const itemKey = fieldsArray.map((field) => item[field]).join(",");
576
+ if (item[relationship.alias]) {
577
+ if (Array.isArray(item[field])) {
578
+ for (let i = 0; i < item[relationship.alias].length; i++) {
579
+ const it = item[relationship.alias][i];
580
+ item[relationship.alias][i] = Object.assign(it, relatedDataMap[it[relationship.primaryKey]]);
581
+ }
582
+ return;
583
+ }
584
+ item[relationship.alias] = Object.assign(item[relationship.alias], relatedDataMap[itemKey]);
585
+ return;
586
+ }
531
587
  if (Array.isArray(item[field])) {
532
588
  item[relationship.alias] = item[field].map((id) => {
533
589
  if (relationship.isList && !Array.isArray(relatedDataMap[id])) {
@@ -549,14 +605,21 @@ class RemoteJoiner {
549
605
  });
550
606
  }
551
607
  parseExpands(params) {
552
- const { initialService, query, serviceConfig, expands, implodeMapping } = params;
553
- const parsedExpands = this.parseProperties({
608
+ const { initialService, query, serviceConfig, expands, implodeMapping, options, initialData, initialDataOnly, } = params;
609
+ const { parsedExpands, aliasRealPathMap } = this.parseProperties({
554
610
  initialService,
555
611
  query,
556
612
  serviceConfig,
557
613
  expands,
558
614
  implodeMapping,
559
615
  });
616
+ if (initialData?.length && initialDataOnly) {
617
+ this.createFilterFromInitialData({
618
+ initialData: options?.initialData,
619
+ parsedExpands,
620
+ aliasRealPathMap,
621
+ });
622
+ }
560
623
  const groupedExpands = this.groupExpands(parsedExpands);
561
624
  return groupedExpands;
562
625
  }
@@ -671,7 +734,7 @@ class RemoteJoiner {
671
734
  currentAliasPath.push(prop);
672
735
  }
673
736
  }
674
- return parsedExpands;
737
+ return { parsedExpands, aliasRealPathMap };
675
738
  }
676
739
  getEntity({ entity, prop }) {
677
740
  return this.entityMap.get(entity)?.get(prop);
@@ -679,7 +742,15 @@ class RemoteJoiner {
679
742
  parseAlias({ aliasPath, aliasRealPathMap, expands, expand, property, parsedExpands, currentServiceConfig, currentPath, implodeMapping, forwardArgumentsOnPath, }) {
680
743
  const serviceConfig = currentServiceConfig;
681
744
  const fieldAlias = currentServiceConfig.fieldAlias ?? {};
682
- const alias = fieldAlias[property];
745
+ let alias = fieldAlias[property];
746
+ // Handle multiple shortcuts for the same property
747
+ if (Array.isArray(alias)) {
748
+ const currentPathEntity = parsedExpands.get([BASE_PATH, ...currentPath].join("."))?.entity;
749
+ alias = alias.find((a) => a.entity == currentPathEntity);
750
+ if (!alias) {
751
+ throw new Error(`Cannot resolve alias path "${currentPath.join(".")}" that matches entity ${currentPathEntity}.`);
752
+ }
753
+ }
683
754
  const path = (0, utils_1.isString)(alias) ? alias : alias.path;
684
755
  const fieldAliasIsList = (0, utils_1.isString)(alias) ? false : !!alias.isList;
685
756
  const fullPath = [...currentPath.concat(path.split("."))];
@@ -786,6 +857,137 @@ class RemoteJoiner {
786
857
  }
787
858
  return mergedExpands;
788
859
  }
860
+ createFilterFromInitialData({ initialData, parsedExpands, aliasRealPathMap, }) {
861
+ if (!initialData.length) {
862
+ return;
863
+ }
864
+ const getPkValues = ({ initialData, serviceConfig, relationship, }) => {
865
+ if (!initialData.length || !relationship || !serviceConfig) {
866
+ return {};
867
+ }
868
+ const primaryKeys = relationship.primaryKey
869
+ ? relationship.primaryKey.split(",")
870
+ : serviceConfig.primaryKeys;
871
+ const filter = {};
872
+ // Collect IDs for the current level, considering composed keys
873
+ primaryKeys.forEach((key) => {
874
+ filter[key] = Array.from(new Set(initialData.map((dt) => dt[key]).filter(utils_1.isDefined)));
875
+ });
876
+ return filter;
877
+ };
878
+ const parsedSegment = new Map();
879
+ const aliasReversePathMap = new Map(Array.from(aliasRealPathMap).map(([path, realPath]) => [
880
+ realPath.join("."),
881
+ path,
882
+ ]));
883
+ for (let [path, expand] of parsedExpands.entries()) {
884
+ const serviceConfig = expand.serviceConfig;
885
+ const relationship = this.getEntityRelationship({
886
+ parentServiceConfig: expand.parentConfig,
887
+ property: expand.property,
888
+ }) ?? serviceConfig.relationships?.get(serviceConfig.serviceName);
889
+ if (!serviceConfig || !relationship) {
890
+ continue;
891
+ }
892
+ let aliasToPath = null;
893
+ if (aliasReversePathMap.has(path)) {
894
+ aliasToPath = path;
895
+ path = aliasReversePathMap.get(path);
896
+ }
897
+ const pathSegments = path.split(".");
898
+ let relevantInitialData = initialData;
899
+ let fullPath = [];
900
+ for (const segment of pathSegments) {
901
+ fullPath.push(segment);
902
+ if (segment === BASE_PATH) {
903
+ continue;
904
+ }
905
+ const pathStr = fullPath.join(".");
906
+ if (parsedSegment.has(pathStr)) {
907
+ relevantInitialData = parsedSegment.get(pathStr);
908
+ continue;
909
+ }
910
+ relevantInitialData =
911
+ RemoteJoiner.getNestedItems(relevantInitialData, segment) ?? [];
912
+ parsedSegment.set(pathStr, relevantInitialData);
913
+ if (!relevantInitialData.length) {
914
+ break;
915
+ }
916
+ }
917
+ if (!relevantInitialData.length) {
918
+ continue;
919
+ }
920
+ const queryPath = expand.parent === "" ? BASE_PATH : aliasToPath ?? path;
921
+ const filter = getPkValues({
922
+ initialData: relevantInitialData,
923
+ serviceConfig,
924
+ relationship,
925
+ });
926
+ if (!Object.keys(filter).length) {
927
+ continue;
928
+ }
929
+ const parsed = parsedExpands.get(queryPath);
930
+ parsed.args ??= [];
931
+ parsed.args.push({
932
+ name: "filters",
933
+ value: filter,
934
+ });
935
+ }
936
+ }
937
+ mergeInitialData({ items, initialData, serviceConfig, path, expands, relationship, }) {
938
+ if (!initialData.length || !relationship) {
939
+ return items;
940
+ }
941
+ const primaryKeys = relationship?.primaryKey.split(",") || [
942
+ serviceConfig.primaryKeys[0],
943
+ ];
944
+ const expandKeys = Object.keys(expands ?? {});
945
+ const initialDataIndexMap = new Map(initialData.map((dt, index) => [
946
+ primaryKeys.map((key) => dt[key]).join(","),
947
+ index,
948
+ ]));
949
+ const itemMap = new Map(items.map((item) => [primaryKeys.map((key) => item[key]).join(","), item]));
950
+ const orderedMergedItems = new Array(initialData.length);
951
+ for (const [key, index] of initialDataIndexMap.entries()) {
952
+ const iniData = initialData[index];
953
+ const item = itemMap.get(key);
954
+ if (!item) {
955
+ orderedMergedItems[index] = iniData;
956
+ continue;
957
+ }
958
+ // Only merge properties that are not relations
959
+ const shallowProperty = { ...iniData };
960
+ for (const key of expandKeys) {
961
+ const isRel = !!this.getEntityRelationship({
962
+ parentServiceConfig: serviceConfig,
963
+ property: key,
964
+ });
965
+ if (isRel) {
966
+ delete shallowProperty[key];
967
+ }
968
+ }
969
+ Object.assign(item, shallowProperty);
970
+ orderedMergedItems[index] = item;
971
+ }
972
+ if (expands) {
973
+ for (const expand of expandKeys) {
974
+ this.mergeInitialData({
975
+ items: items.flatMap((dt) => dt[expand] ?? []),
976
+ initialData: initialData
977
+ .flatMap((dt) => dt[expand] ?? [])
978
+ .filter(utils_1.isDefined),
979
+ serviceConfig,
980
+ path: `${path}.${expand}`,
981
+ expands: expands[expand]?.expands,
982
+ relationship: this.getEntityRelationship({
983
+ parentServiceConfig: serviceConfig,
984
+ property: expand,
985
+ }),
986
+ });
987
+ }
988
+ }
989
+ return orderedMergedItems;
990
+ }
789
991
  async query(queryObj, options) {
790
992
  const serviceConfig = this.getServiceConfig({
791
993
  serviceName: queryObj.service,
@@ -797,10 +999,11 @@ class RemoteJoiner {
797
999
  }
798
1000
  throw new Error(`Service "${queryObj.service}" was not found.`);
799
1001
  }
800
- const { primaryKeyArg, otherArgs, pkName } = gerPrimaryKeysAndOtherFilters({
801
- serviceConfig,
802
- queryObj,
803
- });
1002
+ const iniDataArray = options?.initialData
1003
+ ? Array.isArray(options.initialData)
1004
+ ? options.initialData
1005
+ : [options.initialData]
1006
+ : [];
804
1007
  const implodeMapping = [];
805
1008
  const parseExpandsConfig = {
806
1009
  initialService: {
@@ -815,25 +1018,59 @@ class RemoteJoiner {
815
1018
  expands: queryObj.expands,
816
1019
  implodeMapping,
817
1020
  options,
1021
+ initialData: iniDataArray,
1022
+ initialDataOnly: options?.initialDataOnly,
818
1023
  };
1024
+ const parsedExpands = this.parseExpands(parseExpandsConfig);
1025
+ const root = parsedExpands.get(BASE_PATH);
1026
+ const { primaryKeyArg, otherArgs, pkName } = gerPrimaryKeysAndOtherFilters({
1027
+ serviceConfig,
1028
+ queryObj,
1029
+ });
819
1030
  if (otherArgs) {
820
1031
  parseExpandsConfig.initialService.args = otherArgs;
821
1032
  }
822
- const parsedExpands = this.parseExpands(parseExpandsConfig);
823
- const root = parsedExpands.get(BASE_PATH);
1033
+ if (options?.throwIfKeyNotFound) {
1034
+ if (primaryKeyArg?.value == undefined) {
1035
+ if (!primaryKeyArg) {
1036
+ throw new utils_1.EtoError(utils_1.EtoError.Types.NOT_FOUND, `${serviceConfig.entity ?? serviceConfig.serviceName}: Primary key(s) [${serviceConfig.primaryKeys.join(", ")}] not found in filters`);
1037
+ }
1038
+ throw new utils_1.EtoError(utils_1.EtoError.Types.NOT_FOUND, `${serviceConfig.entity ?? serviceConfig.serviceName}: Value for primary key ${primaryKeyArg.name} not found in filters`);
1039
+ }
1040
+ }
824
1041
  const response = await this.fetchData({
825
1042
  expand: root,
826
1043
  pkField: pkName,
827
1044
  ids: primaryKeyArg?.value,
828
1045
  options,
829
1046
  });
830
- const data = response.path ? response.data[response.path] : response.data;
1047
+ let data = response.path ? response.data[response.path] : response.data;
1048
+ const isDataArray = Array.isArray(data);
1049
+ data = isDataArray ? data : [data];
1050
+ if (options?.initialData) {
1051
+ data = this.mergeInitialData({
1052
+ items: data,
1053
+ initialData: iniDataArray,
1054
+ serviceConfig,
1055
+ path: BASE_PATH,
1056
+ expands: parsedExpands.get(BASE_PATH)?.expands,
1057
+ relationship: serviceConfig.relationships?.get(serviceConfig.serviceName),
1058
+ });
1059
+ delete options?.initialData;
1060
+ }
831
1061
  await this.handleExpands({
832
- items: Array.isArray(data) ? data : [data],
1062
+ items: data,
833
1063
  parsedExpands,
834
1064
  implodeMapping,
835
1065
  options,
836
1066
  });
1067
+ const retData = isDataArray ? data : data[0];
1068
+ if (response.path) {
1069
+ response.data[response.path] = retData;
1070
+ }
1071
+ else {
1072
+ response.data = retData;
1073
+ }
837
1074
  return response.data;
838
1075
  }
839
1076
  }
@@ -848,8 +1085,8 @@ function gerPrimaryKeysAndOtherFilters({ serviceConfig, queryObj }) {
848
1085
  return include;
849
1086
  });
850
1087
  let otherArgs = queryObj.args?.filter((arg) => !serviceConfig.primaryKeys.includes(arg.name));
851
- const filters = queryObj.args?.find((arg) => arg.name === "filters")?.value ?? {};
852
1088
  if (!primaryKeyArg) {
1089
+ const filters = queryObj.args?.find((arg) => arg.name === "filters")?.value ?? {};
853
1090
  const primaryKeyFilter = Object.keys(filters).find((key) => {
854
1091
  return serviceConfig.primaryKeys.includes(key);
855
1092
  });
@@ -1 +1 @@
1
- {"version":3,"file":"remote-joiner.js","sourceRoot":"","sources":["../../src/joiner/remote-joiner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-joiner.js","sourceRoot":"","sources":["../../src/joiner/remote-joiner.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,9 @@ export interface IDistributedSchedulerStorage {
9
9
  removeAll(): Promise<void>;
10
10
  }
11
11
  export interface IDistributedTransactionStorage {
12
- get(key: string, options?: TransactionOptions): Promise<TransactionCheckpoint | undefined>;
13
- list(): Promise<TransactionCheckpoint[]>;
12
+ get(key: string, options?: TransactionOptions & {
13
+ isCancelling?: boolean;
14
+ }): Promise<TransactionCheckpoint | undefined>;
14
15
  save(key: string, data: TransactionCheckpoint, ttl?: number, options?: TransactionOptions): Promise<void>;
15
16
  scheduleRetry(transaction: DistributedTransactionType, step: TransactionStep, timestamp: number, interval: number): Promise<void>;
16
17
  clearRetry(transaction: DistributedTransactionType, step: TransactionStep): Promise<void>;
@@ -18,6 +19,7 @@ export interface IDistributedTransactionStorage {
18
19
  scheduleStepTimeout(transaction: DistributedTransactionType, step: TransactionStep, timestamp: number, interval: number): Promise<void>;
19
20
  clearTransactionTimeout(transaction: DistributedTransactionType): Promise<void>;
20
21
  clearStepTimeout(transaction: DistributedTransactionType, step: TransactionStep): Promise<void>;
22
+ clearExpiredExecutions(): Promise<void>;
21
23
  }
22
24
  export declare abstract class DistributedSchedulerStorage implements IDistributedSchedulerStorage {
23
25
  constructor();
@@ -30,7 +32,6 @@ export declare abstract class DistributedSchedulerStorage implements IDistribute
30
32
  export declare abstract class DistributedTransactionStorage implements IDistributedTransactionStorage {
31
33
  constructor();
32
34
  get(key: string): Promise<TransactionCheckpoint | undefined>;
33
- list(): Promise<TransactionCheckpoint[]>;
34
35
  save(key: string, data: TransactionCheckpoint, ttl?: number): Promise<void>;
35
36
  scheduleRetry(transaction: DistributedTransactionType, step: TransactionStep, timestamp: number, interval: number): Promise<void>;
36
37
  clearRetry(transaction: DistributedTransactionType, step: TransactionStep): Promise<void>;
@@ -38,5 +39,6 @@ export declare abstract class DistributedTransactionStorage implements IDistribu
38
39
  clearTransactionTimeout(transaction: DistributedTransactionType): Promise<void>;
39
40
  scheduleStepTimeout(transaction: DistributedTransactionType, step: TransactionStep, timestamp: number, interval: number): Promise<void>;
40
41
  clearStepTimeout(transaction: DistributedTransactionType, step: TransactionStep): Promise<void>;
42
+ clearExpiredExecutions(): Promise<void>;
41
43
  }
42
44
  //# sourceMappingURL=abstract-storage.d.ts.map