@servicenow/sdk-build-plugins 3.0.2 → 4.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/acl-plugin.d.ts +19 -0
- package/dist/acl-plugin.js +210 -0
- package/dist/acl-plugin.js.map +1 -0
- package/dist/application-menu-plugin.d.ts +18 -0
- package/dist/application-menu-plugin.js +104 -0
- package/dist/application-menu-plugin.js.map +1 -0
- package/dist/arrow-function-plugin.d.ts +16 -0
- package/dist/arrow-function-plugin.js +107 -0
- package/dist/arrow-function-plugin.js.map +1 -0
- package/dist/atf/step-configs.d.ts +37 -0
- package/dist/atf/step-configs.js +2236 -0
- package/dist/atf/step-configs.js.map +1 -0
- package/dist/atf/test-plugin.d.ts +4 -0
- package/dist/atf/test-plugin.js +591 -0
- package/dist/atf/test-plugin.js.map +1 -0
- package/dist/basic-syntax-plugin.d.ts +2 -0
- package/dist/basic-syntax-plugin.js +636 -0
- package/dist/basic-syntax-plugin.js.map +1 -0
- package/dist/business-rule-plugin.d.ts +3 -0
- package/dist/business-rule-plugin.js +205 -0
- package/dist/business-rule-plugin.js.map +1 -0
- package/dist/call-expression-plugin.d.ts +2 -0
- package/dist/call-expression-plugin.js +175 -0
- package/dist/call-expression-plugin.js.map +1 -0
- package/dist/client-script-plugin.d.ts +29 -0
- package/dist/client-script-plugin.js +157 -0
- package/dist/client-script-plugin.js.map +1 -0
- package/dist/column/column-helper.d.ts +12 -0
- package/dist/column/column-helper.js +84 -0
- package/dist/column/column-helper.js.map +1 -0
- package/dist/column/column-to-record.d.ts +3 -0
- package/dist/column/column-to-record.js +105 -0
- package/dist/column/column-to-record.js.map +1 -0
- package/dist/column-plugin.d.ts +8 -0
- package/dist/column-plugin.js +453 -0
- package/dist/column-plugin.js.map +1 -0
- package/dist/cross-scope-privilege-plugin.d.ts +15 -0
- package/dist/cross-scope-privilege-plugin.js +82 -0
- package/dist/cross-scope-privilege-plugin.js.map +1 -0
- package/dist/html-import-plugin.d.ts +2 -0
- package/dist/html-import-plugin.js +72 -0
- package/dist/html-import-plugin.js.map +1 -0
- package/dist/index.d.ts +37 -21
- package/dist/index.js +40 -45
- package/dist/index.js.map +1 -1
- package/dist/json-plugin.d.ts +15 -0
- package/dist/json-plugin.js +104 -0
- package/dist/json-plugin.js.map +1 -0
- package/dist/list-plugin.d.ts +2 -0
- package/dist/list-plugin.js +191 -0
- package/dist/list-plugin.js.map +1 -0
- package/dist/now-config-plugin.d.ts +4 -0
- package/dist/now-config-plugin.js +154 -0
- package/dist/now-config-plugin.js.map +1 -0
- package/dist/now-id-plugin.d.ts +11 -0
- package/dist/now-id-plugin.js +71 -0
- package/dist/now-id-plugin.js.map +1 -0
- package/dist/now-include-plugin.d.ts +16 -0
- package/dist/now-include-plugin.js +118 -0
- package/dist/now-include-plugin.js.map +1 -0
- package/dist/now-ref-plugin.d.ts +2 -0
- package/dist/now-ref-plugin.js +43 -0
- package/dist/now-ref-plugin.js.map +1 -0
- package/dist/now-unresolved-plugin.d.ts +2 -0
- package/dist/now-unresolved-plugin.js +32 -0
- package/dist/now-unresolved-plugin.js.map +1 -0
- package/dist/package-json-plugin.d.ts +2 -0
- package/dist/package-json-plugin.js +70 -0
- package/dist/package-json-plugin.js.map +1 -0
- package/dist/property-plugin.d.ts +2 -0
- package/dist/property-plugin.js +105 -0
- package/dist/property-plugin.js.map +1 -0
- package/dist/record-plugin.d.ts +43 -0
- package/dist/record-plugin.js +147 -0
- package/dist/record-plugin.js.map +1 -0
- package/dist/repack/index.d.ts +1 -0
- package/dist/repack/index.js +10 -2
- package/dist/repack/index.js.map +1 -1
- package/dist/repack/lint/Rules.d.ts +1 -1
- package/dist/repack/lint/Rules.js +7 -3
- package/dist/repack/lint/Rules.js.map +1 -1
- package/dist/repack/lint/index.js +1 -1
- package/dist/rest-api-plugin.d.ts +2 -0
- package/dist/rest-api-plugin.js +469 -0
- package/dist/rest-api-plugin.js.map +1 -0
- package/dist/role-plugin.d.ts +2 -0
- package/dist/role-plugin.js +117 -0
- package/dist/role-plugin.js.map +1 -0
- package/dist/script-action-plugin.d.ts +2 -0
- package/dist/script-action-plugin.js +62 -0
- package/dist/script-action-plugin.js.map +1 -0
- package/dist/script-include-plugin.d.ts +2 -0
- package/dist/script-include-plugin.js +102 -0
- package/dist/script-include-plugin.js.map +1 -0
- package/dist/server-module-plugin/index.d.ts +14 -0
- package/dist/server-module-plugin/index.js +378 -0
- package/dist/server-module-plugin/index.js.map +1 -0
- package/dist/server-module-plugin/sbom-builder.d.ts +45 -0
- package/dist/server-module-plugin/sbom-builder.js +179 -0
- package/dist/server-module-plugin/sbom-builder.js.map +1 -0
- package/dist/service-portal/angular-provider-plugin.d.ts +2 -0
- package/dist/service-portal/angular-provider-plugin.js +78 -0
- package/dist/service-portal/angular-provider-plugin.js.map +1 -0
- package/dist/service-portal/dependency-plugin.d.ts +2 -0
- package/dist/service-portal/dependency-plugin.js +235 -0
- package/dist/service-portal/dependency-plugin.js.map +1 -0
- package/dist/service-portal/widget-plugin.d.ts +6 -0
- package/dist/service-portal/widget-plugin.js +230 -0
- package/dist/service-portal/widget-plugin.js.map +1 -0
- package/dist/static-content-plugin.d.ts +2 -0
- package/dist/static-content-plugin.js +272 -0
- package/dist/static-content-plugin.js.map +1 -0
- package/dist/table-plugin.d.ts +3 -0
- package/dist/table-plugin.js +1324 -0
- package/dist/table-plugin.js.map +1 -0
- package/dist/ui-action-plugin.d.ts +2 -0
- package/dist/ui-action-plugin.js +291 -0
- package/dist/ui-action-plugin.js.map +1 -0
- package/dist/ui-page-plugin.d.ts +2 -0
- package/dist/ui-page-plugin.js +165 -0
- package/dist/ui-page-plugin.js.map +1 -0
- package/dist/user-preference-plugin.d.ts +15 -0
- package/dist/user-preference-plugin.js +63 -0
- package/dist/user-preference-plugin.js.map +1 -0
- package/dist/utils.d.ts +17 -0
- package/dist/utils.js +72 -0
- package/dist/utils.js.map +1 -0
- package/dist/view-plugin.d.ts +2 -0
- package/dist/view-plugin.js +45 -0
- package/dist/view-plugin.js.map +1 -0
- package/package.json +17 -13
- package/src/acl-plugin.ts +256 -0
- package/src/application-menu-plugin.ts +109 -0
- package/src/arrow-function-plugin.ts +127 -0
- package/src/atf/step-configs.ts +2284 -0
- package/src/atf/test-plugin.ts +728 -0
- package/src/basic-syntax-plugin.ts +729 -0
- package/src/business-rule-plugin.ts +266 -0
- package/src/call-expression-plugin.ts +202 -0
- package/src/client-script-plugin.ts +170 -0
- package/src/column/column-helper.ts +119 -0
- package/src/column/column-to-record.ts +131 -0
- package/src/column-plugin.ts +506 -0
- package/src/cross-scope-privilege-plugin.ts +82 -0
- package/src/html-import-plugin.ts +79 -0
- package/src/index.ts +39 -21
- package/src/json-plugin.ts +128 -0
- package/src/list-plugin.ts +222 -0
- package/src/now-config-plugin.ts +194 -0
- package/src/now-id-plugin.ts +78 -0
- package/src/now-include-plugin.ts +140 -0
- package/src/now-ref-plugin.ts +48 -0
- package/src/now-unresolved-plugin.ts +30 -0
- package/src/package-json-plugin.ts +87 -0
- package/src/property-plugin.ts +118 -0
- package/src/record-plugin.ts +171 -0
- package/src/repack/index.ts +10 -1
- package/src/repack/lint/Rules.ts +5 -4
- package/src/repack/lint/index.ts +1 -1
- package/src/rest-api-plugin.ts +651 -0
- package/src/role-plugin.ts +128 -0
- package/src/script-action-plugin.ts +63 -0
- package/src/script-include-plugin.ts +110 -0
- package/src/server-module-plugin/index.ts +470 -0
- package/src/server-module-plugin/sbom-builder.ts +183 -0
- package/src/service-portal/angular-provider-plugin.ts +83 -0
- package/src/service-portal/dependency-plugin.ts +284 -0
- package/src/service-portal/widget-plugin.ts +263 -0
- package/src/static-content-plugin.ts +254 -0
- package/src/table-plugin.ts +1698 -0
- package/src/ui-action-plugin.ts +324 -0
- package/src/ui-page-plugin.ts +168 -0
- package/src/user-preference-plugin.ts +62 -0
- package/src/utils.ts +69 -0
- package/src/view-plugin.ts +46 -0
- package/dist/AttachmentPlugin.d.ts +0 -254
- package/dist/AttachmentPlugin.js +0 -220
- package/dist/AttachmentPlugin.js.map +0 -1
- package/dist/BusinessRulePlugin.d.ts +0 -30
- package/dist/BusinessRulePlugin.js +0 -149
- package/dist/BusinessRulePlugin.js.map +0 -1
- package/dist/CrossScopePrivilegePlugin.d.ts +0 -35
- package/dist/CrossScopePrivilegePlugin.js +0 -80
- package/dist/CrossScopePrivilegePlugin.js.map +0 -1
- package/dist/DefaultPlugin.d.ts +0 -86
- package/dist/DefaultPlugin.js +0 -226
- package/dist/DefaultPlugin.js.map +0 -1
- package/dist/HtmlTemplatePlugin.d.ts +0 -21
- package/dist/HtmlTemplatePlugin.js +0 -29
- package/dist/HtmlTemplatePlugin.js.map +0 -1
- package/dist/IdPlugin.d.ts +0 -28
- package/dist/IdPlugin.js +0 -68
- package/dist/IdPlugin.js.map +0 -1
- package/dist/IncludePlugin.d.ts +0 -34
- package/dist/IncludePlugin.js +0 -155
- package/dist/IncludePlugin.js.map +0 -1
- package/dist/JsonPlugin.d.ts +0 -28
- package/dist/JsonPlugin.js +0 -69
- package/dist/JsonPlugin.js.map +0 -1
- package/dist/ListPlugin.d.ts +0 -93
- package/dist/ListPlugin.js +0 -456
- package/dist/ListPlugin.js.map +0 -1
- package/dist/NowConfigPlugin.d.ts +0 -45
- package/dist/NowConfigPlugin.js +0 -64
- package/dist/NowConfigPlugin.js.map +0 -1
- package/dist/PackageJsonPlugin.d.ts +0 -34
- package/dist/PackageJsonPlugin.js +0 -63
- package/dist/PackageJsonPlugin.js.map +0 -1
- package/dist/PropertyPlugin.d.ts +0 -51
- package/dist/PropertyPlugin.js +0 -181
- package/dist/PropertyPlugin.js.map +0 -1
- package/dist/ScriptTemplatePlugin.d.ts +0 -13
- package/dist/ScriptTemplatePlugin.js +0 -55
- package/dist/ScriptTemplatePlugin.js.map +0 -1
- package/dist/ServerModulePlugin.d.ts +0 -75
- package/dist/ServerModulePlugin.js +0 -368
- package/dist/ServerModulePlugin.js.map +0 -1
- package/dist/UserPreferencePlugin.d.ts +0 -19
- package/dist/UserPreferencePlugin.js +0 -32
- package/dist/UserPreferencePlugin.js.map +0 -1
- package/dist/aclAndRole/AclPlugin.d.ts +0 -82
- package/dist/aclAndRole/AclPlugin.js +0 -262
- package/dist/aclAndRole/AclPlugin.js.map +0 -1
- package/dist/aclAndRole/RolePlugin.d.ts +0 -66
- package/dist/aclAndRole/RolePlugin.js +0 -179
- package/dist/aclAndRole/RolePlugin.js.map +0 -1
- package/dist/aclAndRole/Util.d.ts +0 -3
- package/dist/aclAndRole/Util.js +0 -90
- package/dist/aclAndRole/Util.js.map +0 -1
- package/dist/app/ApplicationMenuPlugin.d.ts +0 -34
- package/dist/app/ApplicationMenuPlugin.js +0 -112
- package/dist/app/ApplicationMenuPlugin.js.map +0 -1
- package/dist/db/ColumnPlugins.d.ts +0 -750
- package/dist/db/ColumnPlugins.js +0 -114
- package/dist/db/ColumnPlugins.js.map +0 -1
- package/dist/db/DBUtils.d.ts +0 -2
- package/dist/db/DBUtils.js +0 -27
- package/dist/db/DBUtils.js.map +0 -1
- package/dist/db/DocumentationPlugin.d.ts +0 -67
- package/dist/db/DocumentationPlugin.js +0 -258
- package/dist/db/DocumentationPlugin.js.map +0 -1
- package/dist/db/LicensingPlugin.d.ts +0 -60
- package/dist/db/LicensingPlugin.js +0 -117
- package/dist/db/LicensingPlugin.js.map +0 -1
- package/dist/db/RecordPlugin.d.ts +0 -133
- package/dist/db/RecordPlugin.js +0 -337
- package/dist/db/RecordPlugin.js.map +0 -1
- package/dist/db/TablePlugin.d.ts +0 -231
- package/dist/db/TablePlugin.js +0 -1628
- package/dist/db/TablePlugin.js.map +0 -1
- package/dist/db/index.d.ts +0 -6
- package/dist/db/index.js +0 -32
- package/dist/db/index.js.map +0 -1
- package/dist/scriptedRESTAPI/RESTDeserializationUtils.d.ts +0 -10
- package/dist/scriptedRESTAPI/RESTDeserializationUtils.js +0 -373
- package/dist/scriptedRESTAPI/RESTDeserializationUtils.js.map +0 -1
- package/dist/scriptedRESTAPI/RESTSerializationUtils.d.ts +0 -13
- package/dist/scriptedRESTAPI/RESTSerializationUtils.js +0 -177
- package/dist/scriptedRESTAPI/RESTSerializationUtils.js.map +0 -1
- package/dist/scriptedRESTAPI/RestApiPlugin.d.ts +0 -81
- package/dist/scriptedRESTAPI/RestApiPlugin.js +0 -345
- package/dist/scriptedRESTAPI/RestApiPlugin.js.map +0 -1
- package/dist/scriptedRESTAPI/RestSchemaUtils.d.ts +0 -190
- package/dist/scriptedRESTAPI/RestSchemaUtils.js +0 -53
- package/dist/scriptedRESTAPI/RestSchemaUtils.js.map +0 -1
- package/dist/scriptedRESTAPI/RestUtils.d.ts +0 -69
- package/dist/scriptedRESTAPI/RestUtils.js +0 -497
- package/dist/scriptedRESTAPI/RestUtils.js.map +0 -1
- package/dist/scripts/ClientScriptPlugin.d.ts +0 -64
- package/dist/scripts/ClientScriptPlugin.js +0 -170
- package/dist/scripts/ClientScriptPlugin.js.map +0 -1
- package/dist/scripts/scriptUtils.d.ts +0 -1
- package/dist/scripts/scriptUtils.js +0 -9
- package/dist/scripts/scriptUtils.js.map +0 -1
- package/dist/uxf/ExperiencePlugin.d.ts +0 -45
- package/dist/uxf/ExperiencePlugin.js +0 -61
- package/dist/uxf/ExperiencePlugin.js.map +0 -1
- package/dist/uxf/RoutesPlugin.d.ts +0 -29
- package/dist/uxf/RoutesPlugin.js +0 -181
- package/dist/uxf/RoutesPlugin.js.map +0 -1
- package/dist/uxf/UxfFormulaParser/cleanUxValue.d.ts +0 -4
- package/dist/uxf/UxfFormulaParser/cleanUxValue.js +0 -65
- package/dist/uxf/UxfFormulaParser/cleanUxValue.js.map +0 -1
- package/dist/uxf/UxfFormulaParser/grammerParser/api.d.ts +0 -189
- package/dist/uxf/UxfFormulaParser/grammerParser/api.js +0 -158
- package/dist/uxf/UxfFormulaParser/grammerParser/api.js.map +0 -1
- package/dist/uxf/UxfFormulaParser/grammerParser/clientTransformMap.d.ts +0 -13
- package/dist/uxf/UxfFormulaParser/grammerParser/clientTransformMap.js +0 -604
- package/dist/uxf/UxfFormulaParser/grammerParser/clientTransformMap.js.map +0 -1
- package/dist/uxf/UxfFormulaParser/grammerParser/grammarParser.d.ts +0 -12
- package/dist/uxf/UxfFormulaParser/grammerParser/grammarParser.js +0 -551
- package/dist/uxf/UxfFormulaParser/grammerParser/grammarParser.js.map +0 -1
- package/dist/uxf/UxfFormulaParser/grammerParser/spanHelpers.d.ts +0 -31
- package/dist/uxf/UxfFormulaParser/grammerParser/spanHelpers.js +0 -64
- package/dist/uxf/UxfFormulaParser/grammerParser/spanHelpers.js.map +0 -1
- package/dist/uxf/UxfFormulaParser/index.d.ts +0 -3
- package/dist/uxf/UxfFormulaParser/index.js +0 -11
- package/dist/uxf/UxfFormulaParser/index.js.map +0 -1
- package/dist/uxf/UxfFormulaParser/parser.d.ts +0 -8
- package/dist/uxf/UxfFormulaParser/parser.js +0 -87
- package/dist/uxf/UxfFormulaParser/parser.js.map +0 -1
- package/dist/uxf/UxfFormulaParser/utils/getErrorMsg.d.ts +0 -8
- package/dist/uxf/UxfFormulaParser/utils/getErrorMsg.js +0 -17
- package/dist/uxf/UxfFormulaParser/utils/getErrorMsg.js.map +0 -1
- package/dist/uxf/constants.d.ts +0 -2
- package/dist/uxf/constants.js +0 -8
- package/dist/uxf/constants.js.map +0 -1
- package/dist/uxf/index.d.ts +0 -2
- package/dist/uxf/index.js +0 -11
- package/dist/uxf/index.js.map +0 -1
- package/dist/uxf/tectonicIdGenerator.d.ts +0 -12
- package/dist/uxf/tectonicIdGenerator.js +0 -79
- package/dist/uxf/tectonicIdGenerator.js.map +0 -1
- package/src/AttachmentPlugin.ts +0 -268
- package/src/BusinessRulePlugin.ts +0 -238
- package/src/CrossScopePrivilegePlugin.ts +0 -115
- package/src/DefaultPlugin.ts +0 -288
- package/src/HtmlTemplatePlugin.ts +0 -31
- package/src/IdPlugin.ts +0 -74
- package/src/IncludePlugin.ts +0 -206
- package/src/JsonPlugin.ts +0 -76
- package/src/ListPlugin.ts +0 -570
- package/src/NowConfigPlugin.ts +0 -69
- package/src/PackageJsonPlugin.ts +0 -68
- package/src/PropertyPlugin.ts +0 -237
- package/src/ScriptTemplatePlugin.ts +0 -53
- package/src/ServerModulePlugin.ts +0 -480
- package/src/UserPreferencePlugin.ts +0 -45
- package/src/aclAndRole/AclPlugin.ts +0 -420
- package/src/aclAndRole/RolePlugin.ts +0 -254
- package/src/aclAndRole/Util.ts +0 -113
- package/src/app/ApplicationMenuPlugin.ts +0 -165
- package/src/db/ColumnPlugins.ts +0 -114
- package/src/db/DBUtils.ts +0 -36
- package/src/db/DocumentationPlugin.ts +0 -316
- package/src/db/LicensingPlugin.ts +0 -138
- package/src/db/RecordPlugin.ts +0 -459
- package/src/db/TablePlugin.ts +0 -2070
- package/src/db/index.ts +0 -6
- package/src/scriptedRESTAPI/RESTDeserializationUtils.ts +0 -419
- package/src/scriptedRESTAPI/RESTSerializationUtils.ts +0 -228
- package/src/scriptedRESTAPI/RestApiPlugin.ts +0 -469
- package/src/scriptedRESTAPI/RestSchemaUtils.ts +0 -72
- package/src/scriptedRESTAPI/RestUtils.ts +0 -569
- package/src/scripts/ClientScriptPlugin.ts +0 -257
- package/src/scripts/scriptUtils.ts +0 -5
- package/src/uxf/ExperiencePlugin.ts +0 -67
- package/src/uxf/RoutesPlugin.ts +0 -211
- package/src/uxf/UxfFormulaParser/cleanUxValue.ts +0 -73
- package/src/uxf/UxfFormulaParser/grammerParser/api.js +0 -166
- package/src/uxf/UxfFormulaParser/grammerParser/clientTransformMap.js +0 -606
- package/src/uxf/UxfFormulaParser/grammerParser/grammarParser.js +0 -551
- package/src/uxf/UxfFormulaParser/grammerParser/spanHelpers.js +0 -65
- package/src/uxf/UxfFormulaParser/index.ts +0 -4
- package/src/uxf/UxfFormulaParser/parser.ts +0 -64
- package/src/uxf/UxfFormulaParser/utils/getErrorMsg.ts +0 -13
- package/src/uxf/constants.ts +0 -4
- package/src/uxf/index.ts +0 -2
- package/src/uxf/tectonicIdGenerator.ts +0 -78
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const app_1 = require("@servicenow/sdk-core/runtime/app");
|
|
4
|
-
const sdk_build_core_1 = require("@servicenow/sdk-build-core");
|
|
5
|
-
const Util_1 = require("./Util");
|
|
6
|
-
const util_1 = require("@servicenow/sdk-core/runtime/util");
|
|
7
|
-
const db_1 = require("@servicenow/sdk-core/runtime/db");
|
|
8
|
-
const scriptUtils_1 = require("../scripts/scriptUtils");
|
|
9
|
-
const sdk_project_1 = require("@servicenow/sdk-project");
|
|
10
|
-
const app_2 = require("@servicenow/sdk-core/runtime/app");
|
|
11
|
-
const ScriptTemplatePlugin_1 = require("../ScriptTemplatePlugin");
|
|
12
|
-
const sdk_project_2 = require("@servicenow/sdk-project");
|
|
13
|
-
const ServerModulePlugin_1 = require("../ServerModulePlugin");
|
|
14
|
-
const db_2 = require("../db");
|
|
15
|
-
const ExecuteOnlyTypes = new Set([
|
|
16
|
-
'client_callable_flow_object',
|
|
17
|
-
'client_callable_script_include',
|
|
18
|
-
'graphql',
|
|
19
|
-
'processor',
|
|
20
|
-
'rest_endpoint',
|
|
21
|
-
]);
|
|
22
|
-
function aclAsRecord(config) {
|
|
23
|
-
const tableConfig = config;
|
|
24
|
-
const namedConfig = config;
|
|
25
|
-
const field = String(tableConfig.field || '');
|
|
26
|
-
const name = namedConfig.name || (field ? `${tableConfig.table}.${field}` : tableConfig.table);
|
|
27
|
-
if (!name) {
|
|
28
|
-
throw new Error(`ACL of type ${config.type} and $id '${config.$id}' has no name or associated table`);
|
|
29
|
-
}
|
|
30
|
-
if (config.operation !== 'execute' && ExecuteOnlyTypes.has(config.type)) {
|
|
31
|
-
throw new Error(`ACL ${name} must use operation 'execute', because it is of type '${config.type}'`);
|
|
32
|
-
}
|
|
33
|
-
if (config.script && config.type === 'graphql') {
|
|
34
|
-
throw new Error(`ACL ${name} does not support scripts, because it is of type ${config.type}`);
|
|
35
|
-
}
|
|
36
|
-
if (tableConfig.applies_to && tableConfig.type !== 'record') {
|
|
37
|
-
throw new Error(`ACL ${name} cannot set applies_to unless its type is 'record'`);
|
|
38
|
-
}
|
|
39
|
-
if (tableConfig.operation === 'add_to_list' && (config.script || config.condition)) {
|
|
40
|
-
throw new Error(`ACL ${name} cannot have a script or condition due to its 'add_to_list' operation`);
|
|
41
|
-
}
|
|
42
|
-
return (0, db_1.Record)({
|
|
43
|
-
table: 'sys_security_acl',
|
|
44
|
-
$id: config.$id,
|
|
45
|
-
data: {
|
|
46
|
-
name,
|
|
47
|
-
active: config.active ?? true,
|
|
48
|
-
type: app_1.AclTypes[config.type ?? 'record'],
|
|
49
|
-
operation: app_1.AclOperations[config.operation] || config.operation || '',
|
|
50
|
-
decision_type: config.decision_type ?? 'allow',
|
|
51
|
-
description: config.description || '',
|
|
52
|
-
local_or_existing: config.local_or_existing || 'Local',
|
|
53
|
-
admin_overrides: config.admin_overrides ?? true,
|
|
54
|
-
advanced: !!config.script,
|
|
55
|
-
condition: config.condition ?? '',
|
|
56
|
-
applies_to: tableConfig.applies_to ?? '',
|
|
57
|
-
script: config.script,
|
|
58
|
-
security_attribute: (config.security_attribute && app_1.AclAttributes[config.security_attribute]) ||
|
|
59
|
-
config.security_attribute ||
|
|
60
|
-
'',
|
|
61
|
-
...(0, util_1.additionalProperties)(config, app_1.AclSchema),
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
exports.default = (0, sdk_build_core_1.Plugin)({
|
|
66
|
-
name: 'Acl',
|
|
67
|
-
ownedTables: {
|
|
68
|
-
sys_security_acl: { diagnosticLevel: sdk_project_2.Diagnostic.Level.Warn },
|
|
69
|
-
},
|
|
70
|
-
extractors: {
|
|
71
|
-
entity: {
|
|
72
|
-
fluent: {
|
|
73
|
-
CallExpression(node, context) {
|
|
74
|
-
const result = (0, sdk_build_core_1.extractCallExpression)(app_1.Acl, 'record', node, context, (acl) => context.registerExplicitId('sys_security_acl', acl.$id));
|
|
75
|
-
if (!result.handled || !result.data) {
|
|
76
|
-
return result;
|
|
77
|
-
}
|
|
78
|
-
const acl = result.data;
|
|
79
|
-
const aclRecord = aclAsRecord(acl.getValue());
|
|
80
|
-
const scriptVal = ServerModulePlugin_1.ModuleFunctionData.getGlueCode(acl.getProperty('script'), (n) => `answer = ${n}(current)`);
|
|
81
|
-
const m2mRoleToAcl = acl
|
|
82
|
-
.getProperty('roles')
|
|
83
|
-
?.getValue(true)
|
|
84
|
-
?.map((role) => {
|
|
85
|
-
const roleId = typeof role === 'string' ? role : role.$id;
|
|
86
|
-
const roleSysId = typeof role === 'string'
|
|
87
|
-
? role
|
|
88
|
-
: context.registerExplicitId('sys_user_role', role.$id);
|
|
89
|
-
const guid = context.keys.registerCompositeId('sys_security_acl_role', {
|
|
90
|
-
sys_security_acl: aclRecord.$id,
|
|
91
|
-
sys_user_role: roleId,
|
|
92
|
-
});
|
|
93
|
-
return new sdk_build_core_1.EntityData('record', guid, sdk_build_core_1.ObjectData.fromObjectValue((0, db_1.Record)({
|
|
94
|
-
table: 'sys_security_acl_role',
|
|
95
|
-
$id: guid,
|
|
96
|
-
data: {
|
|
97
|
-
sys_security_acl: acl.getGuid(),
|
|
98
|
-
sys_user_role: roleSysId,
|
|
99
|
-
},
|
|
100
|
-
}), node), node, acl.getInstallMethod());
|
|
101
|
-
}) || [];
|
|
102
|
-
const diagnostics = performDiagnosticChecksOnSecurityAttribute(node, acl.getValue(true), m2mRoleToAcl);
|
|
103
|
-
const aclWithScript = { ...aclRecord, data: { ...aclRecord.data, script: scriptVal || '' } };
|
|
104
|
-
const aclEntityData = new sdk_build_core_1.EntityData('record', acl.getGuid(), sdk_build_core_1.ObjectData.fromObjectValue(aclWithScript, node), node, acl.getInstallMethod());
|
|
105
|
-
const wrapperEntity = new sdk_build_core_1.EntityData('acl', acl.getGuid(), new sdk_build_core_1.ObjectData({
|
|
106
|
-
records: new sdk_build_core_1.ArrayData([aclEntityData, ...m2mRoleToAcl], node),
|
|
107
|
-
}, node), node, acl.getInstallMethod(), acl.getExplicitIds());
|
|
108
|
-
return {
|
|
109
|
-
handled: true,
|
|
110
|
-
diagnostics: [...result.diagnostics, ...diagnostics],
|
|
111
|
-
data: wrapperEntity,
|
|
112
|
-
};
|
|
113
|
-
},
|
|
114
|
-
},
|
|
115
|
-
},
|
|
116
|
-
},
|
|
117
|
-
composers: {
|
|
118
|
-
entity: {
|
|
119
|
-
acl(entity, context) {
|
|
120
|
-
return Promise.all(entity
|
|
121
|
-
.getPropertyOrThrow('records', 'array')
|
|
122
|
-
.getElements()
|
|
123
|
-
.map((record) => {
|
|
124
|
-
if (!sdk_build_core_1.Data.isEntity(record)) {
|
|
125
|
-
throw new Error('Expected entity');
|
|
126
|
-
}
|
|
127
|
-
return db_2.RecordPlugin.composers.entity.record(record, context);
|
|
128
|
-
})
|
|
129
|
-
.flat());
|
|
130
|
-
},
|
|
131
|
-
},
|
|
132
|
-
},
|
|
133
|
-
arrangers: {
|
|
134
|
-
record(document, context) {
|
|
135
|
-
if (document.data.table !== 'sys_security_acl_role') {
|
|
136
|
-
return { handled: false };
|
|
137
|
-
}
|
|
138
|
-
const aclId = document.data.data.sys_security_acl;
|
|
139
|
-
const aclDoc = context.getDocument(aclId, 'record');
|
|
140
|
-
const aclDeleted = aclDoc && aclDoc.action === 'DELETE';
|
|
141
|
-
if (aclDeleted && document.action === 'INSERT_OR_UPDATE') {
|
|
142
|
-
throw new Error(`Existing sys_security_acl_role with id ${document.guid} is referencing deleted ACL ${aclId}. This can be fixed by either deleting the sys_security_acl_role record or updating its sys_security_acl reference.`);
|
|
143
|
-
}
|
|
144
|
-
return {
|
|
145
|
-
handled: true,
|
|
146
|
-
result: aclId ? { kind: 'record', guid: aclId } : undefined,
|
|
147
|
-
};
|
|
148
|
-
},
|
|
149
|
-
},
|
|
150
|
-
generators: {
|
|
151
|
-
record(document, context, linkedDocuments) {
|
|
152
|
-
const documentType = document.data?.table;
|
|
153
|
-
if (documentType === 'sys_security_acl_role') {
|
|
154
|
-
if (!document.parent) {
|
|
155
|
-
return undefined;
|
|
156
|
-
}
|
|
157
|
-
const acl = linkedDocuments.find((doc) => doc.data.table === 'sys_security_acl' &&
|
|
158
|
-
doc.guid === document.data.data.sys_security_acl);
|
|
159
|
-
return acl && acl.node ? { ...document, node: acl.node } : undefined;
|
|
160
|
-
}
|
|
161
|
-
if (documentType !== 'sys_security_acl') {
|
|
162
|
-
return undefined;
|
|
163
|
-
}
|
|
164
|
-
return (0, sdk_build_core_1.linkDocument)(document, (0, sdk_build_core_1.generateCallExpressionExportForDocument)(context, {
|
|
165
|
-
sourceFile: (0, sdk_build_core_1.getOrCreateEntitySourceFile)(context, (0, sdk_build_core_1.getSysUpdateName)(document, 'sys_security_acl')),
|
|
166
|
-
moduleSpecifier: '@servicenow/sdk/core',
|
|
167
|
-
}, app_1.Acl, { $id: document.guid }).getExpressionIfKindOrThrow(sdk_project_1.ts.SyntaxKind.CallExpression));
|
|
168
|
-
},
|
|
169
|
-
},
|
|
170
|
-
transformers: {
|
|
171
|
-
record: {
|
|
172
|
-
CallExpression(document, context) {
|
|
173
|
-
const documentType = document.data?.table;
|
|
174
|
-
const [args] = document.node.getArguments();
|
|
175
|
-
if (!sdk_project_1.ts.Node.isObjectLiteralExpression(args)) {
|
|
176
|
-
return false;
|
|
177
|
-
}
|
|
178
|
-
if (documentType === 'sys_security_acl_role') {
|
|
179
|
-
if (!document.parent || (0, sdk_build_core_1.getCallExpressionName)(document.node) !== app_1.Acl.name) {
|
|
180
|
-
// Record plugin can handle this as its own entity
|
|
181
|
-
return false;
|
|
182
|
-
}
|
|
183
|
-
const acl2Role = document.data.data;
|
|
184
|
-
if (document.action === 'DELETE') {
|
|
185
|
-
const roleId = acl2Role.sys_user_role;
|
|
186
|
-
if (roleId) {
|
|
187
|
-
(0, Util_1.removeObjectFromArrayById)(document, 'roles', context);
|
|
188
|
-
}
|
|
189
|
-
return true;
|
|
190
|
-
}
|
|
191
|
-
(0, Util_1.addObjectToArrayById)(document, 'roles', acl2Role.sys_user_role, context);
|
|
192
|
-
return true;
|
|
193
|
-
}
|
|
194
|
-
if (document.action === 'DELETE') {
|
|
195
|
-
(0, sdk_build_core_1.removeNode)(document.node);
|
|
196
|
-
return true;
|
|
197
|
-
}
|
|
198
|
-
if (documentType !== 'sys_security_acl' || !document.changedData) {
|
|
199
|
-
return false;
|
|
200
|
-
}
|
|
201
|
-
const modifiedAclData = document.changedData.data;
|
|
202
|
-
const unmodifiedAclData = document.data.data;
|
|
203
|
-
const type = reverseLookup(app_1.AclTypes, unmodifiedAclData.type);
|
|
204
|
-
const aclData = {
|
|
205
|
-
...(0, scriptUtils_1.except)(modifiedAclData, (key) => key.startsWith('sys_') ||
|
|
206
|
-
key === 'advanced' ||
|
|
207
|
-
key === 'name' ||
|
|
208
|
-
key === 'operation' ||
|
|
209
|
-
key === 'script'),
|
|
210
|
-
...getTableOrName(type, unmodifiedAclData.name),
|
|
211
|
-
security_attribute: reverseLookup(app_1.AclAttributes, unmodifiedAclData.security_attribute) ||
|
|
212
|
-
unmodifiedAclData.security_attribute,
|
|
213
|
-
operation: reverseLookup(app_1.AclOperations, unmodifiedAclData.operation) || unmodifiedAclData.operation,
|
|
214
|
-
type,
|
|
215
|
-
};
|
|
216
|
-
const { script } = modifiedAclData;
|
|
217
|
-
if (script !== undefined) {
|
|
218
|
-
(0, ScriptTemplatePlugin_1.processScript)(args, 'script', script);
|
|
219
|
-
}
|
|
220
|
-
(0, sdk_build_core_1.transformFunctionArguments)(document.node, app_1.Acl, aclData);
|
|
221
|
-
context.argTypesToFix.push(document.node);
|
|
222
|
-
return true;
|
|
223
|
-
},
|
|
224
|
-
},
|
|
225
|
-
},
|
|
226
|
-
});
|
|
227
|
-
// security_attribute.is_localizsed ? 'Local' : 'Existing'
|
|
228
|
-
function performDiagnosticChecksOnSecurityAttribute(callExpression, aclData, roles) {
|
|
229
|
-
const diagnostics = [];
|
|
230
|
-
if (roles.length < 1) {
|
|
231
|
-
const attributeRecord = aclData.security_attribute;
|
|
232
|
-
if (!aclData.security_attribute && !aclData.script && !aclData.condition) {
|
|
233
|
-
diagnostics.push(new sdk_build_core_1.FluentDiagnostic(callExpression, 'ACLs must have at least one of the following: roles, security_attribute, condition, or script', { level: sdk_project_2.Diagnostic.Level.Warn }));
|
|
234
|
-
}
|
|
235
|
-
else if (attributeRecord && attributeRecord.data) {
|
|
236
|
-
if (aclData.local_or_existing === 'Existing' &&
|
|
237
|
-
(attributeRecord.data.type !== 'compound' || attributeRecord.data.is_localized)) {
|
|
238
|
-
diagnostics.push(new sdk_build_core_1.FluentDiagnostic((0, sdk_build_core_1.findObjectPropertyValue)(callExpression, 'security_attribute'), `Invalid ACL with 'Existing' sys_security_attribute: Must have a security_attribute with a type of 'compound' and is_localized set to false.`));
|
|
239
|
-
}
|
|
240
|
-
else if ((!aclData.local_or_existing || aclData.local_or_existing === 'Local') &&
|
|
241
|
-
!attributeRecord.data.is_localized) {
|
|
242
|
-
diagnostics.push(new sdk_build_core_1.FluentDiagnostic((0, sdk_build_core_1.findObjectPropertyValue)(callExpression, 'security_attribute'), `Invalid ACL with 'Local' security_attribute: security_attribute must have is_localized set to true`));
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
return diagnostics;
|
|
247
|
-
}
|
|
248
|
-
function getTableOrName(type, name) {
|
|
249
|
-
if (app_2.AclNamedTypes[type]) {
|
|
250
|
-
return { name };
|
|
251
|
-
}
|
|
252
|
-
const tablePathParts = name.split('.');
|
|
253
|
-
const table = tablePathParts[0] || '';
|
|
254
|
-
const field = tablePathParts[1] || '';
|
|
255
|
-
return { table, field };
|
|
256
|
-
}
|
|
257
|
-
function reverseLookup(obj, sysId) {
|
|
258
|
-
return (Object.entries(obj)
|
|
259
|
-
.filter(([_, id]) => id === sysId)
|
|
260
|
-
.map(([key]) => key)[0] || '');
|
|
261
|
-
}
|
|
262
|
-
//# sourceMappingURL=AclPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AclPlugin.js","sourceRoot":"","sources":["../../src/aclAndRole/AclPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { RoleConfig } from '@servicenow/sdk-core/runtime/app';
|
|
2
|
-
import { Context, LinkedDocument, ArrayData } from '@servicenow/sdk-build-core';
|
|
3
|
-
import { Diagnostic, ts } from '@servicenow/sdk-project';
|
|
4
|
-
export declare function getRolesString(roles: ArrayData<unknown[]>): string;
|
|
5
|
-
declare const _default: {
|
|
6
|
-
readonly name: "Role";
|
|
7
|
-
readonly ownedTables: {
|
|
8
|
-
readonly sys_user_role: {
|
|
9
|
-
readonly diagnosticLevel: Diagnostic.Level.Error;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
readonly extractors: {
|
|
13
|
-
readonly entity: {
|
|
14
|
-
readonly fluent: {
|
|
15
|
-
readonly CallExpression: (node: ts.CallExpression<ts.ts.CallExpression>, context: Context) => import("@servicenow/sdk-build-core").ExtractionResult<import("@servicenow/sdk-build-core").EntityData<RoleConfig>>;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
readonly composers: {
|
|
20
|
-
readonly entity: {
|
|
21
|
-
readonly role: (entity: import("@servicenow/sdk-build-core").EntityData<Record<string, unknown>>, context: Context) => Promise<undefined> | Promise<(LinkedDocument | {
|
|
22
|
-
kind: string;
|
|
23
|
-
guid: string;
|
|
24
|
-
node: ts.CallExpression<ts.ts.CallExpression> | ts.StringLiteral | ts.SourceFile | ts.TypeAliasDeclaration | ts.TypeReferenceNode | ts.TypeLiteralNode | ts.PropertySignature | ts.TupleTypeNode | ts.FunctionExpression | ts.FunctionDeclaration | ts.ArrayLiteralExpression | ts.NumericLiteral | ts.TrueLiteral | ts.FalseLiteral | ts.Identifier | ts.VariableDeclaration | ts.ClassDeclaration | ts.ExportDeclaration | ts.ObjectLiteralExpression | ts.AsExpression | ts.ComputedPropertyName | ts.PropertyAssignment | ts.ShorthandPropertyAssignment | ts.PropertyAccessExpression<ts.ts.PropertyAccessExpression> | ts.NoSubstitutionTemplateLiteral | ts.ExpressionStatement | ts.TaggedTemplateExpression | ts.ExportAssignment | ts.ElementAccessExpression<ts.ts.ElementAccessExpression> | ts.TemplateExpression | ts.ImportClause | ts.ImportSpecifier | ts.ImportDeclaration | ts.NamedImports | ts.VariableStatement | ts.VariableDeclarationList | ts.Node<ts.ts.PlusToken> | ts.Node<ts.ts.EndOfFileToken> | ts.Node<ts.ts.ExportKeyword> | ts.Node<ts.ts.KeywordTypeNode<ts.ts.SyntaxKind.AnyKeyword>> | ts.ModuleDeclaration | ts.ModuleBlock | ts.Block | ts.ParameterDeclaration | ts.Node<ts.ts.EqualsGreaterThanToken> | ts.ArrowFunction | ts.TemplateHead | ts.TemplateMiddle | ts.TemplateSpan | ts.TemplateTail | ts.PrefixUnaryExpression;
|
|
25
|
-
data: {
|
|
26
|
-
$id: string;
|
|
27
|
-
table: string;
|
|
28
|
-
data: {
|
|
29
|
-
description: string;
|
|
30
|
-
assignable_by: string;
|
|
31
|
-
can_delegate: boolean;
|
|
32
|
-
elevated_privilege: boolean;
|
|
33
|
-
grantable: boolean;
|
|
34
|
-
scoped_admin: boolean;
|
|
35
|
-
name: string;
|
|
36
|
-
suffix: string;
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
})[]>;
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
readonly arrangers: {
|
|
43
|
-
readonly record: (document: import("@servicenow/sdk-build-core").Document<string>) => {
|
|
44
|
-
handled: false;
|
|
45
|
-
result?: never;
|
|
46
|
-
} | {
|
|
47
|
-
handled: true;
|
|
48
|
-
result: {
|
|
49
|
-
kind: string;
|
|
50
|
-
guid: any;
|
|
51
|
-
} | undefined;
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
readonly generators: {
|
|
55
|
-
readonly record: (document: any, context: Context, linkedDocuments: any) => any;
|
|
56
|
-
};
|
|
57
|
-
readonly transformers: {
|
|
58
|
-
readonly record: {
|
|
59
|
-
readonly CallExpression: (document: import("@servicenow/sdk-build-core").Document<any, ts.CallExpression<ts.ts.CallExpression>> & {
|
|
60
|
-
entity?: import("@servicenow/sdk-build-core").EntityData;
|
|
61
|
-
node: ts.CallExpression<ts.ts.CallExpression>;
|
|
62
|
-
} & import("@servicenow/sdk-build-core").Arranged, context: Context) => boolean;
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
export default _default;
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getRolesString = getRolesString;
|
|
4
|
-
const app_1 = require("@servicenow/sdk-core/runtime/app");
|
|
5
|
-
const sdk_build_core_1 = require("@servicenow/sdk-build-core");
|
|
6
|
-
const sdk_build_core_2 = require("@servicenow/sdk-build-core");
|
|
7
|
-
const Util_1 = require("./Util");
|
|
8
|
-
const scriptUtils_1 = require("../scripts/scriptUtils");
|
|
9
|
-
const sdk_project_1 = require("@servicenow/sdk-project");
|
|
10
|
-
function getRolesString(roles) {
|
|
11
|
-
const uniqueRoles = [
|
|
12
|
-
...new Set(roles.getElements().map((role) => {
|
|
13
|
-
return sdk_build_core_1.Data.isEntity(role) ? role.getPropertyOrThrow('name', 'string').getValue() : role.getValue();
|
|
14
|
-
})),
|
|
15
|
-
];
|
|
16
|
-
return uniqueRoles.join(',');
|
|
17
|
-
}
|
|
18
|
-
function mapRoleToRole(context, roleId, containedRoleId, node) {
|
|
19
|
-
const mappingId = context.keys.registerCompositeId('sys_user_role_contains', {
|
|
20
|
-
role: roleId,
|
|
21
|
-
contains: containedRoleId,
|
|
22
|
-
});
|
|
23
|
-
return {
|
|
24
|
-
kind: 'record',
|
|
25
|
-
guid: mappingId,
|
|
26
|
-
node,
|
|
27
|
-
data: {
|
|
28
|
-
$id: mappingId,
|
|
29
|
-
table: 'sys_user_role_contains',
|
|
30
|
-
data: {
|
|
31
|
-
contains: containedRoleId,
|
|
32
|
-
role: roleId,
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
exports.default = (0, sdk_build_core_1.Plugin)({
|
|
38
|
-
name: 'Role',
|
|
39
|
-
ownedTables: {
|
|
40
|
-
sys_user_role: { diagnosticLevel: sdk_project_1.Diagnostic.Level.Error },
|
|
41
|
-
},
|
|
42
|
-
extractors: {
|
|
43
|
-
entity: {
|
|
44
|
-
fluent: {
|
|
45
|
-
CallExpression: (node, context) => {
|
|
46
|
-
const result = (0, sdk_build_core_1.extractCallExpression)(app_1.Role, 'role', node, context, ({ $id }) => context.registerExplicitId('sys_user_role', $id));
|
|
47
|
-
if (!result.handled || !result.data) {
|
|
48
|
-
return result;
|
|
49
|
-
}
|
|
50
|
-
const role = result.data;
|
|
51
|
-
const diagnostics = result.diagnostics;
|
|
52
|
-
const scope = context.app?.config?.scope;
|
|
53
|
-
const name = role.getProperty('name').getValue();
|
|
54
|
-
if (!(0, sdk_build_core_1.isSNScope)(scope) && !name.startsWith(`${scope}.`)) {
|
|
55
|
-
const nameValue = (0, sdk_build_core_1.findObjectPropertyValue)(node, 'name');
|
|
56
|
-
diagnostics.push(new sdk_build_core_1.FluentDiagnostic(nameValue, `Role name must begin with '${scope}.'`));
|
|
57
|
-
}
|
|
58
|
-
return {
|
|
59
|
-
handled: true,
|
|
60
|
-
diagnostics,
|
|
61
|
-
data: role,
|
|
62
|
-
};
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
composers: {
|
|
68
|
-
entity: {
|
|
69
|
-
role(entity, context) {
|
|
70
|
-
const scope = context.app?.config?.scope;
|
|
71
|
-
const guid = entity.getGuid();
|
|
72
|
-
const role = app_1.roleSchema.safeParse(entity.getValue());
|
|
73
|
-
if (!role.success) {
|
|
74
|
-
return Promise.resolve(undefined);
|
|
75
|
-
}
|
|
76
|
-
const { $id: _, name, contains_roles, ...rest } = role.data;
|
|
77
|
-
const roleMappingDocuments = [];
|
|
78
|
-
const containsRoles = entity.getProperty('contains_roles');
|
|
79
|
-
if (sdk_build_core_1.Data.isArray(containsRoles)) {
|
|
80
|
-
for (const containedRole of containsRoles.getElements()) {
|
|
81
|
-
const containedRoleSysId = sdk_build_core_1.Data.isEntity(containedRole)
|
|
82
|
-
? containedRole.getGuid()
|
|
83
|
-
: sdk_build_core_1.Data.isString(containedRole)
|
|
84
|
-
? containedRole.getValue()
|
|
85
|
-
: undefined;
|
|
86
|
-
if (!containedRoleSysId) {
|
|
87
|
-
throw new Error(`Invalid contained role value: ${containedRole.getValue()}`);
|
|
88
|
-
}
|
|
89
|
-
roleMappingDocuments.push(mapRoleToRole(context, guid, containedRoleSysId, containedRole.getNode()));
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
const suffix = name.replace(new RegExp(`^${scope}\\.`), '');
|
|
93
|
-
const roleDocument = {
|
|
94
|
-
kind: 'record',
|
|
95
|
-
guid,
|
|
96
|
-
node: entity.getNode(),
|
|
97
|
-
data: {
|
|
98
|
-
$id: guid,
|
|
99
|
-
table: 'sys_user_role',
|
|
100
|
-
data: {
|
|
101
|
-
name,
|
|
102
|
-
suffix,
|
|
103
|
-
...rest,
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
};
|
|
107
|
-
return Promise.resolve([roleDocument, ...roleMappingDocuments]);
|
|
108
|
-
},
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
arrangers: {
|
|
112
|
-
record(document) {
|
|
113
|
-
if (document.data.table !== 'sys_user_role_contains') {
|
|
114
|
-
return { handled: false };
|
|
115
|
-
}
|
|
116
|
-
const roleId = document.data.data.role;
|
|
117
|
-
return {
|
|
118
|
-
handled: true,
|
|
119
|
-
result: roleId ? { kind: 'record', guid: roleId } : undefined,
|
|
120
|
-
};
|
|
121
|
-
},
|
|
122
|
-
},
|
|
123
|
-
generators: {
|
|
124
|
-
record(document, context, linkedDocuments) {
|
|
125
|
-
const documentType = document.data?.table;
|
|
126
|
-
if (documentType === 'sys_user_role_contains') {
|
|
127
|
-
const role = linkedDocuments.find((doc) => doc.data.table === 'sys_user_role' &&
|
|
128
|
-
doc.guid === document.data.data.role);
|
|
129
|
-
return role && role.node ? { ...document, node: role.node } : undefined;
|
|
130
|
-
}
|
|
131
|
-
if (documentType !== 'sys_user_role') {
|
|
132
|
-
return undefined;
|
|
133
|
-
}
|
|
134
|
-
return (0, sdk_build_core_1.linkDocument)(document, (0, sdk_build_core_2.generateCallExpressionExportForDocument)(context, {
|
|
135
|
-
sourceFile: (0, sdk_build_core_2.getOrCreateEntitySourceFile)(context, (0, sdk_build_core_2.getSysUpdateName)(document, 'sys_user_role')),
|
|
136
|
-
moduleSpecifier: '@servicenow/sdk/core',
|
|
137
|
-
}, app_1.Role, { $id: document.guid }).getExpressionIfKindOrThrow(sdk_project_1.ts.SyntaxKind.CallExpression));
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
transformers: {
|
|
141
|
-
record: {
|
|
142
|
-
CallExpression(document, context) {
|
|
143
|
-
const documentType = document.data?.table;
|
|
144
|
-
if (documentType === 'sys_user_role_contains') {
|
|
145
|
-
const [args] = document.node.getArguments();
|
|
146
|
-
if (!sdk_project_1.ts.Node.isObjectLiteralExpression(args) || !document.parent) {
|
|
147
|
-
return false;
|
|
148
|
-
}
|
|
149
|
-
if (document.action === 'DELETE') {
|
|
150
|
-
(0, Util_1.removeObjectFromArrayById)(document, 'contains_roles', context);
|
|
151
|
-
return true;
|
|
152
|
-
}
|
|
153
|
-
const m2mData = document.data.data;
|
|
154
|
-
(0, Util_1.addObjectToArrayById)(document, 'contains_roles', m2mData.contains, context);
|
|
155
|
-
return true;
|
|
156
|
-
}
|
|
157
|
-
if (documentType !== 'sys_user_role') {
|
|
158
|
-
return false;
|
|
159
|
-
}
|
|
160
|
-
if (document.action === 'DELETE') {
|
|
161
|
-
(0, sdk_build_core_2.removeNode)(document.node);
|
|
162
|
-
return true;
|
|
163
|
-
}
|
|
164
|
-
if (!document.changedData) {
|
|
165
|
-
return true;
|
|
166
|
-
}
|
|
167
|
-
const rawRoleData = document.changedData.data;
|
|
168
|
-
const roleData = (0, scriptUtils_1.except)(rawRoleData, (key) => key.startsWith('sys_') ||
|
|
169
|
-
key === 'requires_subscription' ||
|
|
170
|
-
key === 'suffix' ||
|
|
171
|
-
key === 'includes_roles');
|
|
172
|
-
(0, sdk_build_core_2.transformFunctionArguments)(document.node, app_1.Role, roleData);
|
|
173
|
-
context.argTypesToFix.push(document.node);
|
|
174
|
-
return true;
|
|
175
|
-
},
|
|
176
|
-
},
|
|
177
|
-
},
|
|
178
|
-
});
|
|
179
|
-
//# sourceMappingURL=RolePlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RolePlugin.js","sourceRoot":"","sources":["../../src/aclAndRole/RolePlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { Document, Context } from '@servicenow/sdk-build-core';
|
|
2
|
-
export declare function addObjectToArrayById(document: Document, name: string, roleId: string, context: Context): void;
|
|
3
|
-
export declare function removeObjectFromArrayById(document: Document, name: string, context: Context): void;
|
package/dist/aclAndRole/Util.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addObjectToArrayById = addObjectToArrayById;
|
|
4
|
-
exports.removeObjectFromArrayById = removeObjectFromArrayById;
|
|
5
|
-
const lodash_1 = require("lodash");
|
|
6
|
-
const sdk_project_1 = require("@servicenow/sdk-project");
|
|
7
|
-
const sdk_build_core_1 = require("@servicenow/sdk-build-core");
|
|
8
|
-
const getElementKey = (element, context) => {
|
|
9
|
-
const result = context.extractAst(element);
|
|
10
|
-
if (result.handled && result.data) {
|
|
11
|
-
const data = result.data;
|
|
12
|
-
if (sdk_build_core_1.Data.isString(data)) {
|
|
13
|
-
return data.getValue();
|
|
14
|
-
}
|
|
15
|
-
if (sdk_build_core_1.Data.isEntity(data) && data.getKind() === 'role') {
|
|
16
|
-
return data.getProperty('$id') ? `${data.getProperty('$id').getValue()}` : '';
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return '';
|
|
20
|
-
};
|
|
21
|
-
function addObjectToArrayById(document, name, roleId, context) {
|
|
22
|
-
const arg = document.node?.asKind(sdk_project_1.ts.SyntaxKind.CallExpression)?.getArguments()[0];
|
|
23
|
-
const table = document.data['table'];
|
|
24
|
-
const primaryKey = (0, sdk_build_core_1.getNodeId)(arg);
|
|
25
|
-
const propertyAssignment = (0, sdk_build_core_1.getOrCreatePropertyAssignment)(arg, name, '[]');
|
|
26
|
-
let handled = false;
|
|
27
|
-
const rolesIterator = new sdk_build_core_1.ArrayIterator(propertyAssignment);
|
|
28
|
-
const primaryKeyName = table === 'sys_security_acl_role' ? 'sys_security_acl' : 'role';
|
|
29
|
-
const secondaryKeyName = table === 'sys_security_acl_role' ? 'sys_user_role' : 'contains';
|
|
30
|
-
while (rolesIterator.hasNext()) {
|
|
31
|
-
const element = rolesIterator.next();
|
|
32
|
-
const secondaryKey = getElementKey(element, context);
|
|
33
|
-
const secondaryKeySysId = secondaryKey && (0, sdk_build_core_1.isGUID)(secondaryKey) ? secondaryKey : context.getIdUsingExplicitKey(secondaryKey) || '';
|
|
34
|
-
if (secondaryKeySysId === roleId) {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
const foundIdx = context.keys.composite.findIndex((k) => (0, lodash_1.isEqual)(k.key, {
|
|
38
|
-
[primaryKeyName]: primaryKey,
|
|
39
|
-
[secondaryKeyName]: secondaryKey,
|
|
40
|
-
}));
|
|
41
|
-
if (foundIdx !== -1 && context.keys.composite[foundIdx]?.id == document.guid) {
|
|
42
|
-
if (context.keys.explicit[secondaryKey]?.id === roleId || secondaryKey === roleId) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
element?.replaceWithText((0, sdk_build_core_1.stringify)(roleId));
|
|
46
|
-
context.keys.composite.splice(foundIdx, 1);
|
|
47
|
-
handled = true;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
if (!handled) {
|
|
51
|
-
const stringValue = (0, sdk_build_core_1.stringify)(roleId);
|
|
52
|
-
rolesIterator.getExpression().addElement(stringValue);
|
|
53
|
-
}
|
|
54
|
-
context.keys.registerCompositeId(table, {
|
|
55
|
-
[primaryKeyName]: primaryKey,
|
|
56
|
-
[secondaryKeyName]: roleId,
|
|
57
|
-
}, document.guid);
|
|
58
|
-
}
|
|
59
|
-
function removeObjectFromArrayById(document, name, context) {
|
|
60
|
-
const arg = document.node?.asKind(sdk_project_1.ts.SyntaxKind.CallExpression)?.getArguments()[0];
|
|
61
|
-
const table = document.data['table'];
|
|
62
|
-
const argId = (0, sdk_build_core_1.getNodeId)(arg);
|
|
63
|
-
const property = arg.getProperty(name);
|
|
64
|
-
if (!property) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
const propertyAssignment = property.asKind(sdk_project_1.tsc.SyntaxKind.PropertyAssignment);
|
|
68
|
-
if (!propertyAssignment) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const rolesIterator = new sdk_build_core_1.ArrayIterator(propertyAssignment);
|
|
72
|
-
while (rolesIterator.hasNext()) {
|
|
73
|
-
const element = rolesIterator.next();
|
|
74
|
-
const secKey = getElementKey(element, context);
|
|
75
|
-
const primaryKey = table === 'sys_security_acl_role' ? 'sys_security_acl' : 'role';
|
|
76
|
-
const secondKey = table === 'sys_security_acl_role' ? 'sys_user_role' : 'contains';
|
|
77
|
-
const foundIdx = context.keys.composite.findIndex((k) => (0, lodash_1.isEqual)(k.key, {
|
|
78
|
-
[primaryKey]: argId,
|
|
79
|
-
[secondKey]: secKey,
|
|
80
|
-
}));
|
|
81
|
-
if (foundIdx !== -1 && context.keys.composite[foundIdx]?.id === document.guid) {
|
|
82
|
-
rolesIterator.getExpression().removeElement(element);
|
|
83
|
-
}
|
|
84
|
-
if (!element.wasForgotten() && element.asKind(sdk_project_1.ts.SyntaxKind.Identifier) && !element.getSymbol()) {
|
|
85
|
-
//remove if the identifier doesn't have symbol, happens when the identifier declaration is removed prior to this
|
|
86
|
-
rolesIterator.getExpression().removeElement(element);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=Util.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Util.js","sourceRoot":"","sources":["../../src/aclAndRole/Util.ts"],"names":[],"mappings":"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"}
|