@comake/skl-js-engine 0.16.7 → 0.18.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/SklEngine.d.ts +10 -9
- package/dist/SklEngine.js +131 -127
- package/dist/SklEngine.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mapping/Mapper.d.ts +2 -2
- package/dist/mapping/Mapper.js.map +1 -1
- package/dist/storage/FindOperator.d.ts +3 -3
- package/dist/storage/FindOperator.js.map +1 -1
- package/dist/storage/operator/Exists.d.ts +2 -0
- package/dist/storage/operator/Exists.js +10 -0
- package/dist/storage/operator/Exists.js.map +1 -0
- package/dist/storage/query-adapter/QueryAdapter.d.ts +4 -4
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.d.ts +1 -1
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.js +2 -2
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.js.map +1 -1
- package/dist/storage/query-adapter/sparql/SparqlQueryBuilder.js +17 -4
- package/dist/storage/query-adapter/sparql/SparqlQueryBuilder.js.map +1 -1
- package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.d.ts +4 -2
- package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.js +24 -13
- package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.js.map +1 -1
- package/dist/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.d.ts +2 -1
- package/dist/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.js +3 -0
- package/dist/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.js.map +1 -1
- package/dist/storage/query-adapter/sparql/query-executor/SparqlQueryExecutor.d.ts +6 -2
- package/dist/util/Types.d.ts +27 -35
- package/dist/util/Util.d.ts +4 -1
- package/dist/util/Util.js +16 -1
- package/dist/util/Util.js.map +1 -1
- package/dist/util/Vocabularies.d.ts +14 -3
- package/dist/util/Vocabularies.js +28 -10
- package/dist/util/Vocabularies.js.map +1 -1
- package/package.json +1 -1
package/dist/SklEngine.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { Frame } from 'jsonld/jsonld-spec';
|
|
|
3
3
|
import type { SklEngineOptions } from './SklEngineOptions';
|
|
4
4
|
import type { FindAllOptions, FindOneOptions, FindOptionsWhere } from './storage/FindOptionsTypes';
|
|
5
5
|
import type { RawQueryResult } from './storage/query-adapter/QueryAdapter';
|
|
6
|
-
import type { OrArray, Entity, VerbConfig, JSONObject } from './util/Types';
|
|
6
|
+
import type { OrArray, Entity, VerbConfig, JSONObject, JSONValue } from './util/Types';
|
|
7
7
|
export declare type VerbHandler = <T extends OrArray<NodeObject> = OrArray<NodeObject>>(params: JSONObject, verbConfig?: VerbConfig) => Promise<T>;
|
|
8
8
|
export declare type VerbInterface = Record<string, VerbHandler>;
|
|
9
9
|
export declare type MappingResponseOption<T extends boolean> = T extends true ? JSONObject : NodeObject;
|
|
@@ -17,7 +17,7 @@ export declare class SKLEngine {
|
|
|
17
17
|
constructor(options: SklEngineOptions);
|
|
18
18
|
executeRawQuery<T extends RawQueryResult>(query: string): Promise<T[]>;
|
|
19
19
|
executeRawUpdate(query: string): Promise<void>;
|
|
20
|
-
|
|
20
|
+
executeRawConstructQuery(query: string, frame?: Frame): Promise<GraphObject>;
|
|
21
21
|
find(options?: FindOneOptions): Promise<Entity>;
|
|
22
22
|
findBy(where: FindOptionsWhere, notFoundErrorMessage?: string): Promise<Entity>;
|
|
23
23
|
findByIfExists(options: FindOptionsWhere): Promise<Entity | undefined>;
|
|
@@ -43,17 +43,20 @@ export declare class SKLEngine {
|
|
|
43
43
|
destroy(entity: Entity): Promise<Entity>;
|
|
44
44
|
destroy(entities: Entity[]): Promise<Entity[]>;
|
|
45
45
|
destroyAll(): Promise<void>;
|
|
46
|
-
performMapping(args:
|
|
46
|
+
performMapping(args: JSONValue, mapping: OrArray<NodeObject>, frame?: Record<string, any>, verbConfig?: VerbConfig): Promise<NodeObject>;
|
|
47
47
|
executeTrigger(integration: string, payload: any): Promise<void>;
|
|
48
48
|
private findTriggerVerbMapping;
|
|
49
49
|
private executeVerbByName;
|
|
50
50
|
private findVerbWithName;
|
|
51
51
|
private executeVerb;
|
|
52
|
+
private findMappingForVerbContextually;
|
|
53
|
+
private executeMapping;
|
|
52
54
|
private shouldValidate;
|
|
53
|
-
private
|
|
55
|
+
private executeOperationMapping;
|
|
56
|
+
private executeSeriesMapping;
|
|
54
57
|
private rdfListToArray;
|
|
55
58
|
private executeSeriesFromList;
|
|
56
|
-
private
|
|
59
|
+
private executeVerbMapping;
|
|
57
60
|
private addPreProcessingMappingToArgs;
|
|
58
61
|
private updateEntityFromVerbArgs;
|
|
59
62
|
private saveEntityOrEntitiesFromVerbArgs;
|
|
@@ -61,19 +64,17 @@ export declare class SKLEngine {
|
|
|
61
64
|
private countAndWrapValueFromVerbArgs;
|
|
62
65
|
private existsAndWrapValueFromVerbArgs;
|
|
63
66
|
private findAndExecuteVerb;
|
|
64
|
-
private
|
|
65
|
-
private executeIntegrationMappingVerb;
|
|
67
|
+
private executeParallelMapping;
|
|
66
68
|
private findVerbIntegrationMapping;
|
|
67
69
|
private performOperationMappingWithArgs;
|
|
68
70
|
private performOperation;
|
|
69
71
|
private axiosResponseAndParamsToOperationResponse;
|
|
70
|
-
private
|
|
72
|
+
private performReturnValueMappingWithFrameIfDefined;
|
|
71
73
|
private performParameterMappingOnArgsIfDefined;
|
|
72
74
|
private getDataAtReference;
|
|
73
75
|
private getOpenApiDescriptionForIntegration;
|
|
74
76
|
private findSecurityCredentialsForAccountIfDefined;
|
|
75
77
|
private createOpenApiOperationExecutorWithSpec;
|
|
76
|
-
private executeNounMappingVerb;
|
|
77
78
|
private findVerbNounMapping;
|
|
78
79
|
private performVerbMappingWithArgs;
|
|
79
80
|
private assertVerbParamsMatchParameterSchemas;
|
package/dist/SklEngine.js
CHANGED
|
@@ -10,8 +10,10 @@ const axios_1 = __importDefault(require("axios"));
|
|
|
10
10
|
const jsonpath_plus_1 = require("jsonpath-plus");
|
|
11
11
|
const rdf_validate_shacl_1 = __importDefault(require("rdf-validate-shacl"));
|
|
12
12
|
const Mapper_1 = require("./mapping/Mapper");
|
|
13
|
+
const Exists_1 = require("./storage/operator/Exists");
|
|
13
14
|
const In_1 = require("./storage/operator/In");
|
|
14
15
|
const InversePath_1 = require("./storage/operator/InversePath");
|
|
16
|
+
const Not_1 = require("./storage/operator/Not");
|
|
15
17
|
const OneOrMorePath_1 = require("./storage/operator/OneOrMorePath");
|
|
16
18
|
const SequencePath_1 = require("./storage/operator/SequencePath");
|
|
17
19
|
const ZeroOrMorePath_1 = require("./storage/operator/ZeroOrMorePath");
|
|
@@ -35,8 +37,8 @@ class SKLEngine {
|
|
|
35
37
|
async executeRawUpdate(query) {
|
|
36
38
|
return await this.queryAdapter.executeRawUpdate(query);
|
|
37
39
|
}
|
|
38
|
-
async
|
|
39
|
-
return await this.queryAdapter.
|
|
40
|
+
async executeRawConstructQuery(query, frame) {
|
|
41
|
+
return await this.queryAdapter.executeRawConstructQuery(query, frame);
|
|
40
42
|
}
|
|
41
43
|
async find(options) {
|
|
42
44
|
const entity = await this.queryAdapter.find(options);
|
|
@@ -228,7 +230,7 @@ class SKLEngine {
|
|
|
228
230
|
}
|
|
229
231
|
async executeTrigger(integration, payload) {
|
|
230
232
|
const triggerToVerbMapping = await this.findTriggerVerbMapping(integration);
|
|
231
|
-
const verbArgs = await this.performParameterMappingOnArgsIfDefined(payload, triggerToVerbMapping
|
|
233
|
+
const verbArgs = await this.performParameterMappingOnArgsIfDefined(payload, triggerToVerbMapping);
|
|
232
234
|
const verbId = await this.performVerbMappingWithArgs(payload, triggerToVerbMapping);
|
|
233
235
|
if (verbId) {
|
|
234
236
|
const mappedVerb = (await this.findBy({ id: verbId }));
|
|
@@ -253,24 +255,14 @@ class SKLEngine {
|
|
|
253
255
|
if (verbConfig?.callbacks?.onVerbStart) {
|
|
254
256
|
verbConfig.callbacks.onVerbStart(verb['@id'], verbArgs);
|
|
255
257
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
else if (Vocabularies_1.SKL.series in verb) {
|
|
261
|
-
verbReturnValue = await this.executeSeriesVerb(verb, verbArgs, verbConfig);
|
|
262
|
-
}
|
|
263
|
-
else if (Vocabularies_1.SKL.parallel in verb) {
|
|
264
|
-
verbReturnValue = await this.executeParallelVerb(verb, verbArgs, verbConfig);
|
|
265
|
-
}
|
|
266
|
-
else if (verbArgs.noun) {
|
|
267
|
-
verbReturnValue = await this.executeNounMappingVerb(verb, verbArgs, verbConfig);
|
|
268
|
-
}
|
|
269
|
-
else if (verbArgs.account) {
|
|
270
|
-
verbReturnValue = await this.executeIntegrationMappingVerb(verb, verbArgs, verbConfig);
|
|
258
|
+
const { mapping, account } = await this.findMappingForVerbContextually(verb['@id'], verbArgs);
|
|
259
|
+
const shouldValidate = this.shouldValidate(verbConfig);
|
|
260
|
+
if (shouldValidate) {
|
|
261
|
+
await this.assertVerbParamsMatchParameterSchemas(verbArgs, verb);
|
|
271
262
|
}
|
|
272
|
-
|
|
273
|
-
|
|
263
|
+
const verbReturnValue = await this.executeMapping(mapping, verbArgs, verbConfig, account);
|
|
264
|
+
if (shouldValidate) {
|
|
265
|
+
await this.assertVerbReturnValueMatchesReturnTypeSchema(verbReturnValue, verb);
|
|
274
266
|
}
|
|
275
267
|
this.globalCallbacks?.onVerbEnd?.(verb['@id'], verbReturnValue);
|
|
276
268
|
if (verbConfig?.callbacks?.onVerbEnd) {
|
|
@@ -278,23 +270,86 @@ class SKLEngine {
|
|
|
278
270
|
}
|
|
279
271
|
return verbReturnValue;
|
|
280
272
|
}
|
|
273
|
+
async findMappingForVerbContextually(verbId, args) {
|
|
274
|
+
if (args.mapping) {
|
|
275
|
+
const mapping = await this.findByIfExists({ id: args.mapping });
|
|
276
|
+
if (!mapping) {
|
|
277
|
+
throw new Error(`Mapping ${args.mapping} not found.`);
|
|
278
|
+
}
|
|
279
|
+
return { mapping: mapping };
|
|
280
|
+
}
|
|
281
|
+
if (args.noun) {
|
|
282
|
+
const mapping = await this.findVerbNounMapping(verbId, args.noun);
|
|
283
|
+
if (mapping) {
|
|
284
|
+
return { mapping };
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
if (args.account) {
|
|
288
|
+
const account = await this.findBy({ id: args.account });
|
|
289
|
+
const integrationId = account[Vocabularies_1.SKL.integration]['@id'];
|
|
290
|
+
const mapping = await this.findVerbIntegrationMapping(verbId, integrationId);
|
|
291
|
+
if (mapping) {
|
|
292
|
+
return { mapping, account };
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
const mappings = await this.findAllBy({
|
|
296
|
+
type: Vocabularies_1.SKL.Mapping,
|
|
297
|
+
[Vocabularies_1.SKL.verb]: verbId,
|
|
298
|
+
[Vocabularies_1.SKL.integration]: (0, Not_1.Not)((0, Exists_1.Exists)()),
|
|
299
|
+
[Vocabularies_1.SKL.noun]: (0, Not_1.Not)((0, Exists_1.Exists)()),
|
|
300
|
+
});
|
|
301
|
+
if (mappings.length === 1) {
|
|
302
|
+
return { mapping: mappings[0] };
|
|
303
|
+
}
|
|
304
|
+
if (mappings.length > 1) {
|
|
305
|
+
throw new Error('Multiple mappings found for verb, please specify one.');
|
|
306
|
+
}
|
|
307
|
+
if (args.noun) {
|
|
308
|
+
throw new Error(`Mapping between noun ${args.noun} and verb ${verbId} not found.`);
|
|
309
|
+
}
|
|
310
|
+
if (args.account) {
|
|
311
|
+
throw new Error(`Mapping between account ${args.account} and verb ${verbId} not found.`);
|
|
312
|
+
}
|
|
313
|
+
throw new Error(`No mapping found.`);
|
|
314
|
+
}
|
|
315
|
+
async executeMapping(mapping, args, verbConfig, account) {
|
|
316
|
+
args = await this.addPreProcessingMappingToArgs(mapping, args, verbConfig);
|
|
317
|
+
let returnValue;
|
|
318
|
+
if (Vocabularies_1.SKL.verbId in mapping || Vocabularies_1.SKL.verbMapping in mapping) {
|
|
319
|
+
const verbId = await this.performVerbMappingWithArgs(args, mapping, verbConfig);
|
|
320
|
+
const mappedArgs = await this.performParameterMappingOnArgsIfDefined({ ...args, verbId }, mapping, verbConfig);
|
|
321
|
+
returnValue = await this.executeVerbMapping(mapping, args, mappedArgs, verbConfig);
|
|
322
|
+
}
|
|
323
|
+
else {
|
|
324
|
+
const mappedArgs = await this.performParameterMappingOnArgsIfDefined(args, mapping, verbConfig);
|
|
325
|
+
if (Vocabularies_1.SKL.operationId in mapping || Vocabularies_1.SKL.operationMapping in mapping) {
|
|
326
|
+
returnValue = await this.executeOperationMapping(mapping, mappedArgs, args, account, verbConfig);
|
|
327
|
+
}
|
|
328
|
+
else if (Vocabularies_1.SKL.series in mapping) {
|
|
329
|
+
returnValue = await this.executeSeriesMapping(mapping, mappedArgs, verbConfig);
|
|
330
|
+
}
|
|
331
|
+
else if (Vocabularies_1.SKL.parallel in mapping) {
|
|
332
|
+
returnValue = await this.executeParallelMapping(mapping, mappedArgs, verbConfig);
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
returnValue = mappedArgs;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
return await this.performReturnValueMappingWithFrameIfDefined(returnValue, mapping, verbConfig);
|
|
339
|
+
}
|
|
281
340
|
shouldValidate(verbConfig) {
|
|
282
341
|
return verbConfig?.disableValidation === undefined
|
|
283
342
|
? this.disableValidation !== true
|
|
284
343
|
: !verbConfig.disableValidation;
|
|
285
344
|
}
|
|
286
|
-
async
|
|
287
|
-
const
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
const seriesVerbMappingsList = this.rdfListToArray(
|
|
345
|
+
async executeOperationMapping(mapping, mappedArgs, originalArgs, account, verbConfig) {
|
|
346
|
+
const operationInfo = await this.performOperationMappingWithArgs(originalArgs, mapping, verbConfig);
|
|
347
|
+
return await this.performOperation(operationInfo, mappedArgs, originalArgs, account, verbConfig);
|
|
348
|
+
}
|
|
349
|
+
async executeSeriesMapping(mapping, args, verbConfig) {
|
|
350
|
+
const seriesVerbMappingsList = this.rdfListToArray(mapping[Vocabularies_1.SKL.series]);
|
|
292
351
|
const seriesVerbArgs = { originalVerbParameters: args, previousVerbReturnValue: {} };
|
|
293
|
-
|
|
294
|
-
if (shouldValidate) {
|
|
295
|
-
await this.assertVerbReturnValueMatchesReturnTypeSchema(returnValue, verb);
|
|
296
|
-
}
|
|
297
|
-
return returnValue;
|
|
352
|
+
return await this.executeSeriesFromList(seriesVerbMappingsList, seriesVerbArgs, verbConfig);
|
|
298
353
|
}
|
|
299
354
|
rdfListToArray(list) {
|
|
300
355
|
if (!('@list' in list)) {
|
|
@@ -309,44 +364,38 @@ class SKLEngine {
|
|
|
309
364
|
}
|
|
310
365
|
async executeSeriesFromList(list, args, verbConfig) {
|
|
311
366
|
const nextVerbMapping = list[0];
|
|
312
|
-
const returnValue = await this.
|
|
367
|
+
const returnValue = await this.executeMapping(nextVerbMapping, args, verbConfig);
|
|
313
368
|
if (list.length > 1) {
|
|
314
369
|
return await this.executeSeriesFromList(list.slice(1), { ...args, previousVerbReturnValue: returnValue }, verbConfig);
|
|
315
370
|
}
|
|
316
371
|
return returnValue;
|
|
317
372
|
}
|
|
318
|
-
async
|
|
319
|
-
|
|
320
|
-
const verbId = await this.performVerbMappingWithArgs(args, verbMapping, verbConfig);
|
|
373
|
+
async executeVerbMapping(verbMapping, originalArgs, mappedArgs, verbConfig) {
|
|
374
|
+
const verbId = await this.performVerbMappingWithArgs(originalArgs, verbMapping, verbConfig);
|
|
321
375
|
if (verbId) {
|
|
322
|
-
const verbArgs = await this.performParameterMappingOnArgsIfDefined({ ...args, verbId }, verbMapping, verbConfig, false);
|
|
323
376
|
if (verbId === Vocabularies_1.SKL_ENGINE.update) {
|
|
324
|
-
await this.updateEntityFromVerbArgs(
|
|
377
|
+
await this.updateEntityFromVerbArgs(mappedArgs);
|
|
325
378
|
return {};
|
|
326
379
|
}
|
|
327
380
|
if (verbId === Vocabularies_1.SKL_ENGINE.save) {
|
|
328
|
-
return await this.saveEntityOrEntitiesFromVerbArgs(
|
|
381
|
+
return await this.saveEntityOrEntitiesFromVerbArgs(mappedArgs);
|
|
329
382
|
}
|
|
330
383
|
if (verbId === Vocabularies_1.SKL_ENGINE.destroy) {
|
|
331
|
-
return await this.destroyEntityOrEntitiesFromVerbArgs(
|
|
384
|
+
return await this.destroyEntityOrEntitiesFromVerbArgs(mappedArgs);
|
|
332
385
|
}
|
|
333
386
|
if (verbId === Vocabularies_1.SKL_ENGINE.findAll) {
|
|
334
|
-
return await this.findAll(
|
|
387
|
+
return await this.findAll(mappedArgs);
|
|
335
388
|
}
|
|
336
389
|
if (verbId === Vocabularies_1.SKL_ENGINE.find) {
|
|
337
|
-
return await this.find(
|
|
390
|
+
return await this.find(mappedArgs);
|
|
338
391
|
}
|
|
339
392
|
if (verbId === Vocabularies_1.SKL_ENGINE.count) {
|
|
340
|
-
return await this.countAndWrapValueFromVerbArgs(
|
|
393
|
+
return await this.countAndWrapValueFromVerbArgs(mappedArgs);
|
|
341
394
|
}
|
|
342
395
|
if (verbId === Vocabularies_1.SKL_ENGINE.exists) {
|
|
343
|
-
return await this.existsAndWrapValueFromVerbArgs(
|
|
344
|
-
}
|
|
345
|
-
const returnValue = await this.findAndExecuteVerb(verbId, verbArgs, verbConfig);
|
|
346
|
-
if (Vocabularies_1.SKL.returnValueMapping in verbMapping) {
|
|
347
|
-
return await this.performReturnValueMappingWithFrame(returnValue, verbMapping, verbConfig);
|
|
396
|
+
return await this.existsAndWrapValueFromVerbArgs(mappedArgs);
|
|
348
397
|
}
|
|
349
|
-
return
|
|
398
|
+
return await this.findAndExecuteVerb(verbId, mappedArgs, verbConfig);
|
|
350
399
|
}
|
|
351
400
|
return {};
|
|
352
401
|
}
|
|
@@ -388,47 +437,13 @@ class SKLEngine {
|
|
|
388
437
|
const verb = (await this.findBy({ id: verbId }));
|
|
389
438
|
return await this.executeVerb(verb, args, verbConfig);
|
|
390
439
|
}
|
|
391
|
-
async
|
|
392
|
-
const
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
}
|
|
396
|
-
const parallelVerbMappings = (0, Util_1.ensureArray)(verb[Vocabularies_1.SKL.parallel]);
|
|
397
|
-
const nestedReturnValues = await Promise.all(parallelVerbMappings.map((verbMapping) => this.executeVerbFromVerbMapping(verbMapping, args, verbConfig)));
|
|
398
|
-
const allReturnValues = nestedReturnValues.flat();
|
|
399
|
-
if (shouldValidate) {
|
|
400
|
-
await this.assertVerbReturnValueMatchesReturnTypeSchema(allReturnValues, verb);
|
|
401
|
-
}
|
|
402
|
-
return allReturnValues;
|
|
403
|
-
}
|
|
404
|
-
async executeIntegrationMappingVerb(verb, args, verbConfig) {
|
|
405
|
-
const shouldValidate = this.shouldValidate(verbConfig);
|
|
406
|
-
if (shouldValidate) {
|
|
407
|
-
await this.assertVerbParamsMatchParameterSchemas(args, verb);
|
|
408
|
-
}
|
|
409
|
-
const account = await this.findBy({ id: args.account });
|
|
410
|
-
const integrationId = account[Vocabularies_1.SKL.integration]['@id'];
|
|
411
|
-
const mapping = await this.findVerbIntegrationMapping(verb['@id'], integrationId);
|
|
412
|
-
const operationArgs = await this.performParameterMappingOnArgsIfDefined(args, mapping, verbConfig);
|
|
413
|
-
const operationInfo = await this.performOperationMappingWithArgs(args, mapping, verbConfig);
|
|
414
|
-
const rawReturnValue = await this.performOperation(operationInfo, operationArgs, args, account, undefined, verbConfig);
|
|
415
|
-
if (operationInfo[Vocabularies_1.SKL.schemeName] && rawReturnValue.data.authorizationUrl) {
|
|
416
|
-
return {
|
|
417
|
-
'@type': '@json',
|
|
418
|
-
'@value': rawReturnValue.data,
|
|
419
|
-
};
|
|
420
|
-
}
|
|
421
|
-
if (mapping[Vocabularies_1.SKL.returnValueMapping]) {
|
|
422
|
-
const mappedReturnValue = await this.performReturnValueMappingWithFrame(rawReturnValue, mapping, verbConfig, verb);
|
|
423
|
-
if (shouldValidate) {
|
|
424
|
-
await this.assertVerbReturnValueMatchesReturnTypeSchema(mappedReturnValue, verb);
|
|
425
|
-
}
|
|
426
|
-
return mappedReturnValue;
|
|
427
|
-
}
|
|
428
|
-
return rawReturnValue;
|
|
440
|
+
async executeParallelMapping(mapping, args, verbConfig) {
|
|
441
|
+
const parallelVerbMappings = (0, Util_1.ensureArray)(mapping[Vocabularies_1.SKL.parallel]);
|
|
442
|
+
const nestedReturnValues = await Promise.all(parallelVerbMappings.map((verbMapping) => this.executeMapping(verbMapping, args, verbConfig)));
|
|
443
|
+
return nestedReturnValues.flat();
|
|
429
444
|
}
|
|
430
445
|
async findVerbIntegrationMapping(verbId, integrationId) {
|
|
431
|
-
return (await this.
|
|
446
|
+
return (await this.findByIfExists({
|
|
432
447
|
type: Vocabularies_1.SKL.VerbIntegrationMapping,
|
|
433
448
|
[Vocabularies_1.SKL.verb]: verbId,
|
|
434
449
|
[Vocabularies_1.SKL.integration]: integrationId,
|
|
@@ -443,7 +458,7 @@ class SKLEngine {
|
|
|
443
458
|
}
|
|
444
459
|
return await this.performMapping(args, mapping[Vocabularies_1.SKL.operationMapping], undefined, verbConfig);
|
|
445
460
|
}
|
|
446
|
-
async performOperation(operationInfo, operationArgs, originalArgs, account,
|
|
461
|
+
async performOperation(operationInfo, operationArgs, originalArgs, account, verbConfig, securityCredentials) {
|
|
447
462
|
if (operationInfo[Vocabularies_1.SKL.schemeName]) {
|
|
448
463
|
return await this.performOauthSecuritySchemeStageWithCredentials(operationInfo, operationArgs, account, securityCredentials);
|
|
449
464
|
}
|
|
@@ -472,13 +487,13 @@ class SKLEngine {
|
|
|
472
487
|
},
|
|
473
488
|
};
|
|
474
489
|
}
|
|
475
|
-
async
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
490
|
+
async performReturnValueMappingWithFrameIfDefined(returnValue, mapping, verbConfig) {
|
|
491
|
+
if (Vocabularies_1.SKL.returnValueMapping in mapping) {
|
|
492
|
+
return await this.performMapping(returnValue, mapping[Vocabularies_1.SKL.returnValueMapping], (0, Util_1.getValueIfDefined)(mapping[Vocabularies_1.SKL.returnValueFrame]), verbConfig);
|
|
493
|
+
}
|
|
494
|
+
return returnValue;
|
|
480
495
|
}
|
|
481
|
-
async performParameterMappingOnArgsIfDefined(args, mapping, verbConfig, convertToJsonDeep =
|
|
496
|
+
async performParameterMappingOnArgsIfDefined(args, mapping, verbConfig, convertToJsonDeep = false) {
|
|
482
497
|
if (Vocabularies_1.SKL.parameterReference in mapping) {
|
|
483
498
|
const reference = (0, Util_1.getValueIfDefined)(mapping[Vocabularies_1.SKL.parameterReference]);
|
|
484
499
|
return this.getDataAtReference(reference, args);
|
|
@@ -516,27 +531,8 @@ class SKLEngine {
|
|
|
516
531
|
await executor.setOpenapiSpec(openApiDescription);
|
|
517
532
|
return executor;
|
|
518
533
|
}
|
|
519
|
-
async executeNounMappingVerb(verb, args, verbConfig) {
|
|
520
|
-
const mapping = await this.findVerbNounMapping(verb['@id'], args.noun);
|
|
521
|
-
if (mapping[Vocabularies_1.SKL.returnValueMapping]) {
|
|
522
|
-
return await this.performReturnValueMappingWithFrame(args, mapping, verbConfig, verb);
|
|
523
|
-
}
|
|
524
|
-
const verbArgs = await this.performParameterMappingOnArgsIfDefined(args, mapping, verbConfig, false);
|
|
525
|
-
const verbId = await this.performVerbMappingWithArgs(args, mapping, verbConfig);
|
|
526
|
-
const mappedVerb = (await this.findBy({ id: verbId }));
|
|
527
|
-
this.globalCallbacks?.onVerbStart?.(verb['@id'], verbArgs);
|
|
528
|
-
if (verbConfig?.callbacks?.onVerbStart) {
|
|
529
|
-
verbConfig.callbacks.onVerbStart(verb['@id'], verbArgs);
|
|
530
|
-
}
|
|
531
|
-
const returnValue = await this.executeIntegrationMappingVerb(mappedVerb, verbArgs, verbConfig);
|
|
532
|
-
this.globalCallbacks?.onVerbEnd?.(verb['@id'], returnValue);
|
|
533
|
-
if (verbConfig?.callbacks?.onVerbEnd) {
|
|
534
|
-
verbConfig.callbacks.onVerbEnd(verb['@id'], returnValue);
|
|
535
|
-
}
|
|
536
|
-
return returnValue;
|
|
537
|
-
}
|
|
538
534
|
async findVerbNounMapping(verbId, noun) {
|
|
539
|
-
return (await this.
|
|
535
|
+
return (await this.findByIfExists({
|
|
540
536
|
type: Vocabularies_1.SKL.VerbNounMapping,
|
|
541
537
|
[Vocabularies_1.SKL.verb]: verbId,
|
|
542
538
|
[Vocabularies_1.SKL.noun]: (0, InversePath_1.InversePath)({
|
|
@@ -553,15 +549,20 @@ class SKLEngine {
|
|
|
553
549
|
return (0, Util_1.getValueIfDefined)(verbInfoJsonLd[Vocabularies_1.SKL.verbId]);
|
|
554
550
|
}
|
|
555
551
|
async assertVerbParamsMatchParameterSchemas(verbParams, verb) {
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
'@
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
552
|
+
let parametersSchemaObject = verb[Vocabularies_1.SKL.parameters];
|
|
553
|
+
if (parametersSchemaObject?.['@id'] && Object.keys(parametersSchemaObject).length === 1) {
|
|
554
|
+
parametersSchemaObject = await this.findBy({ id: parametersSchemaObject['@id'] });
|
|
555
|
+
}
|
|
556
|
+
if (verbParams && parametersSchemaObject) {
|
|
557
|
+
const verbParamsAsJsonLd = {
|
|
558
|
+
'@context': (0, Util_1.getValueIfDefined)(verb[Vocabularies_1.SKL.parametersContext]),
|
|
559
|
+
'@type': Vocabularies_1.SKL.Parameters,
|
|
560
|
+
...verbParams,
|
|
561
|
+
};
|
|
562
|
+
const report = await this.convertToQuadsAndValidateAgainstShape(verbParamsAsJsonLd, parametersSchemaObject);
|
|
563
|
+
if (!report.conforms) {
|
|
564
|
+
this.throwValidationReportError(report, `${(0, Util_1.getValueIfDefined)(verb[Vocabularies_1.RDFS.label])} parameters do not conform to the schema`);
|
|
565
|
+
}
|
|
565
566
|
}
|
|
566
567
|
}
|
|
567
568
|
async performOpenapiOperationWithCredentials(operationId, operationArgs, account) {
|
|
@@ -605,14 +606,17 @@ class SKLEngine {
|
|
|
605
606
|
async refreshSecurityCredentials(securityCredentials, integrationId, account, verbConfig) {
|
|
606
607
|
const getOauthTokenVerb = (await this.findBy({ type: Vocabularies_1.SKL.Verb, [Vocabularies_1.RDFS.label]: 'getOauthTokens' }));
|
|
607
608
|
const mapping = await this.findVerbIntegrationMapping(getOauthTokenVerb['@id'], integrationId);
|
|
609
|
+
if (!mapping) {
|
|
610
|
+
throw new Error(`No mapping found for verb ${getOauthTokenVerb['@id']} and integration ${integrationId}`);
|
|
611
|
+
}
|
|
608
612
|
const args = {
|
|
609
613
|
refreshToken: (0, Util_1.getValueIfDefined)(securityCredentials[Vocabularies_1.SKL.refreshToken]),
|
|
610
614
|
jwtBearerOptions: (0, Util_1.getValueIfDefined)(securityCredentials[Vocabularies_1.SKL.jwtBearerOptions]),
|
|
611
615
|
};
|
|
612
|
-
const operationArgs = await this.performParameterMappingOnArgsIfDefined(args, mapping, verbConfig);
|
|
616
|
+
const operationArgs = await this.performParameterMappingOnArgsIfDefined(args, mapping, verbConfig, true);
|
|
613
617
|
const operationInfoJsonLd = await this.performOperationMappingWithArgs({}, mapping, verbConfig);
|
|
614
|
-
const rawReturnValue = await this.performOperation(operationInfoJsonLd, operationArgs, args, account,
|
|
615
|
-
const mappedReturnValue = await this.
|
|
618
|
+
const rawReturnValue = await this.performOperation(operationInfoJsonLd, operationArgs, args, account, verbConfig, securityCredentials);
|
|
619
|
+
const mappedReturnValue = await this.performReturnValueMappingWithFrameIfDefined(rawReturnValue, mapping, verbConfig);
|
|
616
620
|
await this.assertVerbReturnValueMatchesReturnTypeSchema(mappedReturnValue, getOauthTokenVerb);
|
|
617
621
|
const bearerToken = (0, Util_1.getValueIfDefined)(mappedReturnValue[Vocabularies_1.SKL.bearerToken]);
|
|
618
622
|
const accessToken = (0, Util_1.getValueIfDefined)(mappedReturnValue[Vocabularies_1.SKL.accessToken]);
|
|
@@ -675,7 +679,7 @@ class SKLEngine {
|
|
|
675
679
|
if (returnValue['@id']) {
|
|
676
680
|
returnTypeSchemaObject[Vocabularies_1.SHACL.targetNode] = { '@id': returnValue['@id'] };
|
|
677
681
|
}
|
|
678
|
-
else {
|
|
682
|
+
else if (returnValue['@type']) {
|
|
679
683
|
returnTypeSchemaObject[Vocabularies_1.SHACL.targetClass] = {
|
|
680
684
|
'@id': Array.isArray(returnValue['@type']) ? returnValue['@type'][0] : returnValue['@type'],
|
|
681
685
|
};
|
package/dist/SklEngine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SklEngine.js","sourceRoot":"","sources":["../src/SklEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SklEngine.js","sourceRoot":"","sources":["../src/SklEngine.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './mapping/Mapper';
|
|
2
2
|
export * from './storage/operator/Equal';
|
|
3
|
+
export * from './storage/operator/Exists';
|
|
3
4
|
export * from './storage/operator/GreaterThan';
|
|
4
5
|
export * from './storage/operator/GreaterThanOrEqual';
|
|
5
6
|
export * from './storage/operator/In';
|
package/dist/index.js
CHANGED
|
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
__exportStar(require("./mapping/Mapper"), exports);
|
|
19
19
|
// Storage/Operator
|
|
20
20
|
__exportStar(require("./storage/operator/Equal"), exports);
|
|
21
|
+
__exportStar(require("./storage/operator/Exists"), exports);
|
|
21
22
|
__exportStar(require("./storage/operator/GreaterThan"), exports);
|
|
22
23
|
__exportStar(require("./storage/operator/GreaterThanOrEqual"), exports);
|
|
23
24
|
__exportStar(require("./storage/operator/In"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,UAAU;AACV,mDAAiC;AAEjC,mBAAmB;AACnB,2DAAyC;AACzC,iEAA+C;AAC/C,wEAAsD;AACtD,wDAAsC;AACtC,6DAA2C;AAC3C,iEAA+C;AAC/C,qEAAmD;AACnD,0EAAwD;AACxD,8DAA4C;AAC5C,qEAAmD;AACnD,yDAAuC;AACvC,mEAAiD;AACjD,kEAAgD;AAChD,oEAAkD;AAElD,iBAAiB;AACjB,oFAAkE;AAClE,oFAAkE;AAClE,qFAAmE;AACnE,mFAAiE;AACjE,4GAA0F;AAC1F,4GAA0F;AAE1F,UAAU;AACV,yDAAuC;AACvC,6DAA2C;AAC3C,uEAAqD;AAErD,OAAO;AACP,oDAAkC;AAClC,+CAA6B;AAC7B,8CAA4B;AAC5B,sDAAoC;AAEpC,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,UAAU;AACV,mDAAiC;AAEjC,mBAAmB;AACnB,2DAAyC;AACzC,4DAA0C;AAC1C,iEAA+C;AAC/C,wEAAsD;AACtD,wDAAsC;AACtC,6DAA2C;AAC3C,iEAA+C;AAC/C,qEAAmD;AACnD,0EAAwD;AACxD,8DAA4C;AAC5C,qEAAmD;AACnD,yDAAuC;AACvC,mEAAiD;AACjD,kEAAgD;AAChD,oEAAkD;AAElD,iBAAiB;AACjB,oFAAkE;AAClE,oFAAkE;AAClE,qFAAmE;AACnE,mFAAiE;AACjE,4GAA0F;AAC1F,4GAA0F;AAE1F,UAAU;AACV,yDAAuC;AACvC,6DAA2C;AAC3C,uEAAqD;AAErD,OAAO;AACP,oDAAkC;AAClC,+CAA6B;AAC7B,8CAA4B;AAC5B,sDAAoC;AAEpC,8CAA4B"}
|