@versori/run 0.2.2 → 0.2.4-alpha.1
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/esm/src/context/Context.d.ts +1 -1
- package/esm/src/context/Context.d.ts.map +1 -1
- package/esm/src/context/Context.js +4 -1
- package/esm/src/dsl/http/versori/contextcredentials.d.ts +4 -0
- package/esm/src/dsl/http/versori/contextcredentials.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/roundtripper.d.ts +2 -2
- package/esm/src/dsl/http/versori/roundtripper.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/roundtripper.js +32 -13
- package/package.json +1 -1
- package/script/src/context/Context.d.ts +1 -1
- package/script/src/context/Context.d.ts.map +1 -1
- package/script/src/context/Context.js +4 -1
- package/script/src/dsl/http/versori/contextcredentials.d.ts +4 -0
- package/script/src/dsl/http/versori/contextcredentials.d.ts.map +1 -1
- package/script/src/dsl/http/versori/roundtripper.d.ts +2 -2
- package/script/src/dsl/http/versori/roundtripper.d.ts.map +1 -1
- package/script/src/dsl/http/versori/roundtripper.js +32 -13
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Activation } from '../dsl/http/types.js';
|
|
2
|
+
import { Credentials } from '../dsl/http/versori/contextcredentials.js';
|
|
2
3
|
import { KeyValue, KeyValueProvider, KeyValueScope } from '../kv/KeyValue.js';
|
|
3
4
|
import { Logger } from '../observability/logging/Logger.js';
|
|
4
|
-
import { Credentials } from '../dsl/http/versori/contextcredentials.js';
|
|
5
5
|
export type OnSuccessFn = (ctx: Context<any>) => void;
|
|
6
6
|
export type OnErrorFn = (ctx: Context<any>) => void;
|
|
7
7
|
export type ContextOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/src/context/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/src/context/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAuB,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,OAAO,CAAC,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC;IAExC,WAAW,IAAI,WAAW,CAAC;CAC9B;AAED,qBAAa,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;;IAC3D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB,GAAG,EAAE,KAAK,CAAC;IAEX,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;gBAI7B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,IAAI,EACf,IAAI,EAAE,CAAC,EACP,OAAO,GAAE,cAAmB;IAmBhC,IAAI,UAAU,IAAI,UAAU,GAAG,SAAS,CAEvC;IAED,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC;IAe7C,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;IAoB7D,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC;IAY9C,MAAM,CAAC,KAAK,GAAE,aAA2B,GAAG,QAAQ;IAepD,WAAW,IAAI,WAAW;IAQ1B,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe5C,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQlD"}
|
|
@@ -104,7 +104,10 @@ export class ContextImpl {
|
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
106
|
credentials() {
|
|
107
|
-
return
|
|
107
|
+
return {
|
|
108
|
+
getRaw: (name) => __classPrivateFieldGet(this, _ContextImpl_creds, "f").getRaw(name, this.activation?.id || undefined),
|
|
109
|
+
getAccessToken: (name, forceRefresh = false) => __classPrivateFieldGet(this, _ContextImpl_creds, "f").getAccessToken(name, forceRefresh, this.activation?.id || undefined),
|
|
110
|
+
};
|
|
108
111
|
}
|
|
109
112
|
destroy(scope) {
|
|
110
113
|
if (scope === ':execution:') {
|
|
@@ -7,4 +7,8 @@ export interface Credentials {
|
|
|
7
7
|
getRaw(name: string): Promise<Uint8Array>;
|
|
8
8
|
getAccessToken(name: string, forceRefresh?: boolean): Promise<Token>;
|
|
9
9
|
}
|
|
10
|
+
export interface CredentialsProvider {
|
|
11
|
+
getRaw(name: string, activationId?: string): Promise<Uint8Array>;
|
|
12
|
+
getAccessToken(name: string, forceRefresh?: boolean, activationId?: string): Promise<Token>;
|
|
13
|
+
}
|
|
10
14
|
//# sourceMappingURL=contextcredentials.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextcredentials.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/contextcredentials.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,WAAW;IACxB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE1C,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CACxE"}
|
|
1
|
+
{"version":3,"file":"contextcredentials.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/contextcredentials.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,WAAW;IACxB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE1C,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CACxE;AAED,MAAM,WAAW,mBAAmB;IAChC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEjE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CAC/F"}
|
|
@@ -31,8 +31,8 @@ export declare class VersoriCredentialsFactory implements RoundTripperFactory {
|
|
|
31
31
|
createDynamic(templateName: string): Promise<DynamicFetcher | undefined>;
|
|
32
32
|
private traceFetch;
|
|
33
33
|
credentials(): Credentials;
|
|
34
|
-
getTokenByName(name: string, forceRefresh?: boolean): Promise<Token>;
|
|
35
|
-
getRawByName(name: string): Promise<Uint8Array>;
|
|
34
|
+
getTokenByName(name: string, forceRefresh?: boolean, activationId?: string): Promise<Token>;
|
|
35
|
+
getRawByName(name: string, activationId?: string): Promise<Uint8Array>;
|
|
36
36
|
private getCredentialIDFromName;
|
|
37
37
|
private getConnectionID;
|
|
38
38
|
private getTemplateID;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roundtripper.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/roundtripper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAElE,OAAO,EAGH,cAAc,EACd,mBAAmB,EAEtB,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;;;;;;GAUG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACjE,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,UAAU,CAAmB;IAErC,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;gBAGE,WAAW,EAAE,uBAAuB,EACpC,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;IAelB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,yBAAyB;IA4BzE,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,aAAa;IAwBrB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,KAAK,GAAG,SAAS,CAAC;IAqC3D,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAgDxE,OAAO,CAAC,UAAU;IAqClB,WAAW,IAAI,WAAW;IAOpB,cAAc,
|
|
1
|
+
{"version":3,"file":"roundtripper.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/roundtripper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAElE,OAAO,EAGH,cAAc,EACd,mBAAmB,EAEtB,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;;;;;;GAUG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACjE,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,UAAU,CAAmB;IAErC,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;gBAGE,WAAW,EAAE,uBAAuB,EACpC,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;IAelB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,yBAAyB;IA4BzE,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,aAAa;IAwBrB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,KAAK,GAAG,SAAS,CAAC;IAqC3D,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAgDxE,OAAO,CAAC,UAAU;IAqClB,WAAW,IAAI,WAAW;IAOpB,cAAc,CAChB,IAAI,EAAE,MAAM,EACZ,YAAY,UAAQ,EACpB,YAAY,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,KAAK,CAAC;IAiBX,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAoB9D,uBAAuB;IAoDrC,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;YAyDP,gBAAgB;YAqChB,kBAAkB;YAmClB,aAAa;YAwEb,QAAQ;CA4BzB"}
|
|
@@ -233,9 +233,9 @@ export class VersoriCredentialsFactory {
|
|
|
233
233
|
getAccessToken: this.getTokenByName.bind(this),
|
|
234
234
|
};
|
|
235
235
|
}
|
|
236
|
-
async getTokenByName(name, forceRefresh = false) {
|
|
237
|
-
const credId = await this.getCredentialIDFromName(name);
|
|
238
|
-
const token = await this.tokenClient.getToken(credId);
|
|
236
|
+
async getTokenByName(name, forceRefresh = false, activationId) {
|
|
237
|
+
const credId = await this.getCredentialIDFromName(name, activationId);
|
|
238
|
+
const token = await this.tokenClient.getToken(credId, forceRefresh);
|
|
239
239
|
if (!token?.token) {
|
|
240
240
|
throw new Error(`Token not found for connection ${name} with credential ID ${credId}`);
|
|
241
241
|
}
|
|
@@ -247,8 +247,8 @@ export class VersoriCredentialsFactory {
|
|
|
247
247
|
: undefined,
|
|
248
248
|
};
|
|
249
249
|
}
|
|
250
|
-
async getRawByName(name) {
|
|
251
|
-
const credId = await this.getCredentialIDFromName(name);
|
|
250
|
+
async getRawByName(name, activationId) {
|
|
251
|
+
const credId = await this.getCredentialIDFromName(name, activationId);
|
|
252
252
|
const raw = await this.tokenClient.getRaw(credId);
|
|
253
253
|
if (!raw) {
|
|
254
254
|
throw new Error(`Raw data not found for connection ${name} with credential ID ${credId}`);
|
|
@@ -259,19 +259,38 @@ export class VersoriCredentialsFactory {
|
|
|
259
259
|
}
|
|
260
260
|
return Promise.resolve(buffer);
|
|
261
261
|
}
|
|
262
|
-
async getCredentialIDFromName(name) {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
262
|
+
async getCredentialIDFromName(name, activationId) {
|
|
263
|
+
// fin connection config from versori file
|
|
264
|
+
const conn = this.versoriCfg.mappings.find((c) => c.name.toLowerCase() === name);
|
|
265
|
+
if (!conn) {
|
|
266
|
+
return '';
|
|
267
|
+
}
|
|
268
|
+
// if connection is dynamic try and load the activation
|
|
269
|
+
if (conn.dynamic) {
|
|
270
|
+
if (!activationId) {
|
|
271
|
+
throw new Error(`Connection ${name} is dynamic, but no activation ID was found on the context`);
|
|
272
|
+
}
|
|
273
|
+
if (!conn.templateId) {
|
|
274
|
+
throw new Error(`Connection ${name} is dynamic, but no template ID was found on the config`);
|
|
275
|
+
}
|
|
276
|
+
const dynamicConn = await this.platformAPIClient.getActivationConnection(conn.templateId, activationId);
|
|
277
|
+
if (!dynamicConn) {
|
|
278
|
+
throw new Error(`Connection ${name} not found`);
|
|
279
|
+
}
|
|
280
|
+
return dynamicConn.credentials[0].credential.id;
|
|
281
|
+
}
|
|
282
|
+
// connection is not dynamic try and load static connection
|
|
283
|
+
if (!conn.connId) {
|
|
284
|
+
throw new Error(`Connection ${name} is static, but no connection ID was found on the config`);
|
|
266
285
|
}
|
|
267
|
-
const
|
|
286
|
+
const staticConn = await this.platformAPIClient.getStaticConnection(conn.connId);
|
|
268
287
|
if (!conn) {
|
|
269
288
|
throw new Error(`Connection ${name} not found`);
|
|
270
289
|
}
|
|
271
|
-
if (!
|
|
272
|
-
throw new Error(`Connection ${name}/${
|
|
290
|
+
if (!staticConn?.credentials[0]?.credential?.id) {
|
|
291
|
+
throw new Error(`Connection ${name}/${conn.connId} has no credentials defined on it`);
|
|
273
292
|
}
|
|
274
|
-
return
|
|
293
|
+
return staticConn.credentials[0].credential.id;
|
|
275
294
|
}
|
|
276
295
|
getConnectionID(connName) {
|
|
277
296
|
const conn = this.versoriCfg.mappings.find((c) => (c.dynamic === undefined || c.dynamic === false) &&
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Activation } from '../dsl/http/types.js';
|
|
2
|
+
import { Credentials } from '../dsl/http/versori/contextcredentials.js';
|
|
2
3
|
import { KeyValue, KeyValueProvider, KeyValueScope } from '../kv/KeyValue.js';
|
|
3
4
|
import { Logger } from '../observability/logging/Logger.js';
|
|
4
|
-
import { Credentials } from '../dsl/http/versori/contextcredentials.js';
|
|
5
5
|
export type OnSuccessFn = (ctx: Context<any>) => void;
|
|
6
6
|
export type OnErrorFn = (ctx: Context<any>) => void;
|
|
7
7
|
export type ContextOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/src/context/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/src/context/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAuB,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,OAAO,CAAC,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC;IAExC,WAAW,IAAI,WAAW,CAAC;CAC9B;AAED,qBAAa,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;;IAC3D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB,GAAG,EAAE,KAAK,CAAC;IAEX,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;gBAI7B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,IAAI,EACf,IAAI,EAAE,CAAC,EACP,OAAO,GAAE,cAAmB;IAmBhC,IAAI,UAAU,IAAI,UAAU,GAAG,SAAS,CAEvC;IAED,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC;IAe7C,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;IAoB7D,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC;IAY9C,MAAM,CAAC,KAAK,GAAE,aAA2B,GAAG,QAAQ;IAepD,WAAW,IAAI,WAAW;IAQ1B,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe5C,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQlD"}
|
|
@@ -107,7 +107,10 @@ class ContextImpl {
|
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
109
|
credentials() {
|
|
110
|
-
return
|
|
110
|
+
return {
|
|
111
|
+
getRaw: (name) => __classPrivateFieldGet(this, _ContextImpl_creds, "f").getRaw(name, this.activation?.id || undefined),
|
|
112
|
+
getAccessToken: (name, forceRefresh = false) => __classPrivateFieldGet(this, _ContextImpl_creds, "f").getAccessToken(name, forceRefresh, this.activation?.id || undefined),
|
|
113
|
+
};
|
|
111
114
|
}
|
|
112
115
|
destroy(scope) {
|
|
113
116
|
if (scope === ':execution:') {
|
|
@@ -7,4 +7,8 @@ export interface Credentials {
|
|
|
7
7
|
getRaw(name: string): Promise<Uint8Array>;
|
|
8
8
|
getAccessToken(name: string, forceRefresh?: boolean): Promise<Token>;
|
|
9
9
|
}
|
|
10
|
+
export interface CredentialsProvider {
|
|
11
|
+
getRaw(name: string, activationId?: string): Promise<Uint8Array>;
|
|
12
|
+
getAccessToken(name: string, forceRefresh?: boolean, activationId?: string): Promise<Token>;
|
|
13
|
+
}
|
|
10
14
|
//# sourceMappingURL=contextcredentials.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextcredentials.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/contextcredentials.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,WAAW;IACxB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE1C,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CACxE"}
|
|
1
|
+
{"version":3,"file":"contextcredentials.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/contextcredentials.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,WAAW;IACxB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE1C,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CACxE;AAED,MAAM,WAAW,mBAAmB;IAChC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEjE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CAC/F"}
|
|
@@ -31,8 +31,8 @@ export declare class VersoriCredentialsFactory implements RoundTripperFactory {
|
|
|
31
31
|
createDynamic(templateName: string): Promise<DynamicFetcher | undefined>;
|
|
32
32
|
private traceFetch;
|
|
33
33
|
credentials(): Credentials;
|
|
34
|
-
getTokenByName(name: string, forceRefresh?: boolean): Promise<Token>;
|
|
35
|
-
getRawByName(name: string): Promise<Uint8Array>;
|
|
34
|
+
getTokenByName(name: string, forceRefresh?: boolean, activationId?: string): Promise<Token>;
|
|
35
|
+
getRawByName(name: string, activationId?: string): Promise<Uint8Array>;
|
|
36
36
|
private getCredentialIDFromName;
|
|
37
37
|
private getConnectionID;
|
|
38
38
|
private getTemplateID;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roundtripper.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/roundtripper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAElE,OAAO,EAGH,cAAc,EACd,mBAAmB,EAEtB,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;;;;;;GAUG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACjE,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,UAAU,CAAmB;IAErC,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;gBAGE,WAAW,EAAE,uBAAuB,EACpC,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;IAelB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,yBAAyB;IA4BzE,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,aAAa;IAwBrB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,KAAK,GAAG,SAAS,CAAC;IAqC3D,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAgDxE,OAAO,CAAC,UAAU;IAqClB,WAAW,IAAI,WAAW;IAOpB,cAAc,
|
|
1
|
+
{"version":3,"file":"roundtripper.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/roundtripper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAElE,OAAO,EAGH,cAAc,EACd,mBAAmB,EAEtB,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;;;;;;GAUG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACjE,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,UAAU,CAAmB;IAErC,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;gBAGE,WAAW,EAAE,uBAAuB,EACpC,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;IAelB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,yBAAyB;IA4BzE,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,aAAa;IAwBrB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,KAAK,GAAG,SAAS,CAAC;IAqC3D,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAgDxE,OAAO,CAAC,UAAU;IAqClB,WAAW,IAAI,WAAW;IAOpB,cAAc,CAChB,IAAI,EAAE,MAAM,EACZ,YAAY,UAAQ,EACpB,YAAY,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,KAAK,CAAC;IAiBX,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAoB9D,uBAAuB;IAoDrC,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;YAyDP,gBAAgB;YAqChB,kBAAkB;YAmClB,aAAa;YAwEb,QAAQ;CA4BzB"}
|
|
@@ -236,9 +236,9 @@ class VersoriCredentialsFactory {
|
|
|
236
236
|
getAccessToken: this.getTokenByName.bind(this),
|
|
237
237
|
};
|
|
238
238
|
}
|
|
239
|
-
async getTokenByName(name, forceRefresh = false) {
|
|
240
|
-
const credId = await this.getCredentialIDFromName(name);
|
|
241
|
-
const token = await this.tokenClient.getToken(credId);
|
|
239
|
+
async getTokenByName(name, forceRefresh = false, activationId) {
|
|
240
|
+
const credId = await this.getCredentialIDFromName(name, activationId);
|
|
241
|
+
const token = await this.tokenClient.getToken(credId, forceRefresh);
|
|
242
242
|
if (!token?.token) {
|
|
243
243
|
throw new Error(`Token not found for connection ${name} with credential ID ${credId}`);
|
|
244
244
|
}
|
|
@@ -250,8 +250,8 @@ class VersoriCredentialsFactory {
|
|
|
250
250
|
: undefined,
|
|
251
251
|
};
|
|
252
252
|
}
|
|
253
|
-
async getRawByName(name) {
|
|
254
|
-
const credId = await this.getCredentialIDFromName(name);
|
|
253
|
+
async getRawByName(name, activationId) {
|
|
254
|
+
const credId = await this.getCredentialIDFromName(name, activationId);
|
|
255
255
|
const raw = await this.tokenClient.getRaw(credId);
|
|
256
256
|
if (!raw) {
|
|
257
257
|
throw new Error(`Raw data not found for connection ${name} with credential ID ${credId}`);
|
|
@@ -262,19 +262,38 @@ class VersoriCredentialsFactory {
|
|
|
262
262
|
}
|
|
263
263
|
return Promise.resolve(buffer);
|
|
264
264
|
}
|
|
265
|
-
async getCredentialIDFromName(name) {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
265
|
+
async getCredentialIDFromName(name, activationId) {
|
|
266
|
+
// fin connection config from versori file
|
|
267
|
+
const conn = this.versoriCfg.mappings.find((c) => c.name.toLowerCase() === name);
|
|
268
|
+
if (!conn) {
|
|
269
|
+
return '';
|
|
270
|
+
}
|
|
271
|
+
// if connection is dynamic try and load the activation
|
|
272
|
+
if (conn.dynamic) {
|
|
273
|
+
if (!activationId) {
|
|
274
|
+
throw new Error(`Connection ${name} is dynamic, but no activation ID was found on the context`);
|
|
275
|
+
}
|
|
276
|
+
if (!conn.templateId) {
|
|
277
|
+
throw new Error(`Connection ${name} is dynamic, but no template ID was found on the config`);
|
|
278
|
+
}
|
|
279
|
+
const dynamicConn = await this.platformAPIClient.getActivationConnection(conn.templateId, activationId);
|
|
280
|
+
if (!dynamicConn) {
|
|
281
|
+
throw new Error(`Connection ${name} not found`);
|
|
282
|
+
}
|
|
283
|
+
return dynamicConn.credentials[0].credential.id;
|
|
284
|
+
}
|
|
285
|
+
// connection is not dynamic try and load static connection
|
|
286
|
+
if (!conn.connId) {
|
|
287
|
+
throw new Error(`Connection ${name} is static, but no connection ID was found on the config`);
|
|
269
288
|
}
|
|
270
|
-
const
|
|
289
|
+
const staticConn = await this.platformAPIClient.getStaticConnection(conn.connId);
|
|
271
290
|
if (!conn) {
|
|
272
291
|
throw new Error(`Connection ${name} not found`);
|
|
273
292
|
}
|
|
274
|
-
if (!
|
|
275
|
-
throw new Error(`Connection ${name}/${
|
|
293
|
+
if (!staticConn?.credentials[0]?.credential?.id) {
|
|
294
|
+
throw new Error(`Connection ${name}/${conn.connId} has no credentials defined on it`);
|
|
276
295
|
}
|
|
277
|
-
return
|
|
296
|
+
return staticConn.credentials[0].credential.id;
|
|
278
297
|
}
|
|
279
298
|
getConnectionID(connName) {
|
|
280
299
|
const conn = this.versoriCfg.mappings.find((c) => (c.dynamic === undefined || c.dynamic === false) &&
|