@forestadmin/forestadmin-client
Advanced tools
Comparing version 1.0.1 to 1.0.2
@@ -0,1 +1,4 @@ | ||
import { Client } from 'openid-client'; | ||
import AuthService from './auth'; | ||
import { UserInfo } from './auth/types'; | ||
import ChartHandler from './charts/chart-handler'; | ||
@@ -18,6 +21,9 @@ import IpWhiteListService from './ip-whitelist'; | ||
protected readonly schemaService: SchemaService; | ||
constructor(options: ForestAdminClientOptionsWithDefaults, permissionService: PermissionService, renderingPermissionService: RenderingPermissionService, contextVariablesInstantiator: ContextVariablesInstantiator, chartHandler: ChartHandler, ipWhitelistService: IpWhiteListService, schemaService: SchemaService); | ||
protected readonly authService: AuthService; | ||
constructor(options: ForestAdminClientOptionsWithDefaults, permissionService: PermissionService, renderingPermissionService: RenderingPermissionService, contextVariablesInstantiator: ContextVariablesInstantiator, chartHandler: ChartHandler, ipWhitelistService: IpWhiteListService, schemaService: SchemaService, authService: AuthService); | ||
verifySignedActionParameters<TSignedParameters>(signedParameters: string): TSignedParameters; | ||
getIpWhitelistConfiguration(): Promise<IpWhitelistConfiguration>; | ||
postSchema(schema: ForestServerCollection[], agentName: string, agentVersion: string): Promise<boolean>; | ||
getOpenIdClient(): Promise<Client>; | ||
getUserInfo(renderingId: number, accessToken: string): Promise<UserInfo>; | ||
getScope({ renderingId, userId, collectionName, }: { | ||
@@ -24,0 +30,0 @@ renderingId: number | string; |
@@ -8,3 +8,3 @@ "use strict"; | ||
class ForestAdminClientWithCache { | ||
constructor(options, permissionService, renderingPermissionService, contextVariablesInstantiator, chartHandler, ipWhitelistService, schemaService) { | ||
constructor(options, permissionService, renderingPermissionService, contextVariablesInstantiator, chartHandler, ipWhitelistService, schemaService, authService) { | ||
this.options = options; | ||
@@ -17,2 +17,3 @@ this.permissionService = permissionService; | ||
this.schemaService = schemaService; | ||
this.authService = authService; | ||
} | ||
@@ -22,3 +23,3 @@ verifySignedActionParameters(signedParameters) { | ||
} | ||
async getIpWhitelistConfiguration() { | ||
getIpWhitelistConfiguration() { | ||
return this.ipWhitelistService.getConfiguration(); | ||
@@ -29,2 +30,8 @@ } | ||
} | ||
getOpenIdClient() { | ||
return this.authService.getOpenIdClient(); | ||
} | ||
getUserInfo(renderingId, accessToken) { | ||
return this.authService.getUserInfo(renderingId, accessToken); | ||
} | ||
async getScope({ renderingId, userId, collectionName, }) { | ||
@@ -42,2 +49,2 @@ return this.renderingPermissionService.getScope({ | ||
exports.default = ForestAdminClientWithCache; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LWFkbWluLWNsaWVudC13aXRoLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZvcmVzdC1hZG1pbi1jbGllbnQtd2l0aC1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUtBLG9GQUFxRTtBQVVyRSxNQUFxQiwwQkFBMEI7SUFDN0MsWUFDcUIsT0FBNkMsRUFDaEQsaUJBQW9DLEVBQ2pDLDBCQUFzRCxFQUN6RCw0QkFBMEQsRUFDMUQsWUFBMEIsRUFDdkIsa0JBQXNDLEVBQ3RDLGFBQTRCO1FBTjVCLFlBQU8sR0FBUCxPQUFPLENBQXNDO1FBQ2hELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDakMsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN6RCxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQThCO1FBQzFELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3ZCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDOUMsQ0FBQztJQUVHLDRCQUE0QixDQUNqQyxnQkFBd0I7UUFFeEIsT0FBTyxJQUFBLHlCQUF3QixFQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELEtBQUssQ0FBQywyQkFBMkI7UUFDL0IsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FDZCxNQUFnQyxFQUNoQyxTQUFpQixFQUNqQixZQUFvQjtRQUVwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFDcEIsV0FBVyxFQUNYLE1BQU0sRUFDTixjQUFjLEdBS2Y7UUFDQyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUM7WUFDOUMsV0FBVztZQUNYLGNBQWM7WUFDZCxNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFdBQTRCO1FBQ3JELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGO0FBaERELDZDQWdEQyJ9 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LWFkbWluLWNsaWVudC13aXRoLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZvcmVzdC1hZG1pbi1jbGllbnQtd2l0aC1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLG9GQUFxRTtBQVVyRSxNQUFxQiwwQkFBMEI7SUFDN0MsWUFDcUIsT0FBNkMsRUFDaEQsaUJBQW9DLEVBQ2pDLDBCQUFzRCxFQUN6RCw0QkFBMEQsRUFDMUQsWUFBMEIsRUFDdkIsa0JBQXNDLEVBQ3RDLGFBQTRCLEVBQzVCLFdBQXdCO1FBUHhCLFlBQU8sR0FBUCxPQUFPLENBQXNDO1FBQ2hELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDakMsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN6RCxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQThCO1FBQzFELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3ZCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDMUMsQ0FBQztJQUVKLDRCQUE0QixDQUFvQixnQkFBd0I7UUFDdEUsT0FBTyxJQUFBLHlCQUF3QixFQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELDJCQUEyQjtRQUN6QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUNkLE1BQWdDLEVBQ2hDLFNBQWlCLEVBQ2pCLFlBQW9CO1FBRXBCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVyxDQUFDLFdBQW1CLEVBQUUsV0FBbUI7UUFDbEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFDcEIsV0FBVyxFQUNYLE1BQU0sRUFDTixjQUFjLEdBS2Y7UUFDQyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUM7WUFDOUMsV0FBVztZQUNYLGNBQWM7WUFDZCxNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFdBQTRCO1FBQ3JELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGO0FBdkRELDZDQXVEQyJ9 |
@@ -11,2 +11,3 @@ import ForestAdminClient from './forest-admin-client-with-cache'; | ||
export { CollectionActionEvent, RenderingPermissionV4, UserPermissionV4, } from './permissions/types'; | ||
export { UserInfo } from './auth/types'; | ||
export default function createForestAdminClient(options: ForestAdminClientOptions): ForestAdminClient; | ||
@@ -18,2 +19,3 @@ export * from './charts/types'; | ||
export { default as ChartHandler } from './charts/chart-handler'; | ||
export { default as SchemaService } from './schema'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -20,3 +20,4 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.ChartHandler = exports.ContextVariables = exports.ContextVariablesInjector = exports.CollectionActionEvent = exports.NonSelectSQLQueryError = exports.EmptySQLQueryError = exports.ChainedSQLQueryError = exports.JTWUnableToVerifyError = exports.JTWTokenExpiredError = void 0; | ||
exports.SchemaService = exports.ChartHandler = exports.ContextVariables = exports.ContextVariablesInjector = exports.CollectionActionEvent = exports.NonSelectSQLQueryError = exports.EmptySQLQueryError = exports.ChainedSQLQueryError = exports.JTWUnableToVerifyError = exports.JTWTokenExpiredError = void 0; | ||
const auth_1 = __importDefault(require("./auth")); | ||
const chart_handler_1 = __importDefault(require("./charts/chart-handler")); | ||
@@ -61,3 +62,4 @@ const forest_admin_client_with_cache_1 = __importDefault(require("./forest-admin-client-with-cache")); | ||
const schemaService = new schema_1.default(optionsWithDefaults); | ||
return new forest_admin_client_with_cache_1.default(optionsWithDefaults, permissionService, renderingPermission, contextVariablesInstantiator, chartHandler, ipWhitelistPermission, schemaService); | ||
const authService = new auth_1.default(optionsWithDefaults); | ||
return new forest_admin_client_with_cache_1.default(optionsWithDefaults, permissionService, renderingPermission, contextVariablesInstantiator, chartHandler, ipWhitelistPermission, schemaService, authService); | ||
} | ||
@@ -73,2 +75,5 @@ exports.default = createForestAdminClient; | ||
Object.defineProperty(exports, "ChartHandler", { enumerable: true, get: function () { return __importDefault(chart_handler_2).default; } }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyRUFBa0Q7QUFDbEQsc0dBQWlFO0FBQ2pFLGtFQUFnRDtBQUNoRCx3RkFBc0U7QUFDdEUsZ0dBQW9FO0FBQ3BFLDhGQUE0RTtBQUM1RSxvRkFBa0U7QUFDbEUsc0RBQXFDO0FBRXJDLDRHQUFrRjtBQUNsRiw0RUFBbUQ7QUFFbkQsd0ZBQStGO0FBQXRGLGdKQUFBLE9BQU8sT0FBd0I7QUFDeEMsOEZBQW9HO0FBQTNGLHFKQUFBLE9BQU8sT0FBMEI7QUFDMUMsd0ZBQStGO0FBQXRGLGdKQUFBLE9BQU8sT0FBd0I7QUFDeEMsb0ZBQTJGO0FBQWxGLDRJQUFBLE9BQU8sT0FBc0I7QUFDdEMsOEZBQW9HO0FBQTNGLHFKQUFBLE9BQU8sT0FBMEI7QUFXMUMsdURBQXVEO0FBQ3ZELDZDQUk2QjtBQUgzQiw4R0FBQSxxQkFBcUIsT0FBQTtBQUt2QixTQUF3Qix1QkFBdUIsQ0FDN0MsT0FBaUM7SUFFakMsTUFBTSxtQkFBbUIsR0FBeUM7UUFDaEUsZUFBZSxFQUFFLDZCQUE2QjtRQUM5QyxpQ0FBaUMsRUFBRSxFQUFFLEdBQUcsRUFBRTtRQUMxQyxzQ0FBc0M7UUFDdEMsTUFBTSxFQUFFLHdCQUFhO1FBQ3JCLEdBQUcsT0FBTztLQUNYLENBQUM7SUFFRixNQUFNLGdCQUFnQixHQUFHLElBQUksMkJBQXVCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMxRSxNQUFNLGNBQWMsR0FBRyxJQUFJLHlCQUFxQixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLDhCQUEwQixDQUFDLG1CQUFtQixFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ2hHLE1BQU0saUJBQWlCLEdBQUcsSUFBSSwrQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZGLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSx3Q0FBNEIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzNGLE1BQU0sWUFBWSxHQUFHLElBQUksdUJBQVksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxzQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzFFLE1BQU0sYUFBYSxHQUFHLElBQUksZ0JBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRTdELE9BQU8sSUFBSSx3Q0FBaUIsQ0FDMUIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLFlBQVksRUFDWixxQkFBcUIsRUFDckIsYUFBYSxDQUNkLENBQUM7QUFDSixDQUFDO0FBN0JELDBDQTZCQztBQUVELGlEQUErQjtBQUMvQixpREFBK0I7QUFDL0IsaUZBQXlGO0FBQWhGLHVKQUFBLE9BQU8sT0FBNEI7QUFDNUMsK0RBQXdFO0FBQS9ELHNJQUFBLE9BQU8sT0FBb0I7QUFDcEMsd0RBQWlFO0FBQXhELDhIQUFBLE9BQU8sT0FBZ0IifQ== | ||
// export is necessary for the agent-generator package | ||
var schema_2 = require("./schema"); | ||
Object.defineProperty(exports, "SchemaService", { enumerable: true, get: function () { return __importDefault(schema_2).default; } }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBaUM7QUFDakMsMkVBQWtEO0FBQ2xELHNHQUFpRTtBQUNqRSxrRUFBZ0Q7QUFDaEQsd0ZBQXNFO0FBQ3RFLGdHQUFvRTtBQUNwRSw4RkFBNEU7QUFDNUUsb0ZBQWtFO0FBQ2xFLHNEQUFxQztBQUVyQyw0R0FBa0Y7QUFDbEYsNEVBQW1EO0FBRW5ELHdGQUErRjtBQUF0RixnSkFBQSxPQUFPLE9BQXdCO0FBQ3hDLDhGQUFvRztBQUEzRixxSkFBQSxPQUFPLE9BQTBCO0FBQzFDLHdGQUErRjtBQUF0RixnSkFBQSxPQUFPLE9BQXdCO0FBQ3hDLG9GQUEyRjtBQUFsRiw0SUFBQSxPQUFPLE9BQXNCO0FBQ3RDLDhGQUFvRztBQUEzRixxSkFBQSxPQUFPLE9BQTBCO0FBVzFDLHVEQUF1RDtBQUN2RCw2Q0FJNkI7QUFIM0IsOEdBQUEscUJBQXFCLE9BQUE7QUFNdkIsU0FBd0IsdUJBQXVCLENBQzdDLE9BQWlDO0lBRWpDLE1BQU0sbUJBQW1CLEdBQXlDO1FBQ2hFLGVBQWUsRUFBRSw2QkFBNkI7UUFDOUMsaUNBQWlDLEVBQUUsRUFBRSxHQUFHLEVBQUU7UUFDMUMsc0NBQXNDO1FBQ3RDLE1BQU0sRUFBRSx3QkFBYTtRQUNyQixHQUFHLE9BQU87S0FDWCxDQUFDO0lBRUYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLDJCQUF1QixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDMUUsTUFBTSxjQUFjLEdBQUcsSUFBSSx5QkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSw4QkFBMEIsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNoRyxNQUFNLGlCQUFpQixHQUFHLElBQUksK0JBQWlCLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN2RixNQUFNLDRCQUE0QixHQUFHLElBQUksd0NBQTRCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMzRixNQUFNLFlBQVksR0FBRyxJQUFJLHVCQUFZLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNwRSxNQUFNLHFCQUFxQixHQUFHLElBQUksc0JBQWtCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMxRSxNQUFNLGFBQWEsR0FBRyxJQUFJLGdCQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM3RCxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRXpELE9BQU8sSUFBSSx3Q0FBaUIsQ0FDMUIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLFlBQVksRUFDWixxQkFBcUIsRUFDckIsYUFBYSxFQUNiLFdBQVcsQ0FDWixDQUFDO0FBQ0osQ0FBQztBQS9CRCwwQ0ErQkM7QUFFRCxpREFBK0I7QUFDL0IsaURBQStCO0FBQy9CLGlGQUF5RjtBQUFoRix1SkFBQSxPQUFPLE9BQTRCO0FBQzVDLCtEQUF3RTtBQUEvRCxzSUFBQSxPQUFPLE9BQW9CO0FBQ3BDLHdEQUFpRTtBQUF4RCw4SEFBQSxPQUFPLE9BQWdCO0FBRWhDLHNEQUFzRDtBQUN0RCxtQ0FBb0Q7QUFBM0Msd0hBQUEsT0FBTyxPQUFpQiJ9 |
@@ -7,4 +7,4 @@ import { ForestAdminClientOptionsWithDefaults } from '../types'; | ||
constructor(options: ForestAdminClientOptionsWithDefaults); | ||
canOneOf(userId: string, actionNames: string[]): Promise<boolean>; | ||
can(userId: string, actionName: string): Promise<boolean>; | ||
canOneOf(roleId: number, actionNames: string[]): Promise<boolean>; | ||
can(roleId: number, actionName: string): Promise<boolean>; | ||
private hasPermissionOrRefetch; | ||
@@ -11,0 +11,0 @@ private isAllowedOneOf; |
@@ -12,5 +12,5 @@ "use strict"; | ||
} | ||
canOneOf(userId, actionNames) { | ||
canOneOf(roleId, actionNames) { | ||
return this.hasPermissionOrRefetch({ | ||
userId, | ||
roleId, | ||
actionNames, | ||
@@ -20,5 +20,5 @@ allowRefetch: true, | ||
} | ||
can(userId, actionName) { | ||
can(roleId, actionName) { | ||
return this.hasPermissionOrRefetch({ | ||
userId, | ||
roleId, | ||
actionNames: [actionName], | ||
@@ -28,5 +28,5 @@ allowRefetch: true, | ||
} | ||
async hasPermissionOrRefetch({ userId, actionNames, allowRefetch, }) { | ||
async hasPermissionOrRefetch({ roleId, actionNames, allowRefetch, }) { | ||
const permissions = await this.getPermissions(); | ||
const isAllowed = this.isAllowedOneOf({ permissions, actionNames, userId }); | ||
const isAllowed = this.isAllowedOneOf({ permissions, actionNames, roleId }); | ||
if (!isAllowed && allowRefetch) { | ||
@@ -36,3 +36,3 @@ this.permissionsPromise = undefined; | ||
return this.hasPermissionOrRefetch({ | ||
userId, | ||
roleId, | ||
actionNames, | ||
@@ -42,12 +42,12 @@ allowRefetch: false, | ||
} | ||
this.options.logger('Debug', `User ${userId} is ${isAllowed ? '' : 'not '}allowed to perform ${actionNames.length > 1 ? ' one of ' : ''}${actionNames.join(', ')}`); | ||
this.options.logger('Debug', `User ${roleId} is ${isAllowed ? '' : 'not '}allowed to perform ${actionNames.length > 1 ? ' one of ' : ''}${actionNames.join(', ')}`); | ||
return isAllowed; | ||
} | ||
isAllowedOneOf({ permissions, actionNames, userId, }) { | ||
return actionNames.some(actionName => this.isAllowed({ permissions, actionName, userId })); | ||
isAllowedOneOf({ permissions, actionNames, roleId, }) { | ||
return actionNames.some(actionName => this.isAllowed({ permissions, actionName, roleId })); | ||
} | ||
isAllowed({ permissions, actionName, userId, }) { | ||
isAllowed({ permissions, actionName, roleId, }) { | ||
return Boolean(permissions.everythingAllowed || | ||
permissions.actionsGloballyAllowed.has(actionName) || | ||
permissions.actionsAllowedByUser.get(actionName)?.has(userId)); | ||
permissions.actionsByRole.get(actionName)?.allowedRoles.has(roleId)); | ||
} | ||
@@ -67,10 +67,7 @@ async getPermissions() { | ||
this.options.logger('Debug', 'Fetching environment permissions'); | ||
const [rawPermissions, users] = await Promise.all([ | ||
forest_http_api_1.default.getEnvironmentPermissions(this.options), | ||
forest_http_api_1.default.getUsers(this.options), | ||
]); | ||
return (0, generate_actions_from_permissions_1.default)(rawPermissions, users); | ||
const rawPermissions = await forest_http_api_1.default.getEnvironmentPermissions(this.options); | ||
return (0, generate_actions_from_permissions_1.default)(rawPermissions); | ||
} | ||
} | ||
exports.default = ActionPermissionService; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXBlcm1pc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGVybWlzc2lvbnMvYWN0aW9uLXBlcm1pc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSx3RUFBOEM7QUFDOUMsNEdBRTZDO0FBRTdDLE1BQXFCLHVCQUF1QjtJQUkxQyxZQUE2QixPQUE2QztRQUE3QyxZQUFPLEdBQVAsT0FBTyxDQUFzQztJQUFHLENBQUM7SUFFdkUsUUFBUSxDQUFDLE1BQWMsRUFBRSxXQUFxQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztZQUNqQyxNQUFNO1lBQ04sV0FBVztZQUNYLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxHQUFHLENBQUMsTUFBYyxFQUFFLFVBQWtCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO1lBQ2pDLE1BQU07WUFDTixXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUM7WUFDekIsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxFQUNuQyxNQUFNLEVBQ04sV0FBVyxFQUNYLFlBQVksR0FLYjtRQUNDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2hELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFNBQVMsSUFBSSxZQUFZLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztZQUNwQyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsU0FBUyxDQUFDO1lBRS9DLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO2dCQUNqQyxNQUFNO2dCQUNOLFdBQVc7Z0JBQ1gsWUFBWSxFQUFFLEtBQUs7YUFDcEIsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDakIsT0FBTyxFQUNQLFFBQVEsTUFBTSxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLHNCQUMxQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUN4QyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDNUIsQ0FBQztRQUVGLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTyxjQUFjLENBQUMsRUFDckIsV0FBVyxFQUNYLFdBQVcsRUFDWCxNQUFNLEdBS1A7UUFDQyxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVPLFNBQVMsQ0FBQyxFQUNoQixXQUFXLEVBQ1gsVUFBVSxFQUNWLE1BQU0sR0FLUDtRQUNDLE9BQU8sT0FBTyxDQUNaLFdBQVcsQ0FBQyxpQkFBaUI7WUFDM0IsV0FBVyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7WUFDbEQsV0FBVyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQ2hFLENBQUM7SUFDSixDQUFDO0lBRU8sS0FBSyxDQUFDLGNBQWM7UUFDMUIsSUFDRSxJQUFJLENBQUMsa0JBQWtCO1lBQ3ZCLElBQUksQ0FBQyw2QkFBNkI7WUFDbEMsSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFDL0M7WUFDQSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztTQUNoQztRQUVELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsNkJBQTZCO1lBQ2hDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGlDQUFpQyxHQUFHLElBQUksQ0FBQztRQUVyRSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRU8sS0FBSyxDQUFDLDJCQUEyQjtRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsa0NBQWtDLENBQUMsQ0FBQztRQUVqRSxNQUFNLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNoRCx5QkFBYSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDckQseUJBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNyQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUEsMkNBQThCLEVBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRjtBQTdHRCwwQ0E2R0MifQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXBlcm1pc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGVybWlzc2lvbnMvYWN0aW9uLXBlcm1pc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSx3RUFBOEM7QUFDOUMsNEdBRTZDO0FBRTdDLE1BQXFCLHVCQUF1QjtJQUkxQyxZQUE2QixPQUE2QztRQUE3QyxZQUFPLEdBQVAsT0FBTyxDQUFzQztJQUFHLENBQUM7SUFFdkUsUUFBUSxDQUFDLE1BQWMsRUFBRSxXQUFxQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztZQUNqQyxNQUFNO1lBQ04sV0FBVztZQUNYLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxHQUFHLENBQUMsTUFBYyxFQUFFLFVBQWtCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO1lBQ2pDLE1BQU07WUFDTixXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUM7WUFDekIsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxFQUNuQyxNQUFNLEVBQ04sV0FBVyxFQUNYLFlBQVksR0FLYjtRQUNDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2hELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFNBQVMsSUFBSSxZQUFZLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztZQUNwQyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsU0FBUyxDQUFDO1lBRS9DLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO2dCQUNqQyxNQUFNO2dCQUNOLFdBQVc7Z0JBQ1gsWUFBWSxFQUFFLEtBQUs7YUFDcEIsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDakIsT0FBTyxFQUNQLFFBQVEsTUFBTSxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLHNCQUMxQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUN4QyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDNUIsQ0FBQztRQUVGLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTyxjQUFjLENBQUMsRUFDckIsV0FBVyxFQUNYLFdBQVcsRUFDWCxNQUFNLEdBS1A7UUFDQyxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVPLFNBQVMsQ0FBQyxFQUNoQixXQUFXLEVBQ1gsVUFBVSxFQUNWLE1BQU0sR0FLUDtRQUNDLE9BQU8sT0FBTyxDQUNaLFdBQVcsQ0FBQyxpQkFBaUI7WUFDM0IsV0FBVyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7WUFDbEQsV0FBVyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FDdEUsQ0FBQztJQUNKLENBQUM7SUFFTyxLQUFLLENBQUMsY0FBYztRQUMxQixJQUNFLElBQUksQ0FBQyxrQkFBa0I7WUFDdkIsSUFBSSxDQUFDLDZCQUE2QjtZQUNsQyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUMvQztZQUNBLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO1NBQ2hDO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyw2QkFBNkI7WUFDaEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsaUNBQWlDLEdBQUcsSUFBSSxDQUFDO1FBRXJFLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFTyxLQUFLLENBQUMsMkJBQTJCO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDO1FBRWpFLE1BQU0sY0FBYyxHQUFHLE1BQU0seUJBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkYsT0FBTyxJQUFBLDJDQUE4QixFQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FDRjtBQTFHRCwwQ0EwR0MifQ== |
@@ -1,8 +0,11 @@ | ||
import { EnvironmentPermissionsV4, UserPermissionV4 } from './types'; | ||
import { EnvironmentPermissionsV4 } from './types'; | ||
export declare type ActionPermissions = { | ||
everythingAllowed: boolean; | ||
actionsGloballyAllowed: Set<string>; | ||
actionsAllowedByUser: Map<string, Set<string>>; | ||
actionsByRole: Map<string, ActionPermission>; | ||
}; | ||
export default function generateActionsFromPermissions(environmentPermissions: EnvironmentPermissionsV4, users: UserPermissionV4[]): ActionPermissions; | ||
export declare type ActionPermission = { | ||
allowedRoles: Set<number>; | ||
}; | ||
export default function generateActionsFromPermissions(environmentPermissions: EnvironmentPermissionsV4): ActionPermissions; | ||
//# sourceMappingURL=generate-actions-from-permissions.d.ts.map |
@@ -46,13 +46,3 @@ "use strict"; | ||
} | ||
function getUsersForRoles(roles, userIdsByRole) { | ||
return new Set(roles.reduce((acc, roleId) => { | ||
const userIds = (userIdsByRole.get(roleId) || []).map(userId => `${userId}`); | ||
return [...acc, ...userIds]; | ||
}, [])); | ||
} | ||
function generateActionsAllowedByUser(permissions, users) { | ||
const userIdsByRole = users.reduce((acc, { id, roleId }) => { | ||
acc.set(roleId, [...(acc.get(roleId) || []), id]); | ||
return acc; | ||
}, new Map()); | ||
function generateActionsByRole(permissions) { | ||
return new Map(Object.entries(permissions) | ||
@@ -62,6 +52,8 @@ .filter(([, permission]) => typeof permission !== 'boolean') | ||
name, | ||
getUsersForRoles(permission.roles, userIdsByRole), | ||
{ | ||
allowedRoles: new Set(permission.roles), | ||
}, | ||
])); | ||
} | ||
function generateActionsFromPermissions(environmentPermissions, users) { | ||
function generateActionsFromPermissions(environmentPermissions) { | ||
if (environmentPermissions === true) { | ||
@@ -71,3 +63,3 @@ return { | ||
actionsGloballyAllowed: new Set(), | ||
actionsAllowedByUser: new Map(), | ||
actionsByRole: new Map(), | ||
}; | ||
@@ -83,6 +75,6 @@ } | ||
actionsGloballyAllowed: generateActionsGloballyAllowed(allPermissions), | ||
actionsAllowedByUser: generateActionsAllowedByUser(allPermissions, users), | ||
actionsByRole: generateActionsByRole(allPermissions), | ||
}; | ||
} | ||
exports.default = generateActionsFromPermissions; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtYWN0aW9ucy1mcm9tLXBlcm1pc3Npb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Blcm1pc3Npb25zL2dlbmVyYXRlLWFjdGlvbnMtZnJvbS1wZXJtaXNzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZFQUdzQztBQUN0QyxtQ0FVaUI7QUFZakIsU0FBUyw2QkFBNkIsQ0FDcEMsV0FBZ0Q7SUFFaEQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQyxFQUFFLEVBQUU7UUFDdkYsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLHFCQUFxQixDQUFDO1FBRTdDLE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTixDQUFDLElBQUEsK0RBQWtDLEVBQUMsNkJBQXFCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQzlFLFVBQVUsQ0FBQyxhQUFhO1lBQzFCLENBQUMsSUFBQSwrREFBa0MsRUFBQyw2QkFBcUIsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsRUFDNUUsVUFBVSxDQUFDLFdBQVc7WUFDeEIsQ0FBQyxJQUFBLCtEQUFrQyxFQUFDLDZCQUFxQixDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUM1RSxVQUFVLENBQUMsV0FBVztZQUN4QixDQUFDLElBQUEsK0RBQWtDLEVBQUMsNkJBQXFCLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQzNFLFVBQVUsQ0FBQyxVQUFVO1lBQ3ZCLENBQUMsSUFBQSwrREFBa0MsRUFBQyw2QkFBcUIsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMsRUFDOUUsVUFBVSxDQUFDLGFBQWE7WUFDMUIsQ0FBQyxJQUFBLCtEQUFrQyxFQUFDLDZCQUFxQixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxF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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtYWN0aW9ucy1mcm9tLXBlcm1pc3Npb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Blcm1pc3Npb25zL2dlbmVyYXRlLWFjdGlvbnMtZnJvbS1wZXJtaXNzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZFQUdzQztBQUN0QyxtQ0FTaUI7QUFtQmpCLFNBQVMsNkJBQTZCLENBQ3BDLFdBQWdEO0lBRWhELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUMsRUFBRSxFQUFFO1FBQ3ZGLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQztRQUU3QyxPQUFPO1lBQ0wsR0FBRyxHQUFHO1lBQ04sQ0FBQyxJQUFBLCtEQUFrQyxFQUFDLDZCQUFxQixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUM5RSxVQUFVLENBQUMsYUFBYTtZQUMxQixDQUFDLElBQUEsK0RBQWtDLEVBQUMsNkJBQXFCLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQzVFLFVBQVUsQ0FBQyxXQUFXO1lBQ3hCLENBQUMsSUFBQSwrREFBa0MsRUFBQyw2QkFBcUIsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsRUFDNUUsVUFBVSxDQUFDLFdBQVc7WUFDeEIsQ0FBQyxJQUFBLCtEQUFrQyxFQUFDLDZCQUFxQixDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUMzRSxVQUFVLENBQUMsVUFBVTtZQUN2QixDQUFDLElBQUEsK0RBQWtDLEVBQUMsNkJBQXFCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQzlFLFVBQVUsQ0FBQyxhQUFhO1lBQzFCLENBQUMsSUFBQSwrREFBa0MsRUFBQyw2QkFBcUIsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMs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 |
@@ -42,3 +42,4 @@ import { Chart } from '../charts/types'; | ||
}): Promise<boolean>; | ||
private getRoleIdForUserId; | ||
} | ||
//# sourceMappingURL=permission-with-cache.d.ts.map |
@@ -11,3 +11,4 @@ "use strict"; | ||
async canOnCollection({ userId, collectionName, event, }) { | ||
return this.actionPermissionService.can(`${userId}`, (0, generate_action_identifier_1.generateCollectionActionIdentifier)(event, collectionName)); | ||
const roleId = await this.getRoleIdForUserId(userId); | ||
return this.actionPermissionService.can(roleId, (0, generate_action_identifier_1.generateCollectionActionIdentifier)(event, collectionName)); | ||
} | ||
@@ -17,13 +18,16 @@ async canExecuteSegmentQuery(params) { | ||
} | ||
canTriggerCustomAction({ userId, collectionName, customActionName, }) { | ||
return this.actionPermissionService.can(`${userId}`, (0, generate_action_identifier_1.generateCustomActionIdentifier)(types_1.CustomActionEvent.Trigger, customActionName, collectionName)); | ||
async canTriggerCustomAction({ userId, collectionName, customActionName, }) { | ||
const roleId = await this.getRoleIdForUserId(userId); | ||
return this.actionPermissionService.can(roleId, (0, generate_action_identifier_1.generateCustomActionIdentifier)(types_1.CustomActionEvent.Trigger, customActionName, collectionName)); | ||
} | ||
canApproveCustomAction({ userId, collectionName, customActionName, requesterId, }) { | ||
async canApproveCustomAction({ userId, collectionName, customActionName, requesterId, }) { | ||
const actionIdentifier = requesterId === userId | ||
? (0, generate_action_identifier_1.generateCustomActionIdentifier)(types_1.CustomActionEvent.SelfApprove, customActionName, collectionName) | ||
: (0, generate_action_identifier_1.generateCustomActionIdentifier)(types_1.CustomActionEvent.Approve, customActionName, collectionName); | ||
return this.actionPermissionService.can(`${userId}`, actionIdentifier); | ||
const roleId = await this.getRoleIdForUserId(userId); | ||
return this.actionPermissionService.can(roleId, actionIdentifier); | ||
} | ||
async canRequestCustomActionParameters({ userId, collectionName, customActionName, }) { | ||
return this.actionPermissionService.canOneOf(`${userId}`, [ | ||
const roleId = await this.getRoleIdForUserId(userId); | ||
return this.actionPermissionService.canOneOf(roleId, [ | ||
(0, generate_action_identifier_1.generateCustomActionIdentifier)(types_1.CustomActionEvent.Trigger, customActionName, collectionName), | ||
@@ -40,4 +44,7 @@ (0, generate_action_identifier_1.generateCustomActionIdentifier)(types_1.CustomActionEvent.RequireApproval, customActionName, collectionName), | ||
} | ||
async getRoleIdForUserId(userId) { | ||
return (await this.renderingPermissionService.getUser(userId))?.roleId; | ||
} | ||
} | ||
exports.default = PermissionServiceWithCache; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi13aXRoLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Blcm1pc3Npb25zL3Blcm1pc3Npb24td2l0aC1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLDZFQUdzQztBQUV0QyxtQ0FBbUU7QUFFbkUsTUFBcUIsMEJBQTBCO0lBQzdDLFlBQ21CLHVCQUF5QyxFQUN6QywwQkFBc0Q7UUFEdEQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFrQjtRQUN6QywrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO0lBQ3RFLENBQUM7SUFFRyxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQzNCLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxHQUtOO1FBQ0MsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUNyQyxHQUFHLE1BQU0sRUFBRSxFQUNYLElBQUEsK0RBQWtDLEVBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUMxRCxDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxNQUtuQztRQUNDLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxFQUM1QixNQUFNLEVBQ04sY0FBYyxFQUNkLGdCQUFnQixHQUtqQjtRQUNDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FDckMsR0FBRyxNQUFNLEVBQUUsRUFDWCxJQUFBLDJEQUE4QixFQUFDLHlCQUFpQixDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FDNUYsQ0FBQztJQUNKLENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxFQUM1QixNQUFNLEVBQ04sY0FBYyxFQUNkLGdCQUFnQixFQUNoQixXQUFXLEdBTVo7UUFDQyxNQUFNLGdCQUFnQixHQUNwQixXQUFXLEtBQUssTUFBTTtZQUNwQixDQUFDLENBQUMsSUFBQSwyREFBOEIsRUFDNUIseUJBQWlCLENBQUMsV0FBVyxFQUM3QixnQkFBZ0IsRUFDaEIsY0FBYyxDQUNmO1lBQ0gsQ0FBQyxDQUFDLElBQUEsMkRBQThCLEVBQzVCLHlCQUFpQixDQUFDLE9BQU8sRUFDekIsZ0JBQWdCLEVBQ2hCLGNBQWMsQ0FDZixDQUFDO1FBRVIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU0sS0FBSyxDQUFDLGdDQUFnQyxDQUFDLEVBQzVDLE1BQU0sRUFDTixjQUFjLEVBQ2QsZ0JBQWdCLEdBS2pCO1FBQ0MsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxFQUFFLEVBQUU7WUFDeEQsSUFBQSwyREFBOEIsRUFBQyx5QkFBaUIsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDO1lBQzNGLElBQUEsMkRBQThCLEVBQzVCLHlCQUFpQixDQUFDLGVBQWUsRUFDakMsZ0JBQWdCLEVBQ2hCLGNBQWMsQ0FDZjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQzNCLFdBQVcsRUFDWCxNQUFNLEVBQ04sWUFBWSxHQUtiO1FBQ0MsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsZUFBZSxDQUFDO1lBQ3JELFdBQVc7WUFDWCxNQUFNO1lBQ04sWUFBWTtTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTFHRCw2Q0EwR0MifQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi13aXRoLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Blcm1pc3Npb25zL3Blcm1pc3Npb24td2l0aC1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLDZFQUdzQztBQUV0QyxtQ0FBbUU7QUFFbkUsTUFBcUIsMEJBQTBCO0lBQzdDLFlBQ21CLHVCQUF5QyxFQUN6QywwQkFBc0Q7UUFEdEQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFrQjtRQUN6QywrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO0lBQ3RFLENBQUM7SUFFRyxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQzNCLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxHQUtOO1FBQ0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFckQsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUNyQyxNQUFNLEVBQ04sSUFBQSwrREFBa0MsRUFBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQzFELENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLHNCQUFzQixDQUFDLE1BS25DO1FBQ0MsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxFQUNsQyxNQUFNLEVBQ04sY0FBYyxFQUNkLGdCQUFnQixHQUtqQjtRQUNDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXJELE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FDckMsTUFBTSxFQUNOLElBQUEsMkRBQThCLEVBQUMseUJBQWlCLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUM1RixDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxFQUNsQyxNQUFNLEVBQ04sY0FBYyxFQUNkLGdCQUFnQixFQUNoQixXQUFXLEdBTVo7UUFDQyxNQUFNLGdCQUFnQixHQUNwQixXQUFXLEtBQUssTUFBTTtZQUNwQixDQUFDLENBQUMsSUFBQSwyREFBOEIsRUFDNUIseUJBQWlCLENBQUMsV0FBVyxFQUM3QixnQkFBZ0IsRUFDaEIsY0FBYyxDQUNmO1lBQ0gsQ0FBQyxDQUFDLElBQUEsMkRBQThCLEVBQzVCLHlCQUFpQixDQUFDLE9BQU8sRUFDekIsZ0JBQWdCLEVBQ2hCLGNBQWMsQ0FDZixDQUFDO1FBRVIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFckQsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsRUFDNUMsTUFBTSxFQUNOLGNBQWMsRUFDZCxnQkFBZ0IsR0FLakI7UUFDQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyRCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ25ELElBQUEsMkRBQThCLEVBQUMseUJBQWlCLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsQ0FBQztZQUMzRixJQUFBLDJEQUE4QixFQUM1Qix5QkFBaUIsQ0FBQyxlQUFlLEVBQ2pDLGdCQUFnQixFQUNoQixjQUFjLENBQ2Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUMzQixXQUFXLEVBQ1gsTUFBTSxFQUNOLFlBQVksR0FLYjtRQUNDLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLGVBQWUsQ0FBQztZQUNyRCxXQUFXO1lBQ1gsTUFBTTtZQUNOLFlBQVk7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQWM7UUFDN0MsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN6RSxDQUFDO0NBQ0Y7QUF0SEQsNkNBc0hDIn0= |
import { ForestAdminClientOptionsWithDefaults } from '../types'; | ||
import { ForestServerCollection } from './types'; | ||
declare type SerializedSchema = { | ||
meta: { | ||
schemaFileHash: string; | ||
}; | ||
}; | ||
export default class SchemaService { | ||
private options; | ||
private serializer; | ||
constructor(options: ForestAdminClientOptionsWithDefaults); | ||
postSchema(schema: ForestServerCollection[], agentName: string, agentVersion: string): Promise<boolean>; | ||
private serialize; | ||
private getSerializer; | ||
static serialize(schema: ForestServerCollection[], agentName: string, agentVersion: string): SerializedSchema; | ||
private static get serializer(); | ||
private doServerWantsSchema; | ||
} | ||
export {}; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -12,6 +12,5 @@ "use strict"; | ||
this.options = options; | ||
this.serializer = this.getSerializer(); | ||
} | ||
async postSchema(schema, agentName, agentVersion) { | ||
const apimap = this.serialize(schema, agentName, agentVersion); | ||
const apimap = SchemaService.serialize(schema, agentName, agentVersion); | ||
const shouldSend = await this.doServerWantsSchema(apimap.meta.schemaFileHash); | ||
@@ -23,3 +22,3 @@ if (shouldSend) { | ||
} | ||
serialize(schema, agentName, agentVersion) { | ||
static serialize(schema, agentName, agentVersion) { | ||
const data = schema.map(c => ({ id: c.name, ...c })); | ||
@@ -38,3 +37,3 @@ const meta = { | ||
.digest('hex'); | ||
return this.serializer.serialize('collections', data, { | ||
return SchemaService.serializer.serialize('collections', data, { | ||
...meta, | ||
@@ -44,3 +43,3 @@ schemaFileHash, | ||
} | ||
getSerializer() { | ||
static get serializer() { | ||
const serializer = new json_api_serializer_1.default(); | ||
@@ -66,2 +65,2 @@ serializer.register('collections', { | ||
exports.default = SchemaService; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NoZW1hL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLDhFQUFvRDtBQUdwRCw2REFBMEM7QUFLMUMsTUFBcUIsYUFBYTtJQUdoQyxZQUFvQixPQUE2QztRQUE3QyxZQUFPLEdBQVAsT0FBTyxDQUFzQztRQUZ6RCxlQUFVLEdBQXNCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUVPLENBQUM7SUFFckUsS0FBSyxDQUFDLFVBQVUsQ0FDZCxNQUFnQyxFQUNoQyxTQUFpQixFQUNqQixZQUFvQjtRQUVwQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDL0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU5RSxJQUFJLFVBQVUsRUFBRTtZQUNkLE1BQU0sZ0JBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzlFO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLFNBQVMsQ0FDZixNQUFnQyxFQUNoQyxTQUFpQixFQUNqQixZQUFvQjtRQUVwQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sSUFBSSxHQUFHO1lBQ1gsS0FBSyxFQUFFLFNBQVM7WUFDaEIsYUFBYSxFQUFFLFlBQVk7WUFDM0IsS0FBSyxFQUFFO2dCQUNMLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixjQUFjLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUk7YUFDMUQ7U0FDRixDQUFDO1FBRUYsTUFBTSxjQUFjLEdBQUcsZ0JBQU07YUFDMUIsVUFBVSxDQUFDLE1BQU0sQ0FBQzthQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7YUFDM0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRTtZQUNwRCxHQUFHLElBQUk7WUFDUCxjQUFjO1NBQ2YsQ0FBcUIsQ0FBQztJQUN6QixDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFJLDZCQUFpQixFQUFFLENBQUM7UUFDM0MsVUFBVSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUU7WUFDakMscURBQXFEO1lBQ3JELFlBQVksRUFBRSxDQUFDLFNBQWtCLEVBQUUsRUFBRSxDQUFDLFNBQVM7WUFDL0MsYUFBYSxFQUFFO2dCQUNiLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQzlCLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7YUFDN0I7U0FDRixDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVuQyxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU8sS0FBSyxDQUFDLG1CQUFtQixDQUFDLElBQVk7UUFDNUMsd0RBQXdEO1FBQ3hELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLGdCQUFXLENBQUMsS0FBSyxDQUM1QyxJQUFJLENBQUMsT0FBTyxFQUNaLE1BQU0sRUFDTiwyQkFBMkIsRUFDM0IsRUFBRSxFQUNGLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUN6QixDQUFDO1FBRUYsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBMUVELGdDQTBFQyJ9 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NoZW1hL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLDhFQUFvRDtBQUdwRCw2REFBMEM7QUFLMUMsTUFBcUIsYUFBYTtJQUNoQyxZQUFvQixPQUE2QztRQUE3QyxZQUFPLEdBQVAsT0FBTyxDQUFzQztJQUFHLENBQUM7SUFFckUsS0FBSyxDQUFDLFVBQVUsQ0FDZCxNQUFnQyxFQUNoQyxTQUFpQixFQUNqQixZQUFvQjtRQUVwQixNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDeEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU5RSxJQUFJLFVBQVUsRUFBRTtZQUNkLE1BQU0sZ0JBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzlFO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQ2QsTUFBZ0MsRUFDaEMsU0FBaUIsRUFDakIsWUFBb0I7UUFFcEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyRCxNQUFNLElBQUksR0FBRztZQUNYLEtBQUssRUFBRSxTQUFTO1lBQ2hCLGFBQWEsRUFBRSxZQUFZO1lBQzNCLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsY0FBYyxFQUFFLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJO2FBQzFEO1NBQ0YsQ0FBQztRQUVGLE1BQU0sY0FBYyxHQUFHLGdCQUFNO2FBQzFCLFVBQVUsQ0FBQyxNQUFNLENBQUM7YUFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQzNDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqQixPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUU7WUFDN0QsR0FBRyxJQUFJO1lBQ1AsY0FBYztTQUNmLENBQXFCLENBQUM7SUFDekIsQ0FBQztJQUVPLE1BQU0sS0FBSyxVQUFVO1FBQzNCLE1BQU0sVUFBVSxHQUFHLElBQUksNkJBQWlCLEVBQUUsQ0FBQztRQUMzQyxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRTtZQUNqQyxxREFBcUQ7WUFDckQsWUFBWSxFQUFFLENBQUMsU0FBa0IsRUFBRSxFQUFFLENBQUMsU0FBUztZQUMvQyxhQUFhLEVBQUU7Z0JBQ2IsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDOUIsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTthQUM3QjtTQUNGLENBQUMsQ0FBQztRQUNILFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRW5DLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxLQUFLLENBQUMsbUJBQW1CLENBQUMsSUFBWTtRQUM1Qyx3REFBd0Q7UUFDeEQsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sZ0JBQVcsQ0FBQyxLQUFLLENBQzVDLElBQUksQ0FBQyxPQUFPLEVBQ1osTUFBTSxFQUNOLDJCQUEyQixFQUMzQixFQUFFLEVBQ0YsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQ3pCLENBQUM7UUFFRixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUF4RUQsZ0NBd0VDIn0= |
import type { ChartRequest } from './charts/chart-handler'; | ||
import type { Chart, QueryChart } from './charts/types'; | ||
import type { CollectionActionEvent, RawTree } from './permissions/types'; | ||
import type { Client } from 'openid-client'; | ||
import { UserInfo } from './auth/types'; | ||
import { IpWhitelistConfiguration } from './ip-whitelist/types'; | ||
@@ -23,2 +25,4 @@ import { ForestServerCollection } from './schema/types'; | ||
postSchema(schema: ForestServerCollection[], agentName: string, agentVersion: string): Promise<boolean>; | ||
getOpenIdClient(): Promise<Client>; | ||
getUserInfo(renderingId: number, accessToken: string): Promise<UserInfo>; | ||
getScope(params: { | ||
@@ -25,0 +29,0 @@ renderingId: number | string; |
{ | ||
"name": "@forestadmin/forestadmin-client", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"main": "dist/index.js", | ||
@@ -19,2 +19,3 @@ "license": "GPL-3.0", | ||
"object-hash": "^3.0.0", | ||
"openid-client": "5.2.1", | ||
"superagent": "^7.0.1" | ||
@@ -21,0 +22,0 @@ }, |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
163756
71
1781
6
+ Addedopenid-client@5.2.1
+ Addedjose@4.15.9(transitive)
+ Addedlru-cache@6.0.0(transitive)
+ Addedobject-hash@2.2.0(transitive)
+ Addedoidc-token-hash@5.0.3(transitive)
+ Addedopenid-client@5.2.1(transitive)
+ Addedyallist@4.0.0(transitive)