@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.
- package/dist/joiner/remote-joiner.d.ts +3 -0
- package/dist/joiner/remote-joiner.d.ts.map +1 -1
- package/dist/joiner/remote-joiner.js +263 -26
- package/dist/joiner/remote-joiner.js.map +1 -1
- package/dist/transaction/datastore/abstract-storage.d.ts +5 -3
- package/dist/transaction/datastore/abstract-storage.d.ts.map +1 -1
- package/dist/transaction/datastore/abstract-storage.js +3 -3
- package/dist/transaction/datastore/abstract-storage.js.map +1 -1
- package/dist/transaction/datastore/base-in-memory-storage.d.ts +1 -0
- package/dist/transaction/datastore/base-in-memory-storage.d.ts.map +1 -1
- package/dist/transaction/datastore/base-in-memory-storage.js +1 -0
- package/dist/transaction/datastore/base-in-memory-storage.js.map +1 -1
- package/dist/transaction/distributed-transaction.d.ts +4 -1
- package/dist/transaction/distributed-transaction.d.ts.map +1 -1
- package/dist/transaction/distributed-transaction.js +8 -6
- package/dist/transaction/distributed-transaction.js.map +1 -1
- package/dist/transaction/errors.d.ts +8 -0
- package/dist/transaction/errors.d.ts.map +1 -1
- package/dist/transaction/errors.js +23 -1
- package/dist/transaction/errors.js.map +1 -1
- package/dist/transaction/transaction-orchestrator.d.ts +74 -6
- package/dist/transaction/transaction-orchestrator.d.ts.map +1 -1
- package/dist/transaction/transaction-orchestrator.js +520 -292
- package/dist/transaction/transaction-orchestrator.js.map +1 -1
- package/dist/transaction/types.d.ts +28 -7
- package/dist/transaction/types.d.ts.map +1 -1
- package/dist/transaction/types.js.map +1 -1
- package/dist/workflow/global-workflow.d.ts.map +1 -1
- package/dist/workflow/global-workflow.js +15 -3
- package/dist/workflow/global-workflow.js.map +1 -1
- package/dist/workflow/local-workflow.d.ts +3 -1
- package/dist/workflow/local-workflow.d.ts.map +1 -1
- package/dist/workflow/local-workflow.js +45 -8
- package/dist/workflow/local-workflow.js.map +1 -1
- package/dist/workflow/scheduler.d.ts.map +1 -1
- package/dist/workflow/scheduler.js +2 -3
- package/dist/workflow/scheduler.js.map +1 -1
- 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;
|
|
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
|
-
|
|
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
|
|
495
|
-
if (
|
|
496
|
-
|
|
497
|
-
|
|
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
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
801
|
-
|
|
802
|
-
|
|
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
|
-
|
|
823
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
|
13
|
-
|
|
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
|