@forestadmin/forestadmin-client 1.0.0-alpha.4 → 1.0.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/charts/chart-handler.d.ts +9 -1
- package/dist/charts/chart-handler.js +19 -1
- package/dist/charts/types.d.ts +2 -2
- package/dist/forest-admin-client-with-cache.d.ts +2 -2
- package/dist/forest-admin-client-with-cache.js +1 -1
- package/dist/index.js +3 -2
- package/dist/permissions/forest-http-api.js +1 -3
- package/dist/permissions/generate-actions-from-permissions.js +2 -5
- package/dist/permissions/rendering-permission.d.ts +2 -3
- package/dist/permissions/rendering-permission.js +2 -2
- package/dist/permissions/types.d.ts +12 -2
- package/dist/permissions/types.js +1 -1
- package/dist/permissions/verify-sql-query.js +6 -4
- package/dist/types.d.ts +11 -4
- package/dist/utils/context-variables-injector.d.ts +4 -3
- package/dist/utils/context-variables-injector.js +12 -6
- package/dist/utils/default-logger.d.ts +2 -0
- package/dist/utils/default-logger.js +15 -0
- package/package.json +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ChartHandlerInterface } from '../types';
|
|
2
2
|
import type { RequestContextVariables } from '../utils/context-variables';
|
|
3
3
|
import type ContextVariablesInstantiator from '../utils/context-variables-instantiator';
|
|
4
|
-
import { Chart } from './types';
|
|
4
|
+
import type { Chart, QueryChart } from './types';
|
|
5
5
|
export declare type ChartRequest<C extends Chart = Chart> = C & {
|
|
6
6
|
contextVariables?: RequestContextVariables;
|
|
7
7
|
};
|
|
@@ -13,5 +13,13 @@ export default class ChartHandlerService implements ChartHandlerInterface {
|
|
|
13
13
|
renderingId: string | number;
|
|
14
14
|
chartRequest: ChartRequest;
|
|
15
15
|
}): Promise<Chart>;
|
|
16
|
+
getQueryForChart({ userId, renderingId, chartRequest, }: {
|
|
17
|
+
userId: string | number;
|
|
18
|
+
renderingId: string | number;
|
|
19
|
+
chartRequest: ChartRequest<QueryChart>;
|
|
20
|
+
}): Promise<{
|
|
21
|
+
query: string;
|
|
22
|
+
contextVariables: Record<string, unknown>;
|
|
23
|
+
}>;
|
|
16
24
|
}
|
|
17
25
|
//# sourceMappingURL=chart-handler.d.ts.map
|
|
@@ -34,6 +34,24 @@ class ChartHandlerService {
|
|
|
34
34
|
}
|
|
35
35
|
return chart;
|
|
36
36
|
}
|
|
37
|
+
async getQueryForChart({ userId, renderingId, chartRequest, }) {
|
|
38
|
+
const contextVariables = await this.contextVariablesInstantiator.buildContextVariables({
|
|
39
|
+
userId,
|
|
40
|
+
renderingId,
|
|
41
|
+
requestContextVariables: chartRequest.contextVariables,
|
|
42
|
+
});
|
|
43
|
+
const contextVariablesUsed = {};
|
|
44
|
+
const replaceContextVariable = (contextVariableName) => {
|
|
45
|
+
const contextVariableRenamed = contextVariableName.replace(/\./g, '_');
|
|
46
|
+
contextVariablesUsed[contextVariableRenamed] = contextVariables.getValue(contextVariableName);
|
|
47
|
+
return `$${contextVariableRenamed}`;
|
|
48
|
+
};
|
|
49
|
+
const query = context_variables_injector_1.default.injectContextInValueCustom(chartRequest.query, replaceContextVariable);
|
|
50
|
+
return {
|
|
51
|
+
query,
|
|
52
|
+
contextVariables: contextVariablesUsed,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
37
55
|
}
|
|
38
56
|
exports.default = ChartHandlerService;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jaGFydHMvY2hhcnQtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUtBLDZFQUFvRDtBQUNwRCxxR0FBMkU7QUFNM0UsTUFBcUIsbUJBQW1CO0lBQ3RDLFlBQTZCLDRCQUEwRDtRQUExRCxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQThCO0lBQUcsQ0FBQztJQUVwRixLQUFLLENBQUMsMkJBQTJCLENBQUMsRUFDdkMsTUFBTSxFQUNOLFdBQVcsRUFDWCxZQUFZLEdBS2I7UUFDQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLDRCQUE0QixDQUFDLHFCQUFxQixDQUFDO1lBQ3JGLE1BQU07WUFDTixXQUFXO1lBQ1gsdUJBQXVCLEVBQUUsWUFBWSxDQUFDLGdCQUFnQjtTQUN2RCxDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssR0FBRyxFQUFFLEdBQUcsWUFBWSxFQUFFLENBQUM7UUFDbEMsT0FBTyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7UUFFOUIsSUFBSSx3QkFBYSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsb0NBQXdCLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQy9GO1FBRUQsSUFBSSx3QkFBYSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsb0NBQXdCLENBQUMsb0JBQW9CLENBQzlELEtBQUssQ0FBQyxVQUFVLEVBQ2hCLGdCQUFnQixDQUNqQixDQUFDO1NBQ0g7UUFFRCxJQUFJLHdCQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLEtBQUssQ0FBQyxTQUFTLEdBQUcsb0NBQXdCLENBQUMsb0JBQW9CLENBQzdELEtBQUssQ0FBQyxTQUFTLEVBQ2YsZ0JBQWdCLENBQ2pCLENBQUM7U0FDSDtRQUVELElBQUksd0JBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6QyxLQUFLLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FDdEIsb0NBQXdCLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUNqRixDQUFDO1NBQ0g7UUFFRCxJQUFJLHdCQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0MsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQ2xCLG9DQUF3QixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FDN0UsQ0FBQztTQUNIO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQzVCLE1BQU0sRUFDTixXQUFXLEVBQ1gsWUFBWSxHQUtiO1FBQ0MsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxxQkFBcUIsQ0FBQztZQUNyRixNQUFNO1lBQ04sV0FBVztZQUNYLHVCQUF1QixFQUFFLFlBQVksQ0FBQyxnQkFBZ0I7U0FDdkQsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxvQkFBb0IsR0FBNEIsRUFBRSxDQUFDO1FBRXpELE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxtQkFBMkIsRUFBRSxFQUFFO1lBQzdELE1BQU0sc0JBQXNCLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2RSxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBRTlGLE9BQU8sSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQztRQUVGLE1BQU0sS0FBSyxHQUFHLG9DQUF3QixDQUFDLDBCQUEwQixDQUMvRCxZQUFZLENBQUMsS0FBSyxFQUNsQixzQkFBc0IsQ0FDdkIsQ0FBQztRQUVGLE9BQU87WUFDTCxLQUFLO1lBQ0wsZ0JBQWdCLEVBQUUsb0JBQW9CO1NBQ3ZDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF2RkQsc0NBdUZDIn0=
|
package/dist/charts/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { RawTree } from '../permissions/types';
|
|
2
2
|
export declare type KeysOfUnion<T> = T extends T ? keyof T : never;
|
|
3
3
|
export interface BaseChart {
|
|
4
4
|
type: ChartType;
|
|
@@ -16,7 +16,7 @@ export interface QueryChart extends BaseChart {
|
|
|
16
16
|
query: string;
|
|
17
17
|
}
|
|
18
18
|
export interface FilterableChart extends BaseChart {
|
|
19
|
-
filter?:
|
|
19
|
+
filter?: RawTree | null;
|
|
20
20
|
}
|
|
21
21
|
export interface AggregatedChart extends BaseChart {
|
|
22
22
|
aggregator: 'Sum' | 'Count';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { GenericTree } from '@forestadmin/datasource-toolkit';
|
|
2
1
|
import ChartHandler from './charts/chart-handler';
|
|
3
2
|
import RenderingPermissionService from './permissions/rendering-permission';
|
|
3
|
+
import { RawTree } from './permissions/types';
|
|
4
4
|
import { ForestAdminClient, ForestAdminClientOptionsWithDefaults, PermissionService } from './types';
|
|
5
5
|
import ContextVariablesInstantiator from './utils/context-variables-instantiator';
|
|
6
6
|
export default class ForestAdminClientWithCache implements ForestAdminClient {
|
|
@@ -15,7 +15,7 @@ export default class ForestAdminClientWithCache implements ForestAdminClient {
|
|
|
15
15
|
renderingId: number | string;
|
|
16
16
|
userId: number | string;
|
|
17
17
|
collectionName: string;
|
|
18
|
-
}): Promise<
|
|
18
|
+
}): Promise<RawTree>;
|
|
19
19
|
markScopesAsUpdated(renderingId: number | string): void;
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=forest-admin-client-with-cache.d.ts.map
|
|
@@ -27,4 +27,4 @@ class ForestAdminClientWithCache {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
exports.default = ForestAdminClientWithCache;
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LWFkbWluLWNsaWVudC13aXRoLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZvcmVzdC1hZG1pbi1jbGllbnQtd2l0aC1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLG9GQUFxRTtBQVFyRSxNQUFxQiwwQkFBMEI7SUFDN0MsWUFDcUIsT0FBNkMsRUFDaEQsaUJBQW9DLEVBQ2pDLDBCQUFzRCxFQUN6RCw0QkFBMEQsRUFDMUQsWUFBMEI7UUFKdkIsWUFBTyxHQUFQLE9BQU8sQ0FBc0M7UUFDaEQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNqQywrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3pELGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUFDMUQsaUJBQVksR0FBWixZQUFZLENBQWM7SUFDekMsQ0FBQztJQUVHLDRCQUE0QixDQUNqQyxnQkFBd0I7UUFFeEIsT0FBTyxJQUFBLHlCQUF3QixFQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFDcEIsV0FBVyxFQUNYLE1BQU0sRUFDTixjQUFjLEdBS2Y7UUFDQyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUM7WUFDOUMsV0FBVztZQUNYLGNBQWM7WUFDZCxNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFdBQTRCO1FBQ3JELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGO0FBbENELDZDQWtDQyJ9
|
package/dist/index.js
CHANGED
|
@@ -25,6 +25,7 @@ const permission_with_cache_1 = __importDefault(require("./permissions/permissio
|
|
|
25
25
|
const rendering_permission_1 = __importDefault(require("./permissions/rendering-permission"));
|
|
26
26
|
const user_permission_1 = __importDefault(require("./permissions/user-permission"));
|
|
27
27
|
const context_variables_instantiator_1 = __importDefault(require("./utils/context-variables-instantiator"));
|
|
28
|
+
const default_logger_1 = __importDefault(require("./utils/default-logger"));
|
|
28
29
|
var jwt_token_expired_error_1 = require("./permissions/errors/jwt-token-expired-error");
|
|
29
30
|
Object.defineProperty(exports, "JTWTokenExpiredError", { enumerable: true, get: function () { return __importDefault(jwt_token_expired_error_1).default; } });
|
|
30
31
|
var jwt_unable_to_verify_error_1 = require("./permissions/errors/jwt-unable-to-verify-error");
|
|
@@ -42,7 +43,7 @@ function createForestAdminClient(options) {
|
|
|
42
43
|
forestServerUrl: 'https://api.forestadmin.com',
|
|
43
44
|
permissionsCacheDurationInSeconds: 15 * 60,
|
|
44
45
|
// eslint-disable-next-line no-console
|
|
45
|
-
logger:
|
|
46
|
+
logger: default_logger_1.default,
|
|
46
47
|
...options,
|
|
47
48
|
};
|
|
48
49
|
const actionPermission = new action_permission_1.default(optionsWithDefaults);
|
|
@@ -61,4 +62,4 @@ var context_variables_1 = require("./utils/context-variables");
|
|
|
61
62
|
Object.defineProperty(exports, "ContextVariables", { enumerable: true, get: function () { return __importDefault(context_variables_1).default; } });
|
|
62
63
|
var chart_handler_2 = require("./charts/chart-handler");
|
|
63
64
|
Object.defineProperty(exports, "ChartHandler", { enumerable: true, get: function () { return __importDefault(chart_handler_2).default; } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyRUFBa0Q7QUFDbEQsc0dBQWlFO0FBQ2pFLHdGQUFzRTtBQUN0RSxnR0FBb0U7QUFDcEUsOEZBQTRFO0FBQzVFLG9GQUFrRTtBQUVsRSw0R0FBa0Y7QUFDbEYsNEVBQW1EO0FBRW5ELHdGQUErRjtBQUF0RixnSkFBQSxPQUFPLE9BQXdCO0FBQ3hDLDhGQUFvRztBQUEzRixxSkFBQSxPQUFPLE9BQTBCO0FBQzFDLHdGQUErRjtBQUF0RixnSkFBQSxPQUFPLE9BQXdCO0FBQ3hDLG9GQUEyRjtBQUFsRiw0SUFBQSxPQUFPLE9BQXNCO0FBQ3RDLDhGQUFvRztBQUEzRixxSkFBQSxPQUFPLE9BQTBCO0FBUzFDLDZDQUE0RDtBQUFuRCw4R0FBQSxxQkFBcUIsT0FBQTtBQUU5QixTQUF3Qix1QkFBdUIsQ0FDN0MsT0FBaUM7SUFFakMsTUFBTSxtQkFBbUIsR0FBeUM7UUFDaEUsZUFBZSxFQUFFLDZCQUE2QjtRQUM5QyxpQ0FBaUMsRUFBRSxFQUFFLEdBQUcsRUFBRTtRQUMxQyxzQ0FBc0M7UUFDdEMsTUFBTSxFQUFFLHdCQUFhO1FBQ3JCLEdBQUcsT0FBTztLQUNYLENBQUM7SUFFRixNQUFNLGdCQUFnQixHQUFHLElBQUksMkJBQXVCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMxRSxNQUFNLGNBQWMsR0FBRyxJQUFJLHlCQUFxQixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLDhCQUEwQixDQUFDLG1CQUFtQixFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ2hHLE1BQU0saUJBQWlCLEdBQUcsSUFBSSwrQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZGLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSx3Q0FBNEIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzNGLE1BQU0sWUFBWSxHQUFHLElBQUksdUJBQVksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBRXBFLE9BQU8sSUFBSSx3Q0FBaUIsQ0FDMUIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLFlBQVksQ0FDYixDQUFDO0FBQ0osQ0FBQztBQXpCRCwwQ0F5QkM7QUFFRCxpREFBK0I7QUFDL0IsaUZBQXlGO0FBQWhGLHVKQUFBLE9BQU8sT0FBNEI7QUFDNUMsK0RBQXdFO0FBQS9ELHNJQUFBLE9BQU8sT0FBb0I7QUFDcEMsd0RBQWlFO0FBQXhELDhIQUFBLE9BQU8sT0FBZ0IifQ==
|
|
@@ -53,11 +53,9 @@ class ForestHttpApi {
|
|
|
53
53
|
if (status === 503)
|
|
54
54
|
throw new Error('Forest is in maintenance for a few minutes. We are upgrading your experience in ' +
|
|
55
55
|
'the forest. We just need a few more minutes to get it right.');
|
|
56
|
-
throw new Error('An unexpected error occurred while contacting the ForestAdmin server. ' +
|
|
57
|
-
'Please contact support@forestadmin.com for further investigations.');
|
|
58
56
|
}
|
|
59
57
|
throw e;
|
|
60
58
|
}
|
|
61
59
|
}
|
|
62
60
|
exports.default = ForestHttpApi;
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LWh0dHAtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Blcm1pc3Npb25zL2ZvcmVzdC1odHRwLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDREQUF1RDtBQU92RCxNQUFxQixhQUFhO0lBQ2hDLE1BQU0sQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsT0FBb0I7UUFDekQsSUFBSTtZQUNGLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLG9CQUFVO2lCQUM5QixHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsZUFBZSxtQ0FBbUMsQ0FBQztpQkFDbEUsR0FBRyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUUvQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBb0I7UUFDeEMsSUFBSTtZQUNGLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLG9CQUFVO2lCQUM5QixHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsZUFBZSw2QkFBNkIsQ0FBQztpQkFDNUQsR0FBRyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUUvQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FDbEMsV0FBbUIsRUFDbkIsT0FBb0I7UUFFcEIsSUFBSTtZQUNGLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLG9CQUFVO2lCQUM5QixHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsZUFBZSxvQ0FBb0MsV0FBVyxFQUFFLENBQUM7aUJBQ2hGLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFL0MsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFRO1FBQ3pDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQ2IseURBQXlEO2dCQUN2RCxxREFBcUQsQ0FDeEQsQ0FBQztRQUVKLElBQUssQ0FBbUIsQ0FBQyxRQUFRLEVBQUU7WUFDakMsTUFBTSxNQUFNLEdBQUksQ0FBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDO1lBRXRELDhDQUE4QztZQUM5QyxJQUFJLE1BQU0sS0FBSyxDQUFDLElBQUksTUFBTSxLQUFLLEdBQUc7Z0JBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztZQUV6RSxJQUFJLE1BQU0sS0FBSyxHQUFHO2dCQUNoQixNQUFNLElBQUksS0FBSyxDQUNiLHdGQUF3RjtvQkFDdEYsMEVBQTBFLENBQzdFLENBQUM7WUFFSixJQUFJLE1BQU0sS0FBSyxHQUFHO2dCQUNoQixNQUFNLElBQUksS0FBSyxDQUNiLGtGQUFrRjtvQkFDaEYsOERBQThELENBQ2pFLENBQUM7U0FDTDtRQUVELE1BQU0sQ0FBQyxDQUFDO0lBQ1YsQ0FBQztDQUNGO0FBckVELGdDQXFFQyJ9
|
|
@@ -46,10 +46,7 @@ function generateActionsGloballyAllowed(permissions) {
|
|
|
46
46
|
function getUsersForRoles(roles, userIdsByRole) {
|
|
47
47
|
return new Set(roles.reduce((acc, roleId) => {
|
|
48
48
|
const userIds = (userIdsByRole.get(roleId) || []).map(userId => `${userId}`);
|
|
49
|
-
|
|
50
|
-
return [...acc, ...userIds];
|
|
51
|
-
}
|
|
52
|
-
return acc;
|
|
49
|
+
return [...acc, ...userIds];
|
|
53
50
|
}, []));
|
|
54
51
|
}
|
|
55
52
|
function generateActionsAllowedByUser(permissions, users) {
|
|
@@ -84,4 +81,4 @@ function generateActionsFromPermissions(environmentPermissions, users) {
|
|
|
84
81
|
};
|
|
85
82
|
}
|
|
86
83
|
exports.default = generateActionsFromPermissions;
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtYWN0aW9ucy1mcm9tLXBlcm1pc3Npb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Blcm1pc3Npb25zL2dlbmVyYXRlLWFjdGlvbnMtZnJvbS1wZXJtaXNzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZFQUdzQztBQUN0QyxtQ0FVaUI7QUFZakIsU0FBUyw2QkFBNkIsQ0FDcEMsV0FBZ0Q7SUFFaEQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQyxFQUFFLEVBQUU7UUFDdkYsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLHFCQUFxQixDQUFDO1FBRTdDLE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTixDQUFDLElBQUEsK0RBQWtDLEVBQUMsNkJBQXFCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQzlFLFVBQVUsQ0FBQyxhQUFhO1lBQzFCLENBQUMsSUFBQSwrREFBa0MsRUFBQyw2QkFBcUIsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsRUFDNUUsVUFBVSxDQUFDLFdBQVc7WUFDeEIsQ0FBQyxJQUFBLCtEQUFrQyxFQUFDLDZCQUFxQixDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUM1RSxVQUFVLENBQUMsV0FBVztZQUN4QixDQUFDLElBQUEsK0RBQWtDLEVBQUMsNkJBQXFCLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQzNFLFVBQVUsQ0FBQyxVQUFVO1lBQ3ZCLENBQUMsSUFBQSwrREFBa0MsRUFBQyw2QkFBcUIsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMsRUFDOUUsVUFBVSxDQUFDLGFBQWE7WUFDMUIsQ0FBQyxJQUFBLCtEQUFrQyxFQUFDLDZCQUFxQixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxF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
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { GenericTree } from '@forestadmin/datasource-toolkit';
|
|
2
1
|
import { Chart } from '../charts/types';
|
|
3
2
|
import { ForestAdminClientOptionsWithDefaults } from '../types';
|
|
4
|
-
import { CollectionRenderingPermissionV4, Team, UserPermissionV4 } from './types';
|
|
3
|
+
import { CollectionRenderingPermissionV4, RawTree, Team, UserPermissionV4 } from './types';
|
|
5
4
|
import UserPermissionService from './user-permission';
|
|
6
5
|
export declare type RenderingPermission = {
|
|
7
6
|
team: Team;
|
|
@@ -17,7 +16,7 @@ export default class RenderingPermissionService {
|
|
|
17
16
|
renderingId: number | string;
|
|
18
17
|
collectionName: string;
|
|
19
18
|
userId: number | string;
|
|
20
|
-
}): Promise<
|
|
19
|
+
}): Promise<RawTree>;
|
|
21
20
|
private getScopeOrRetry;
|
|
22
21
|
canExecuteSegmentQuery({ renderingId, collectionName, segmentQuery, }: {
|
|
23
22
|
renderingId: number | string;
|
|
@@ -18,7 +18,7 @@ class RenderingPermissionService {
|
|
|
18
18
|
this.permissionsByRendering = new lru_cache_1.default({
|
|
19
19
|
max: 256,
|
|
20
20
|
ttl: this.options.permissionsCacheDurationInSeconds * 1000,
|
|
21
|
-
fetchMethod: renderingId => this.loadPermissions(renderingId),
|
|
21
|
+
fetchMethod: renderingId => this.loadPermissions(Number(renderingId)),
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
24
|
async getScope({ renderingId, collectionName, userId, }) {
|
|
@@ -126,4 +126,4 @@ class RenderingPermissionService {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
exports.default = RenderingPermissionService;
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLXBlcm1pc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGVybWlzc2lvbnMvcmVuZGVyaW5nLXBlcm1pc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwwREFBaUM7QUFJakMsbUZBQTBEO0FBQzFELHFHQUEyRTtBQUMzRSx3RUFBOEM7QUFDOUMsNkNBQWtFO0FBQ2xFLGdHQUFrRTtBQUNsRSxtQ0FNaUI7QUFFakIsMEVBQWdEO0FBUWhELE1BQXFCLDBCQUEwQjtJQUc3QyxZQUNtQixPQUE2QyxFQUM3QyxlQUFzQztRQUR0QyxZQUFPLEdBQVAsT0FBTyxDQUFzQztRQUM3QyxvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7UUFFdkQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksbUJBQVEsQ0FBQztZQUN6QyxHQUFHLEVBQUUsR0FBRztZQUNSLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGlDQUFpQyxHQUFHLElBQUk7WUFDMUQsV0FBVyxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdEUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFDcEIsV0FBVyxFQUNYLGNBQWMsRUFDZCxNQUFNLEdBS1A7UUFDQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU8sS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUM1QixXQUFXLEVBQ1gsY0FBYyxFQUNkLE1BQU0sRUFDTixVQUFVLEdBTVg7UUFDQyxNQUFNLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxHQUE0QyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDekYsSUFBSSxDQUFD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
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import type { Chart } from '../charts/types';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PlainConditionTreeBranch, PlainConditionTreeLeaf } from '@forestadmin/datasource-toolkit';
|
|
3
|
+
declare type CamelToSnakeCase<S extends string> = S extends `${infer T}${infer U}` ? `${T extends Capitalize<T> ? '_' : ''}${Lowercase<T>}${CamelToSnakeCase<U>}` : S;
|
|
4
|
+
declare type PascalToSnakeCase<S extends string> = S extends `${infer T}${infer U}` ? `${Lowercase<T>}${CamelToSnakeCase<U>}` : S;
|
|
5
|
+
declare type KeysToSnakeCase<T> = T extends object ? {
|
|
6
|
+
[K in keyof T]: T[K] extends string ? PascalToSnakeCase<T[K]> : KeysToSnakeCase<T[K]>;
|
|
7
|
+
} : T;
|
|
8
|
+
declare type GenericRawTree<RawLeaf, RawBranch> = RawBranch | RawLeaf;
|
|
9
|
+
export declare type RawTreeBranch = KeysToSnakeCase<PlainConditionTreeBranch>;
|
|
10
|
+
export declare type RawTreeLeaf = KeysToSnakeCase<PlainConditionTreeLeaf>;
|
|
11
|
+
export declare type RawTree = GenericRawTree<RawTreeLeaf, RawTreeBranch>;
|
|
3
12
|
export declare type EnvironmentPermissionsV4 = EnvironmentPermissionsV4Remote | true;
|
|
4
13
|
export declare type RightDescriptionWithRolesV4 = {
|
|
5
14
|
roles: number[];
|
|
@@ -108,7 +117,7 @@ export declare type DynamicScopesValues = {
|
|
|
108
117
|
users: Record<string, Record<string, string | number>>;
|
|
109
118
|
};
|
|
110
119
|
export declare type CollectionRenderingPermissionV4 = {
|
|
111
|
-
scope:
|
|
120
|
+
scope: RawTree | null;
|
|
112
121
|
segments: string[];
|
|
113
122
|
};
|
|
114
123
|
export declare type Team = {
|
|
@@ -120,4 +129,5 @@ export declare type RenderingPermissionV4 = {
|
|
|
120
129
|
collections: Record<string, CollectionRenderingPermissionV4>;
|
|
121
130
|
stats: Chart[];
|
|
122
131
|
};
|
|
132
|
+
export {};
|
|
123
133
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -24,4 +24,4 @@ var CustomActionEvent;
|
|
|
24
24
|
CustomActionEvent["SelfApprove"] = "self-approve";
|
|
25
25
|
CustomActionEvent["RequireApproval"] = "require-approval";
|
|
26
26
|
})(CustomActionEvent = exports.CustomActionEvent || (exports.CustomActionEvent = {}));
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGVybWlzc2lvbnMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBaUVBLElBQVksZUFLWDtBQUxELFdBQVksZUFBZTtJQUN6QixrQ0FBZSxDQUFBO0lBQ2YsMENBQXVCLENBQUE7SUFDdkIsb0NBQWlCLENBQUE7SUFDakIsZ0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFMVyxlQUFlLEdBQWYsdUJBQWUsS0FBZix1QkFBZSxRQUsxQjtBQWFELElBQVkscUJBT1g7QUFQRCxXQUFZLHFCQUFxQjtJQUMvQiwwQ0FBaUIsQ0FBQTtJQUNqQiwwQ0FBaUIsQ0FBQTtJQUNqQixzQ0FBYSxDQUFBO0lBQ2Isc0NBQWEsQ0FBQTtJQUNiLDBDQUFpQixDQUFBO0lBQ2pCLG9DQUFXLENBQUE7QUFDYixDQUFDLEVBUFcscUJBQXFCLEdBQXJCLDZCQUFxQixLQUFyQiw2QkFBcUIsUUFPaEM7QUFFRCxJQUFZLGlCQUtYO0FBTEQsV0FBWSxpQkFBaUI7SUFDM0Isd0NBQW1CLENBQUE7SUFDbkIsd0NBQW1CLENBQUE7SUFDbkIsaURBQTRCLENBQUE7SUFDNUIseURBQW9DLENBQUE7QUFDdEMsQ0FBQyxFQUxXLGlCQUFpQixHQUFqQix5QkFBaUIsS0FBakIseUJBQWlCLFFBSzVCIn0=
|
|
@@ -8,16 +8,18 @@ const empty_sql_query_error_1 = __importDefault(require("./errors/empty-sql-quer
|
|
|
8
8
|
const non_select_sql_query_error_1 = __importDefault(require("./errors/non-select-sql-query-error"));
|
|
9
9
|
const QUERY_SELECT = /^SELECT\s[^]*FROM\s[^]*$/i;
|
|
10
10
|
function verifySQLQuery(inputQuery) {
|
|
11
|
-
|
|
11
|
+
const inputQueryTrimmed = inputQuery?.trim();
|
|
12
|
+
if (!inputQueryTrimmed) {
|
|
12
13
|
throw new empty_sql_query_error_1.default();
|
|
13
14
|
}
|
|
14
|
-
if (
|
|
15
|
+
if (inputQueryTrimmed.includes(';') &&
|
|
16
|
+
inputQueryTrimmed.indexOf(';') < inputQueryTrimmed.length - 1) {
|
|
15
17
|
throw new chained_sql_query_error_1.default();
|
|
16
18
|
}
|
|
17
|
-
if (!QUERY_SELECT.test(
|
|
19
|
+
if (!QUERY_SELECT.test(inputQueryTrimmed)) {
|
|
18
20
|
throw new non_select_sql_query_error_1.default();
|
|
19
21
|
}
|
|
20
22
|
return true;
|
|
21
23
|
}
|
|
22
24
|
exports.default = verifySQLQuery;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LXNxbC1xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wZXJtaXNzaW9ucy92ZXJpZnktc3FsLXF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0ZBQW9FO0FBQ3BFLDJGQUFnRTtBQUNoRSxxR0FBeUU7QUFFekUsTUFBTSxZQUFZLEdBQUcsMkJBQTJCLENBQUM7QUFFakQsU0FBd0IsY0FBYyxDQUFDLFVBQXlCO0lBQzlELE1BQU0saUJBQWlCLEdBQUcsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO0lBRTdDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtRQUN0QixNQUFNLElBQUksK0JBQWtCLEVBQUUsQ0FBQztLQUNoQztJQUVELElBQ0UsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUMvQixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDN0Q7UUFDQSxNQUFNLElBQUksaUNBQW9CLEVBQUUsQ0FBQztLQUNsQztJQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7UUFDekMsTUFBTSxJQUFJLG9DQUFzQixFQUFFLENBQUM7S0FDcEM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFuQkQsaUNBbUJDIn0=
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { ChartRequest } from './charts/chart-handler';
|
|
2
|
-
import type { Chart } from './charts/types';
|
|
3
|
-
import type { CollectionActionEvent } from './permissions/types';
|
|
4
|
-
import type { GenericTree } from '@forestadmin/datasource-toolkit';
|
|
2
|
+
import type { Chart, QueryChart } from './charts/types';
|
|
3
|
+
import type { CollectionActionEvent, RawTree } from './permissions/types';
|
|
5
4
|
import ContextVariables, { RequestContextVariables } from './utils/context-variables';
|
|
6
5
|
export declare type LoggerLevel = 'Debug' | 'Info' | 'Warn' | 'Error';
|
|
7
6
|
export declare type Logger = (level: LoggerLevel, message: unknown) => void;
|
|
@@ -21,7 +20,7 @@ export interface ForestAdminClient {
|
|
|
21
20
|
renderingId: number | string;
|
|
22
21
|
userId: number | string;
|
|
23
22
|
collectionName: string;
|
|
24
|
-
}): Promise<
|
|
23
|
+
}): Promise<RawTree>;
|
|
25
24
|
markScopesAsUpdated(renderingId: number | string): void;
|
|
26
25
|
}
|
|
27
26
|
export interface PermissionService {
|
|
@@ -64,6 +63,14 @@ export interface ChartHandlerInterface {
|
|
|
64
63
|
renderingId: string | number;
|
|
65
64
|
chartRequest: ChartRequest;
|
|
66
65
|
}): Promise<Chart>;
|
|
66
|
+
getQueryForChart(params: {
|
|
67
|
+
userId: string | number;
|
|
68
|
+
renderingId: string | number;
|
|
69
|
+
chartRequest: ChartRequest<QueryChart>;
|
|
70
|
+
}): Promise<{
|
|
71
|
+
query: string;
|
|
72
|
+
contextVariables: Record<string, unknown>;
|
|
73
|
+
}>;
|
|
67
74
|
}
|
|
68
75
|
export interface ContextVariablesInstantiatorInterface {
|
|
69
76
|
buildContextVariables(params: {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { RawTree } from '../permissions/types';
|
|
2
2
|
import ContextVariables from './context-variables';
|
|
3
3
|
export default class ContextVariablesInjector {
|
|
4
|
-
private static
|
|
4
|
+
private static isTreeBranch;
|
|
5
|
+
static injectContextInValueCustom<ValueType>(value: ValueType, replaceFunction: (contextVariableName: string) => string): ValueType;
|
|
5
6
|
static injectContextInValue<ValueType>(value: ValueType, contextVariables: ContextVariables): ValueType;
|
|
6
|
-
static injectContextInFilter
|
|
7
|
+
static injectContextInFilter(filter: RawTree | null, contextVariables: ContextVariables): RawTree;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=context-variables-injector.d.ts.map
|
|
@@ -1,29 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
class ContextVariablesInjector {
|
|
4
|
-
static
|
|
4
|
+
static isTreeBranch(filter) {
|
|
5
5
|
return 'aggregator' in filter;
|
|
6
6
|
}
|
|
7
|
-
static
|
|
7
|
+
static injectContextInValueCustom(value, replaceFunction) {
|
|
8
8
|
if (typeof value !== 'string') {
|
|
9
9
|
return value;
|
|
10
10
|
}
|
|
11
11
|
let valueWithContextVariablesInjected = value;
|
|
12
12
|
const regex = /{{([^}]+)}}/g;
|
|
13
13
|
let match = regex.exec(value);
|
|
14
|
+
const encounteredVariables = [];
|
|
14
15
|
while (match) {
|
|
15
16
|
const contextVariableKey = match[1];
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
if (!encounteredVariables.includes(contextVariableKey)) {
|
|
18
|
+
valueWithContextVariablesInjected = valueWithContextVariablesInjected.replace(new RegExp(`{{${contextVariableKey}}}`, 'g'), replaceFunction(contextVariableKey));
|
|
19
|
+
}
|
|
20
|
+
encounteredVariables.push(contextVariableKey);
|
|
18
21
|
match = regex.exec(value);
|
|
19
22
|
}
|
|
20
23
|
return valueWithContextVariablesInjected;
|
|
21
24
|
}
|
|
25
|
+
static injectContextInValue(value, contextVariables) {
|
|
26
|
+
return this.injectContextInValueCustom(value, contextVariableKey => String(contextVariables.getValue(contextVariableKey)));
|
|
27
|
+
}
|
|
22
28
|
static injectContextInFilter(filter, contextVariables) {
|
|
23
29
|
if (!filter) {
|
|
24
30
|
return null;
|
|
25
31
|
}
|
|
26
|
-
if (ContextVariablesInjector.
|
|
32
|
+
if (ContextVariablesInjector.isTreeBranch(filter)) {
|
|
27
33
|
return {
|
|
28
34
|
...filter,
|
|
29
35
|
conditions: filter.conditions.map(condition => {
|
|
@@ -38,4 +44,4 @@ class ContextVariablesInjector {
|
|
|
38
44
|
}
|
|
39
45
|
}
|
|
40
46
|
exports.default = ContextVariablesInjector;
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC12YXJpYWJsZXMtaW5qZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY29udGV4dC12YXJpYWJsZXMtaW5qZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxNQUFxQix3QkFBd0I7SUFDbkMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFlO1FBQ3pDLE9BQU8sWUFBWSxJQUFJLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRU0sTUFBTSxDQUFDLDBCQUEwQixDQUN0QyxLQUFnQixFQUNoQixlQUF3RDtRQUV4RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxpQ0FBaUMsR0FBVyxLQUFLLENBQUM7UUFDdEQsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDO1FBQzdCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsTUFBTSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFFaEMsT0FBTyxLQUFLLEVBQUU7WUFDWixNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVwQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7Z0JBQ3RELGlDQUFpQyxHQUFHLGlDQUFpQyxDQUFDLE9BQU8sQ0FDM0UsSUFBSSxNQUFNLENBQUMsS0FBSyxrQkFBa0IsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUM1QyxlQUFlLENBQUMsa0JBQWtCLENBQUMsQ0FDcEMsQ0FBQzthQUNIO1lBRUQsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDOUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7UUFFRCxPQUFPLGlDQUF5RCxDQUFDO0lBQ25FLENBQUM7SUFFTSxNQUFNLENBQUMsb0JBQW9CLENBQ2hDLEtBQWdCLEVBQ2hCLGdCQUFrQztRQUVsQyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUMsRUFBRSxDQUNqRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FDdEQsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMscUJBQXFCLENBQ2pDLE1BQXNCLEVBQ3RCLGdCQUFrQztRQUVsQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksd0JBQXdCLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pELE9BQU87Z0JBQ0wsR0FBRyxNQUFNO2dCQUNULFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDNUMsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUM7Z0JBQ2pFLENBQUMsQ0FBQzthQUNILENBQUM7U0FDSDtRQUVELE9BQU87WUFDTCxHQUFHLE1BQU07WUFDVCxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUM7U0FDakUsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWxFRCwyQ0FrRUMifQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const knownLevels = ['debug', 'info', 'warn', 'error'];
|
|
4
|
+
function defaultLogger(level, ...args) {
|
|
5
|
+
const lowerCaseLevel = level.toLowerCase();
|
|
6
|
+
if (knownLevels.includes(lowerCaseLevel)) {
|
|
7
|
+
// eslint-disable-next-line no-console
|
|
8
|
+
console[lowerCaseLevel](...args);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
console.debug(...args);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.default = defaultLogger;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1sb2dnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZGVmYXVsdC1sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNLFdBQVcsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRXZELFNBQXdCLGFBQWEsQ0FBQyxLQUFhLEVBQUUsR0FBRyxJQUFXO0lBQ2pFLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUUzQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUU7UUFDeEMsc0NBQXNDO1FBQ3RDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0tBQ2xDO1NBQU07UUFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7S0FDeEI7QUFDSCxDQUFDO0FBVEQsZ0NBU0MifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forestadmin/forestadmin-client",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"test": "jest"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@forestadmin/datasource-toolkit": "1.1.1
|
|
32
|
+
"@forestadmin/datasource-toolkit": "1.1.1",
|
|
33
33
|
"@types/jsonwebtoken": "^8.5.8",
|
|
34
34
|
"@types/lru-cache": "^7.6.1",
|
|
35
35
|
"@types/superagent": "^4.1.15",
|