UNPKG

@forestadmin/forestadmin-client

Version:

This package contains the logic to use the ForestAdmin API inside an agent.

19 lines 2.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function isSegmentQueryAllowed(inputSegmentQuery, authorizedSegments) { if (!authorizedSegments) { return false; } // NOTICE: Handle UNION queries made by the FRONT to display available actions on details view // NOTICE: This can only be used on related data (Has Many relationships) to detect available // Smart Actions restricted to segment when a Smart Action is available on multiple SQL segments const unionQueries = inputSegmentQuery.split('/*MULTI-SEGMENTS-QUERIES-UNION*/ UNION '); if (unionQueries.length > 1) { const authorizedQueries = new Set(authorizedSegments.map(segmentQuery => segmentQuery.replace(/;\s*/i, '').trim())); return unionQueries.every((unionQuery) => authorizedQueries.has(unionQuery.trim())); } // NOTICE: Queries made by the FRONT to browse to an SQL segment return authorizedSegments.some(segmentQuery => segmentQuery === inputSegmentQuery); } exports.default = isSegmentQueryAllowed; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2VnbWVudC1xdWVyeS1hdXRob3JpemVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Blcm1pc3Npb25zL2lzLXNlZ21lbnQtcXVlcnktYXV0aG9yaXplZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLFNBQXdCLHFCQUFxQixDQUMzQyxpQkFBeUIsRUFDekIsa0JBQTRCO0lBRTVCLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtRQUN2QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsOEZBQThGO0lBQzlGLDZGQUE2RjtJQUM3RixnR0FBZ0c7SUFDaEcsTUFBTSxZQUFZLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFFeEYsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUMzQixNQUFNLGlCQUFpQixHQUFHLElBQUksR0FBRyxDQUMvQixrQkFBa0IsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUNqRixDQUFDO1FBRUYsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDN0Y7SUFFRCxnRUFBZ0U7SUFDaEUsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEtBQUssaUJBQWlCLENBQUMsQ0FBQztBQUNyRixDQUFDO0FBdkJELHdDQXVCQyJ9