@forestadmin/forestadmin-client 1.24.2 → 1.24.3
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/auth/errors.d.ts +8 -0
- package/dist/auth/errors.js +15 -0
- package/dist/auth/index.d.ts +16 -5
- package/dist/auth/index.js +34 -3
- package/dist/auth/types.d.ts +3 -0
- package/dist/forest-admin-client-with-cache.d.ts +1 -5
- package/dist/forest-admin-client-with-cache.js +1 -7
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -1
- package/dist/types.d.ts +16 -4
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthenticationError = void 0;
|
|
4
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
5
|
+
class AuthenticationError extends Error {
|
|
6
|
+
constructor(e) {
|
|
7
|
+
super(e.message);
|
|
8
|
+
this.description = e.error_description;
|
|
9
|
+
this.state = e.state;
|
|
10
|
+
this.code = e.error;
|
|
11
|
+
this.stack = e.stack;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.AuthenticationError = AuthenticationError;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F1dGgvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHdEQUF3RDtBQUN4RCxNQUFhLG1CQUFvQixTQUFRLEtBQUs7SUFLNUMsWUFBWSxDQUFpQjtRQUMzQixLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQWJELGtEQWFDIn0=
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ParsedUrlQuery } from 'querystring';
|
|
3
|
+
import { Tokens, UserInfo } from './types';
|
|
4
|
+
import { ForestAdminAuthServiceInterface, ForestAdminClientOptionsWithDefaults } from '../types';
|
|
5
|
+
export default class AuthService implements ForestAdminAuthServiceInterface {
|
|
5
6
|
private options;
|
|
7
|
+
private client;
|
|
6
8
|
constructor(options: ForestAdminClientOptionsWithDefaults);
|
|
7
|
-
|
|
9
|
+
init(): Promise<void>;
|
|
8
10
|
getUserInfo(renderingId: number, accessToken: string): Promise<UserInfo>;
|
|
11
|
+
generateAuthorizationUrl({ scope, state, }: {
|
|
12
|
+
scope: string;
|
|
13
|
+
state: string;
|
|
14
|
+
}): Promise<string>;
|
|
15
|
+
generateTokens({ query, state, }: {
|
|
16
|
+
query: ParsedUrlQuery;
|
|
17
|
+
state: string;
|
|
18
|
+
}): Promise<Tokens>;
|
|
19
|
+
private handleError;
|
|
9
20
|
}
|
|
10
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/auth/index.js
CHANGED
|
@@ -4,18 +4,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const openid_client_1 = require("openid-client");
|
|
7
|
+
const errors_1 = require("./errors");
|
|
7
8
|
const server_1 = __importDefault(require("../utils/server"));
|
|
8
9
|
class AuthService {
|
|
9
10
|
constructor(options) {
|
|
10
11
|
this.options = options;
|
|
11
12
|
}
|
|
12
|
-
async
|
|
13
|
+
async init() {
|
|
14
|
+
if (this.client)
|
|
15
|
+
return;
|
|
13
16
|
// We can't use 'Issuer.discover' because the oidc config is behind an auth-wall.
|
|
14
17
|
const url = '/oidc/.well-known/openid-configuration';
|
|
15
18
|
const config = await server_1.default.query(this.options, 'get', url);
|
|
16
19
|
const issuer = new openid_client_1.Issuer(config);
|
|
17
20
|
const registration = { token_endpoint_auth_method: 'none' };
|
|
18
|
-
|
|
21
|
+
this.client = await issuer.Client.register(registration, {
|
|
19
22
|
initialAccessToken: this.options.envSecret,
|
|
20
23
|
});
|
|
21
24
|
}
|
|
@@ -36,6 +39,34 @@ class AuthService {
|
|
|
36
39
|
tags: response.data.attributes.tags?.reduce((memo, { key, value }) => ({ ...memo, [key]: value }), {}),
|
|
37
40
|
};
|
|
38
41
|
}
|
|
42
|
+
async generateAuthorizationUrl({ scope, state, }) {
|
|
43
|
+
if (!this.client)
|
|
44
|
+
throw new Error('AuthService not initialized');
|
|
45
|
+
const url = this.client.authorizationUrl({
|
|
46
|
+
scope,
|
|
47
|
+
state,
|
|
48
|
+
});
|
|
49
|
+
return url;
|
|
50
|
+
}
|
|
51
|
+
async generateTokens({ query, state, }) {
|
|
52
|
+
if (!this.client)
|
|
53
|
+
throw new Error('AuthService not initialized');
|
|
54
|
+
try {
|
|
55
|
+
const tokens = await this.client.callback(undefined, query, { state });
|
|
56
|
+
return {
|
|
57
|
+
accessToken: tokens.access_token,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
catch (e) {
|
|
61
|
+
this.handleError(e);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
handleError(e) {
|
|
65
|
+
if (e instanceof openid_client_1.errors.OPError) {
|
|
66
|
+
throw new errors_1.AuthenticationError(e);
|
|
67
|
+
}
|
|
68
|
+
throw e;
|
|
69
|
+
}
|
|
39
70
|
}
|
|
40
71
|
exports.default = AuthService;
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXV0aC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlEQUE2RjtBQUc3RixxQ0FBK0M7QUFJL0MsNkRBQTBDO0FBRTFDLE1BQXFCLFdBQVc7SUFHOUIsWUFBb0IsT0FBNkM7UUFBN0MsWUFBTyxHQUFQLE9BQU8sQ0FBc0M7SUFBRyxDQUFDO0lBRTlELEtBQUssQ0FBQyxJQUFJO1FBQ2YsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFFeEIsaUZBQWlGO1FBQ2pGLE1BQU0sR0FBRyxHQUFHLHdDQUF3QyxDQUFDO1FBQ3JELE1BQU0sTUFBTSxHQUFHLE1BQU0sZ0JBQVcsQ0FBQyxLQUFLLENBQWlCLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sTUFBTSxHQUFHLElBQUksc0JBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxNQUFNLFlBQVksR0FBRyxFQUFFLDBCQUEwQixFQUFFLE1BQTBCLEVBQUUsQ0FBQztRQUVoRixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU8sTUFBTSxDQUFDLE1BQW9CLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRTtZQUN0RSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7U0FDM0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBbUIsRUFBRSxXQUFtQjtRQUN4RCxNQUFNLEdBQUcsR0FBRyx3QkFBd0IsV0FBVyxnQkFBZ0IsQ0FBQztRQUNoRSxNQUFNLE9BQU8sR0FBRyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUVoRCw4REFBOEQ7UUFDOUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxnQkFBVyxDQUFDLEtBQUssQ0FBTSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFakYsT0FBTztZQUNMLEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDNUIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7WUFDckMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVU7WUFDOUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVM7WUFDNUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdkMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUk7WUFDbkMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQjtZQUMxRCxXQUFXO1lBQ1gsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLENBQ3pDLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUNyRCxFQUFFLENBQ0g7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxFQUNwQyxLQUFLLEVBQ0wsS0FBSyxHQUlOO1FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBRWpFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7WUFDdkMsS0FBSztZQUNMLEtBQUs7U0FDTixDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYyxDQUFDLEVBQzFCLEtBQUssRUFDTCxLQUFLLEdBSU47UUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFakUsSUFBSTtZQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFFdkUsT0FBTztnQkFDTCxXQUFXLEVBQUUsTUFBTSxDQUFDLFlBQVk7YUFDakMsQ0FBQztTQUNIO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVPLFdBQVcsQ0FBQyxDQUFRO1FBQzFCLElBQUksQ0FBQyxZQUFZLHNCQUFNLENBQUMsT0FBTyxFQUFFO1lBQy9CLE1BQU0sSUFBSSw0QkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQztRQUVELE1BQU0sQ0FBQyxDQUFDO0lBQ1YsQ0FBQztDQUNGO0FBdEZELDhCQXNGQyJ9
|
package/dist/auth/types.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { Client } from 'openid-client';
|
|
2
1
|
import AuthService from './auth';
|
|
3
|
-
import { UserInfo } from './auth/types';
|
|
4
2
|
import ChartHandler from './charts/chart-handler';
|
|
5
3
|
import { BaseEventsSubscriptionService, RefreshEventsHandlerService } from './events-subscription/types';
|
|
6
4
|
import IpWhiteListService from './ip-whitelist';
|
|
@@ -20,7 +18,7 @@ export default class ForestAdminClientWithCache implements ForestAdminClient {
|
|
|
20
18
|
readonly chartHandler: ChartHandler;
|
|
21
19
|
protected readonly ipWhitelistService: IpWhiteListService;
|
|
22
20
|
protected readonly schemaService: SchemaService;
|
|
23
|
-
|
|
21
|
+
readonly authService: AuthService;
|
|
24
22
|
readonly modelCustomizationService: ModelCustomizationService;
|
|
25
23
|
protected readonly eventsSubscription: BaseEventsSubscriptionService;
|
|
26
24
|
protected readonly eventsHandler: RefreshEventsHandlerService;
|
|
@@ -28,8 +26,6 @@ export default class ForestAdminClientWithCache implements ForestAdminClient {
|
|
|
28
26
|
verifySignedActionParameters<TSignedParameters>(signedParameters: string): TSignedParameters;
|
|
29
27
|
getIpWhitelistConfiguration(): Promise<IpWhitelistConfiguration>;
|
|
30
28
|
postSchema(schema: ForestSchema): Promise<boolean>;
|
|
31
|
-
getOpenIdClient(): Promise<Client>;
|
|
32
|
-
getUserInfo(renderingId: number, accessToken: string): Promise<UserInfo>;
|
|
33
29
|
getScope({ renderingId, userId, collectionName, }: {
|
|
34
30
|
renderingId: number | string;
|
|
35
31
|
userId: number | string;
|
|
@@ -27,12 +27,6 @@ class ForestAdminClientWithCache {
|
|
|
27
27
|
async postSchema(schema) {
|
|
28
28
|
return this.schemaService.postSchema(schema);
|
|
29
29
|
}
|
|
30
|
-
getOpenIdClient() {
|
|
31
|
-
return this.authService.getOpenIdClient();
|
|
32
|
-
}
|
|
33
|
-
getUserInfo(renderingId, accessToken) {
|
|
34
|
-
return this.authService.getUserInfo(renderingId, accessToken);
|
|
35
|
-
}
|
|
36
30
|
async getScope({ renderingId, userId, collectionName, }) {
|
|
37
31
|
return this.renderingPermissionService.getScope({
|
|
38
32
|
renderingId,
|
|
@@ -55,4 +49,4 @@ class ForestAdminClientWithCache {
|
|
|
55
49
|
}
|
|
56
50
|
}
|
|
57
51
|
exports.default = ForestAdminClientWithCache;
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LWFkbWluLWNsaWVudC13aXRoLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZvcmVzdC1hZG1pbi1jbGllbnQtd2l0aC1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVdBLG9GQUFxRTtBQVVyRSxNQUFxQiwwQkFBMEI7SUFDN0MsWUFDcUIsT0FBNkMsRUFDaEQsaUJBQW9DLEVBQ2pDLDBCQUFzRCxFQUN6RCw0QkFBMEQsRUFDMUQsWUFBMEIsRUFDdkIsa0JBQXNDLEVBQ3RDLGFBQTRCLEVBQy9CLFdBQXdCLEVBQ3hCLHlCQUFvRCxFQUNqRCxrQkFBaUQsRUFDakQsYUFBMEM7UUFWMUMsWUFBTyxHQUFQLE9BQU8sQ0FBc0M7UUFDaEQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNqQywrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3pELGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUFDMUQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDdkIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4Qiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ2pELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBK0I7UUFDakQsa0JBQWEsR0FBYixhQUFhLENBQTZCO0lBQzVELENBQUM7SUFFSiw0QkFBNEIsQ0FBb0IsZ0JBQXdCO1FBQ3RFLE9BQU8sSUFBQSx5QkFBd0IsRUFBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCwyQkFBMkI7UUFDekIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFvQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQ3BCLFdBQVcsRUFDWCxNQUFNLEVBQ04sY0FBYyxHQUtmO1FBQ0MsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDO1lBQzlDLFdBQVc7WUFDWCxjQUFjO1lBQ2QsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxXQUE0QjtRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUI7WUFDbkMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sS0FBSyxDQUFDLHVCQUF1QjtRQUNsQyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsT0FBbUM7UUFDaEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0Y7QUEzREQsNkNBMkRDIn0=
|
package/dist/index.d.ts
CHANGED
|
@@ -18,4 +18,5 @@ export { default as ChartHandler } from './charts/chart-handler';
|
|
|
18
18
|
export { default as ForestAdminClientWithCache } from './forest-admin-client-with-cache';
|
|
19
19
|
export { default as buildApplicationServices } from './build-application-services';
|
|
20
20
|
export { default as SchemaService } from './schema';
|
|
21
|
+
export * from './auth/errors';
|
|
21
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -55,4 +55,5 @@ Object.defineProperty(exports, "buildApplicationServices", { enumerable: true, g
|
|
|
55
55
|
// export is necessary for the agent-generator package
|
|
56
56
|
var schema_1 = require("./schema");
|
|
57
57
|
Object.defineProperty(exports, "SchemaService", { enumerable: true, get: function () { return __importDefault(schema_1).default; } });
|
|
58
|
-
|
|
58
|
+
__exportStar(require("./auth/errors"), exports);
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4RkFBb0U7QUFDcEUsc0dBQTBFO0FBQzFFLG9GQUEwRDtBQUcxRCx3RkFBK0Y7QUFBdEYsZ0pBQUEsT0FBTyxPQUF3QjtBQUN4Qyw4RkFBb0c7QUFBM0YscUpBQUEsT0FBTyxPQUEwQjtBQUMxQyx3RkFBK0Y7QUFBdEYsZ0pBQUEsT0FBTyxPQUF3QjtBQUN4QyxvRkFBMkY7QUFBbEYsNElBQUEsT0FBTyxPQUFzQjtBQUN0Qyw4RkFBb0c7QUFBM0YscUpBQUEsT0FBTyxPQUEwQjtBQWMxQyx1REFBdUQ7QUFDdkQsNkNBSzZCO0FBSjNCLDhHQUFBLHFCQUFxQixPQUFBO0FBT3ZCLFNBQXdCLHVCQUF1QixDQUM3QyxPQUFpQztJQUVqQyxNQUFNLEVBQ0osbUJBQW1CLEVBQ25CLFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLElBQUksRUFDSix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLGFBQWEsR0FDZCxHQUFHLElBQUEsb0NBQXdCLEVBQUMsSUFBSSx5QkFBYSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFM0QsT0FBTyxJQUFJLHdDQUEwQixDQUNuQyxtQkFBbUIsRUFDbkIsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sSUFBSSxFQUNKLHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIsYUFBYSxDQUNkLENBQUM7QUFDSixDQUFDO0FBOUJELDBDQThCQztBQUVELGlEQUErQjtBQUMvQixpREFBK0I7QUFDL0IsK0RBQTZDO0FBRTdDLGlGQUF5RjtBQUFoRix1SkFBQSxPQUFPLE9BQTRCO0FBQzVDLCtEQUF3RTtBQUEvRCxzSUFBQSxPQUFPLE9BQW9CO0FBQ3BDLHdEQUFpRTtBQUF4RCw4SEFBQSxPQUFPLE9BQWdCO0FBQ2hDLG1GQUF5RjtBQUFoRiw2SkFBQSxPQUFPLE9BQThCO0FBQzlDLDJFQUFtRjtBQUExRSx1SkFBQSxPQUFPLE9BQTRCO0FBRTVDLHNEQUFzRDtBQUN0RCxtQ0FBb0Q7QUFBM0Msd0hBQUEsT0FBTyxPQUFpQjtBQUVqQyxnREFBOEIifQ==
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import type { ChartRequest } from './charts/chart-handler';
|
|
2
3
|
import type { Chart, QueryChart } from './charts/types';
|
|
3
|
-
import
|
|
4
|
-
import { UserInfo } from './auth/types';
|
|
4
|
+
import { ParsedUrlQuery } from 'querystring';
|
|
5
|
+
import { Tokens, UserInfo } from './auth/types';
|
|
5
6
|
import { IpWhitelistConfiguration } from './ip-whitelist/types';
|
|
6
7
|
import { ModelCustomization, ModelCustomizationService } from './model-customizations/types';
|
|
7
8
|
import { HttpOptions } from './permissions/forest-http-api';
|
|
@@ -19,16 +20,27 @@ export type ForestAdminClientOptions = {
|
|
|
19
20
|
instantCacheRefresh?: boolean;
|
|
20
21
|
};
|
|
21
22
|
export type ForestAdminClientOptionsWithDefaults = Required<ForestAdminClientOptions>;
|
|
23
|
+
export type ForestAdminAuthServiceInterface = {
|
|
24
|
+
init: () => Promise<void>;
|
|
25
|
+
getUserInfo: (renderingId: number, accessToken: string) => Promise<UserInfo>;
|
|
26
|
+
generateAuthorizationUrl: (params: {
|
|
27
|
+
scope: string;
|
|
28
|
+
state: string;
|
|
29
|
+
}) => Promise<string>;
|
|
30
|
+
generateTokens: (params: {
|
|
31
|
+
query: ParsedUrlQuery;
|
|
32
|
+
state: string;
|
|
33
|
+
}) => Promise<Tokens>;
|
|
34
|
+
};
|
|
22
35
|
export interface ForestAdminClient {
|
|
23
36
|
readonly permissionService: PermissionService;
|
|
24
37
|
readonly contextVariablesInstantiator: ContextVariablesInstantiatorInterface;
|
|
25
38
|
readonly chartHandler: ChartHandlerInterface;
|
|
26
39
|
readonly modelCustomizationService: ModelCustomizationService;
|
|
40
|
+
readonly authService: ForestAdminAuthServiceInterface;
|
|
27
41
|
verifySignedActionParameters<TSignedParameters>(signedParameters: string): TSignedParameters;
|
|
28
42
|
getIpWhitelistConfiguration(): Promise<IpWhitelistConfiguration>;
|
|
29
43
|
postSchema(schema: ForestSchema): Promise<boolean>;
|
|
30
|
-
getOpenIdClient(): Promise<Client>;
|
|
31
|
-
getUserInfo(renderingId: number, accessToken: string): Promise<UserInfo>;
|
|
32
44
|
getScope(params: {
|
|
33
45
|
renderingId: number | string;
|
|
34
46
|
userId: number | string;
|