@rockcarver/frodo-lib 1.0.0 → 2.0.0-2
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/CHANGELOG.md +6 -6
- package/cjs/api/AgentApi.js +91 -37
- package/cjs/api/AgentApi.js.map +1 -1
- package/cjs/api/AgentApi.test.js.map +1 -1
- package/cjs/api/ApiTypes.js.map +1 -1
- package/cjs/api/AuthenticateApi.js +18 -11
- package/cjs/api/AuthenticateApi.js.map +1 -1
- package/cjs/api/AuthenticateApi.test.js.map +1 -1
- package/cjs/api/BaseApi.js +50 -26
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/CirclesOfTrustApi.js +47 -23
- package/cjs/api/CirclesOfTrustApi.js.map +1 -1
- package/cjs/api/IdmConfigApi.js +54 -21
- package/cjs/api/IdmConfigApi.js.map +1 -1
- package/cjs/api/IdmSystemApi.js +9 -6
- package/cjs/api/IdmSystemApi.js.map +1 -1
- package/cjs/api/ManagedObjectApi.js +49 -27
- package/cjs/api/ManagedObjectApi.js.map +1 -1
- package/cjs/api/NodeApi.js +71 -32
- package/cjs/api/NodeApi.js.map +1 -1
- package/cjs/api/NodeApi.test.js.map +1 -1
- package/cjs/api/OAuth2ClientApi.js +43 -20
- package/cjs/api/OAuth2ClientApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.js +74 -27
- package/cjs/api/OAuth2OIDCApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.test.js.map +1 -1
- package/cjs/api/OAuth2ProviderApi.js +10 -9
- package/cjs/api/OAuth2ProviderApi.js.map +1 -1
- package/cjs/api/PoliciesApi.js +54 -22
- package/cjs/api/PoliciesApi.js.map +1 -1
- package/cjs/api/PoliciesApi.test.js.map +1 -1
- package/cjs/api/PolicySetApi.js +54 -23
- package/cjs/api/PolicySetApi.js.map +1 -1
- package/cjs/api/PolicySetApi.test.js.map +1 -1
- package/cjs/api/RealmApi.js +73 -29
- package/cjs/api/RealmApi.js.map +1 -1
- package/cjs/api/ResourceTypesApi.js +67 -28
- package/cjs/api/ResourceTypesApi.js.map +1 -1
- package/cjs/api/ResourceTypesApi.test.js.map +1 -1
- package/cjs/api/Saml2Api.js +90 -122
- package/cjs/api/Saml2Api.js.map +1 -1
- package/cjs/api/ScriptApi.js +54 -23
- package/cjs/api/ScriptApi.js.map +1 -1
- package/cjs/api/ServerInfoApi.js +23 -10
- package/cjs/api/ServerInfoApi.js.map +1 -1
- package/cjs/api/ServiceApi.js +91 -42
- package/cjs/api/ServiceApi.js.map +1 -1
- package/cjs/api/SocialIdentityProvidersApi.js +70 -31
- package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
- package/cjs/api/TreeApi.js +43 -20
- package/cjs/api/TreeApi.js.map +1 -1
- package/cjs/api/TreeApi.test.js.map +1 -1
- package/cjs/api/cloud/EnvInfoApi.js +10 -6
- package/cjs/api/cloud/EnvInfoApi.js.map +1 -1
- package/cjs/api/cloud/FeatureApi.js +9 -6
- package/cjs/api/cloud/FeatureApi.js.map +1 -1
- package/cjs/api/cloud/LogApi.js +48 -18
- package/cjs/api/cloud/LogApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.js +109 -35
- package/cjs/api/cloud/SecretsApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.test.js.map +1 -1
- package/cjs/api/cloud/StartupApi.js +21 -10
- package/cjs/api/cloud/StartupApi.js.map +1 -1
- package/cjs/api/cloud/StartupApi.test.js.map +1 -1
- package/cjs/api/cloud/VariablesApi.js +52 -20
- package/cjs/api/cloud/VariablesApi.js.map +1 -1
- package/cjs/api/cloud/VariablesApi.test.js.map +1 -1
- package/cjs/api/utils/ApiUtils.js +2 -5
- package/cjs/api/utils/ApiUtils.js.map +1 -1
- package/cjs/api/utils/ApiUtils.test.js.map +1 -1
- package/cjs/index.js +13 -112
- package/cjs/index.js.map +1 -1
- package/cjs/lib/FrodoLib.js +142 -0
- package/cjs/lib/FrodoLib.js.map +1 -0
- package/cjs/ops/AdminOps.js +578 -90
- package/cjs/ops/AdminOps.js.map +1 -1
- package/cjs/ops/AgentOps.js +964 -118
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/AgentOps.test.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +182 -87
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.test.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +360 -291
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +221 -139
- package/cjs/ops/ConnectionProfileOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.js +84 -10
- package/cjs/ops/EmailTemplateOps.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
- package/cjs/ops/IdmOps.js +97 -81
- package/cjs/ops/IdmOps.js.map +1 -1
- package/cjs/ops/IdmOps.test.js.map +1 -1
- package/cjs/ops/IdpOps.js +275 -42
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/IdpOps.test.js.map +1 -1
- package/cjs/ops/InfoOps.js +42 -27
- package/cjs/ops/InfoOps.js.map +1 -1
- package/cjs/ops/JoseOps.test.js.map +1 -1
- package/cjs/ops/JourneyOps.js +721 -126
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/JourneyOps.test.js.map +1 -1
- package/cjs/ops/ManagedObjectOps.js +79 -12
- package/cjs/ops/ManagedObjectOps.js.map +1 -1
- package/cjs/ops/NodeOps.js +127 -100
- package/cjs/ops/NodeOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +323 -65
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.test.js.map +1 -1
- package/cjs/ops/OAuth2OidcOps.js +84 -0
- package/cjs/ops/OAuth2OidcOps.js.map +1 -0
- package/cjs/ops/OAuth2ProviderOps.js +20 -13
- package/cjs/ops/OAuth2ProviderOps.js.map +1 -1
- package/cjs/ops/OpsTypes.js.map +1 -1
- package/cjs/ops/OrganizationOps.js +67 -12
- package/cjs/ops/OrganizationOps.js.map +1 -1
- package/cjs/ops/PolicyOps.js +476 -136
- package/cjs/ops/PolicyOps.js.map +1 -1
- package/cjs/ops/PolicyOps.test.js.map +1 -1
- package/cjs/ops/PolicySetOps.js +402 -132
- package/cjs/ops/PolicySetOps.js.map +1 -1
- package/cjs/ops/PolicySetOps.test.js.map +1 -1
- package/cjs/ops/RealmOps.js +119 -84
- package/cjs/ops/RealmOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.js +364 -95
- package/cjs/ops/ResourceTypeOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.test.js.map +1 -1
- package/cjs/ops/Saml2Ops.js +407 -145
- package/cjs/ops/Saml2Ops.js.map +1 -1
- package/cjs/ops/Saml2Ops.test.js.map +1 -1
- package/cjs/ops/ScriptOps.js +256 -79
- package/cjs/ops/ScriptOps.js.map +1 -1
- package/cjs/ops/ScriptOps.test.js.map +1 -1
- package/cjs/ops/ServiceOps.js +331 -55
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js +363 -54
- package/cjs/ops/ThemeOps.js.map +1 -1
- package/cjs/ops/ThemeOps.test.js.map +1 -1
- package/cjs/ops/cloud/FeatureOps.js +57 -12
- package/cjs/ops/cloud/FeatureOps.js.map +1 -1
- package/cjs/ops/cloud/LogOps.js +126 -6
- package/cjs/ops/cloud/LogOps.js.map +1 -1
- package/cjs/ops/cloud/SecretsOps.js +230 -289
- package/cjs/ops/cloud/SecretsOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.js +101 -18
- package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.test.js.map +1 -1
- package/cjs/ops/cloud/StartupOps.js +64 -9
- package/cjs/ops/cloud/StartupOps.js.map +1 -1
- package/cjs/ops/cloud/VariablesOps.js +100 -175
- package/cjs/ops/cloud/VariablesOps.js.map +1 -1
- package/cjs/ops/utils/Console.js +9 -10
- package/cjs/ops/utils/Console.js.map +1 -1
- package/cjs/ops/utils/DataProtection.js +2 -2
- package/cjs/ops/utils/DataProtection.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +144 -13
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.test.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.js +7 -5
- package/cjs/ops/utils/OpsUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
- package/cjs/ops/utils/{ValidationUtils.js → ScriptValidationUtils.js} +1 -1
- package/cjs/ops/utils/ScriptValidationUtils.js.map +1 -0
- package/cjs/ops/utils/ScriptValidationUtils.test.js.map +1 -0
- package/cjs/ops/utils/Version.js +36 -6
- package/cjs/ops/utils/Version.js.map +1 -1
- package/cjs/ops/utils/Version.test.js.map +1 -1
- package/cjs/shared/State.js +453 -210
- package/cjs/shared/State.js.map +1 -1
- package/cjs/shared/State.test.js.map +1 -1
- package/cjs/utils/AutoSetupPolly.js +4 -1
- package/cjs/utils/AutoSetupPolly.js.map +1 -1
- package/esm/api/AgentApi.mjs +75 -27
- package/esm/api/AgentApi.test.mjs +319 -71
- package/esm/api/AuthenticateApi.mjs +15 -4
- package/esm/api/AuthenticateApi.test.mjs +27 -8
- package/esm/api/BaseApi.mjs +43 -19
- package/esm/api/CirclesOfTrustApi.mjs +39 -17
- package/esm/api/IdmConfigApi.mjs +44 -13
- package/esm/api/IdmSystemApi.mjs +7 -3
- package/esm/api/ManagedObjectApi.mjs +44 -20
- package/esm/api/NodeApi.mjs +59 -24
- package/esm/api/NodeApi.test.mjs +158 -40
- package/esm/api/OAuth2ClientApi.mjs +36 -15
- package/esm/api/OAuth2OIDCApi.mjs +69 -20
- package/esm/api/OAuth2OIDCApi.test.mjs +21 -3
- package/esm/api/OAuth2ProviderApi.mjs +8 -6
- package/esm/api/PoliciesApi.mjs +45 -16
- package/esm/api/PoliciesApi.test.mjs +63 -15
- package/esm/api/PolicySetApi.mjs +44 -16
- package/esm/api/PolicySetApi.test.mjs +48 -12
- package/esm/api/RealmApi.mjs +65 -24
- package/esm/api/ResourceTypesApi.mjs +56 -21
- package/esm/api/ResourceTypesApi.test.mjs +58 -14
- package/esm/api/Saml2Api.mjs +75 -89
- package/esm/api/ScriptApi.mjs +45 -17
- package/esm/api/ServerInfoApi.mjs +19 -6
- package/esm/api/ServiceApi.mjs +77 -26
- package/esm/api/SocialIdentityProvidersApi.mjs +58 -23
- package/esm/api/TreeApi.mjs +36 -15
- package/esm/api/TreeApi.test.mjs +129 -34
- package/esm/api/cloud/EnvInfoApi.mjs +8 -3
- package/esm/api/cloud/FeatureApi.mjs +7 -3
- package/esm/api/cloud/LogApi.mjs +38 -11
- package/esm/api/cloud/SecretsApi.mjs +89 -21
- package/esm/api/cloud/SecretsApi.test.mjs +193 -50
- package/esm/api/cloud/StartupApi.mjs +17 -6
- package/esm/api/cloud/StartupApi.test.mjs +28 -11
- package/esm/api/cloud/VariablesApi.mjs +43 -14
- package/esm/api/cloud/VariablesApi.test.mjs +124 -33
- package/esm/api/utils/ApiUtils.mjs +2 -4
- package/esm/api/utils/ApiUtils.test.mjs +14 -6
- package/esm/index.mjs +1 -60
- package/esm/lib/FrodoLib.mjs +128 -0
- package/esm/ops/AdminOps.mjs +500 -71
- package/esm/ops/AgentOps.mjs +781 -81
- package/esm/ops/AgentOps.test.mjs +296 -113
- package/esm/ops/AuthenticateOps.mjs +156 -64
- package/esm/ops/AuthenticateOps.test.mjs +7 -4
- package/esm/ops/CirclesOfTrustOps.mjs +294 -229
- package/esm/ops/ConnectionProfileOps.mjs +190 -123
- package/esm/ops/ConnectionProfileOps.test.mjs +25 -5
- package/esm/ops/EmailTemplateOps.mjs +66 -6
- package/esm/ops/EmailTemplateOps.test.mjs +32 -11
- package/esm/ops/IdmOps.mjs +60 -47
- package/esm/ops/IdmOps.test.mjs +54 -18
- package/esm/ops/IdpOps.mjs +227 -31
- package/esm/ops/IdpOps.test.mjs +57 -20
- package/esm/ops/InfoOps.mjs +36 -23
- package/esm/ops/JoseOps.test.mjs +8 -0
- package/esm/ops/JourneyOps.mjs +634 -96
- package/esm/ops/JourneyOps.test.mjs +73 -31
- package/esm/ops/ManagedObjectOps.mjs +66 -10
- package/esm/ops/NodeOps.mjs +108 -85
- package/esm/ops/OAuth2ClientOps.mjs +258 -42
- package/esm/ops/OAuth2ClientOps.test.mjs +80 -29
- package/esm/ops/OAuth2OidcOps.mjs +40 -0
- package/esm/ops/OAuth2ProviderOps.mjs +11 -8
- package/esm/ops/OrganizationOps.mjs +56 -8
- package/esm/ops/PolicyOps.mjs +379 -93
- package/esm/ops/PolicyOps.test.mjs +180 -65
- package/esm/ops/PolicySetOps.mjs +311 -88
- package/esm/ops/PolicySetOps.test.mjs +108 -39
- package/esm/ops/RealmOps.mjs +85 -65
- package/esm/ops/ResourceTypeOps.mjs +278 -61
- package/esm/ops/ResourceTypeOps.test.mjs +113 -27
- package/esm/ops/Saml2Ops.mjs +346 -106
- package/esm/ops/Saml2Ops.test.mjs +117 -81
- package/esm/ops/ScriptOps.mjs +202 -56
- package/esm/ops/ScriptOps.test.mjs +64 -23
- package/esm/ops/ServiceOps.mjs +261 -27
- package/esm/ops/ThemeOps.mjs +300 -33
- package/esm/ops/ThemeOps.test.mjs +197 -47
- package/esm/ops/cloud/FeatureOps.mjs +45 -10
- package/esm/ops/cloud/LogOps.mjs +107 -4
- package/esm/ops/cloud/SecretsOps.mjs +123 -204
- package/esm/ops/cloud/ServiceAccountOps.mjs +85 -15
- package/esm/ops/cloud/ServiceAccountOps.test.mjs +16 -6
- package/esm/ops/cloud/StartupOps.mjs +49 -6
- package/esm/ops/cloud/VariablesOps.mjs +58 -120
- package/esm/ops/utils/Console.mjs +2 -1
- package/esm/ops/utils/DataProtection.mjs +2 -3
- package/esm/ops/utils/ExportImportUtils.mjs +129 -8
- package/esm/ops/utils/ExportImportUtils.test.mjs +15 -2
- package/esm/ops/utils/OpsUtils.mjs +4 -3
- package/esm/ops/utils/OpsUtils.test.mjs +21 -5
- package/esm/ops/utils/{ValidationUtils.mjs → ScriptValidationUtils.mjs} +1 -1
- package/esm/ops/utils/{ValidationUtils.test.mjs → ScriptValidationUtils.test.mjs} +2 -2
- package/esm/ops/utils/Version.mjs +29 -6
- package/esm/ops/utils/Version.test.mjs +4 -1
- package/esm/shared/State.mjs +457 -145
- package/esm/shared/State.test.mjs +8 -0
- package/esm/utils/AutoSetupPolly.mjs +4 -1
- package/package.json +1 -1
- package/types/api/AgentApi.d.ts +37 -8
- package/types/api/AgentApi.d.ts.map +1 -1
- package/types/api/ApiTypes.d.ts +20 -8
- package/types/api/ApiTypes.d.ts.map +1 -1
- package/types/api/AuthenticateApi.d.ts +13 -3
- package/types/api/AuthenticateApi.d.ts.map +1 -1
- package/types/api/BaseApi.d.ts +36 -7
- package/types/api/BaseApi.d.ts.map +1 -1
- package/types/api/CirclesOfTrustApi.d.ts +21 -7
- package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
- package/types/api/IdmConfigApi.d.ts +28 -13
- package/types/api/IdmConfigApi.d.ts.map +1 -1
- package/types/api/IdmSystemApi.d.ts +4 -1
- package/types/api/IdmSystemApi.d.ts.map +1 -1
- package/types/api/ManagedObjectApi.d.ts +25 -10
- package/types/api/ManagedObjectApi.d.ts.map +1 -1
- package/types/api/NodeApi.d.ts +31 -9
- package/types/api/NodeApi.d.ts.map +1 -1
- package/types/api/OAuth2ClientApi.d.ts +18 -5
- package/types/api/OAuth2ClientApi.d.ts.map +1 -1
- package/types/api/OAuth2OIDCApi.d.ts +45 -11
- package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
- package/types/api/OAuth2ProviderApi.d.ts +4 -1
- package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
- package/types/api/PoliciesApi.d.ts +21 -5
- package/types/api/PoliciesApi.d.ts.map +1 -1
- package/types/api/PolicySetApi.d.ts +20 -5
- package/types/api/PolicySetApi.d.ts.map +1 -1
- package/types/api/RealmApi.d.ts +26 -10
- package/types/api/RealmApi.d.ts.map +1 -1
- package/types/api/ResourceTypesApi.d.ts +27 -8
- package/types/api/ResourceTypesApi.d.ts.map +1 -1
- package/types/api/Saml2Api.d.ts +39 -32
- package/types/api/Saml2Api.d.ts.map +1 -1
- package/types/api/ScriptApi.d.ts +21 -5
- package/types/api/ScriptApi.d.ts.map +1 -1
- package/types/api/ServerInfoApi.d.ts +9 -2
- package/types/api/ServerInfoApi.d.ts.map +1 -1
- package/types/api/ServiceApi.d.ts +41 -7
- package/types/api/ServiceApi.d.ts.map +1 -1
- package/types/api/SocialIdentityProvidersApi.d.ts +30 -8
- package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
- package/types/api/TreeApi.d.ts +18 -4
- package/types/api/TreeApi.d.ts.map +1 -1
- package/types/api/cloud/EnvInfoApi.d.ts +4 -1
- package/types/api/cloud/EnvInfoApi.d.ts.map +1 -1
- package/types/api/cloud/FeatureApi.d.ts +4 -1
- package/types/api/cloud/FeatureApi.d.ts.map +1 -1
- package/types/api/cloud/LogApi.d.ts +24 -6
- package/types/api/cloud/LogApi.d.ts.map +1 -1
- package/types/api/cloud/SecretsApi.d.ts +50 -10
- package/types/api/cloud/SecretsApi.d.ts.map +1 -1
- package/types/api/cloud/StartupApi.d.ts +7 -2
- package/types/api/cloud/StartupApi.d.ts.map +1 -1
- package/types/api/cloud/VariablesApi.d.ts +23 -5
- package/types/api/cloud/VariablesApi.d.ts.map +1 -1
- package/types/api/utils/ApiUtils.d.ts +3 -2
- package/types/api/utils/ApiUtils.d.ts.map +1 -1
- package/types/index.d.ts +1 -48
- package/types/index.d.ts.map +1 -1
- package/types/lib/FrodoLib.d.ts +99 -0
- package/types/lib/FrodoLib.d.ts.map +1 -0
- package/types/ops/AdminOps.d.ts +71 -12
- package/types/ops/AdminOps.d.ts.map +1 -1
- package/types/ops/AgentOps.d.ts +350 -36
- package/types/ops/AgentOps.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts +27 -4
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/CirclesOfTrustOps.d.ts +88 -24
- package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
- package/types/ops/ConnectionProfileOps.d.ts +78 -18
- package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
- package/types/ops/EmailTemplateOps.d.ts +36 -3
- package/types/ops/EmailTemplateOps.d.ts.map +1 -1
- package/types/ops/IdmOps.d.ts +28 -40
- package/types/ops/IdmOps.d.ts.map +1 -1
- package/types/ops/IdpOps.d.ts +88 -10
- package/types/ops/IdpOps.d.ts.map +1 -1
- package/types/ops/InfoOps.d.ts +12 -1
- package/types/ops/InfoOps.d.ts.map +1 -1
- package/types/ops/JourneyOps.d.ts +237 -34
- package/types/ops/JourneyOps.d.ts.map +1 -1
- package/types/ops/ManagedObjectOps.d.ts +37 -8
- package/types/ops/ManagedObjectOps.d.ts.map +1 -1
- package/types/ops/NodeOps.d.ts +61 -6
- package/types/ops/NodeOps.d.ts.map +1 -1
- package/types/ops/OAuth2ClientOps.d.ts +104 -10
- package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
- package/types/ops/OAuth2OidcOps.d.ts +11 -0
- package/types/ops/OAuth2OidcOps.d.ts.map +1 -0
- package/types/ops/OAuth2ProviderOps.d.ts +8 -5
- package/types/ops/OAuth2ProviderOps.d.ts.map +1 -1
- package/types/ops/OpsTypes.d.ts +12 -1
- package/types/ops/OpsTypes.d.ts.map +1 -1
- package/types/ops/OrganizationOps.d.ts +24 -3
- package/types/ops/OrganizationOps.d.ts.map +1 -1
- package/types/ops/PolicyOps.d.ts +103 -28
- package/types/ops/PolicyOps.d.ts.map +1 -1
- package/types/ops/PolicySetOps.d.ts +76 -30
- package/types/ops/PolicySetOps.d.ts.map +1 -1
- package/types/ops/RealmOps.d.ts +34 -14
- package/types/ops/RealmOps.d.ts.map +1 -1
- package/types/ops/ResourceTypeOps.d.ts +116 -29
- package/types/ops/ResourceTypeOps.d.ts.map +1 -1
- package/types/ops/Saml2Ops.d.ts +124 -41
- package/types/ops/Saml2Ops.d.ts.map +1 -1
- package/types/ops/ScriptOps.d.ts +88 -23
- package/types/ops/ScriptOps.d.ts.map +1 -1
- package/types/ops/ServiceOps.d.ts +95 -8
- package/types/ops/ServiceOps.d.ts.map +1 -1
- package/types/ops/ThemeOps.d.ts +113 -9
- package/types/ops/ThemeOps.d.ts.map +1 -1
- package/types/ops/cloud/FeatureOps.d.ts +23 -2
- package/types/ops/cloud/FeatureOps.d.ts.map +1 -1
- package/types/ops/cloud/LogOps.d.ts +61 -3
- package/types/ops/cloud/LogOps.d.ts.map +1 -1
- package/types/ops/cloud/SecretsOps.d.ts +77 -63
- package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
- package/types/ops/cloud/ServiceAccountOps.d.ts +48 -3
- package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -1
- package/types/ops/cloud/StartupOps.d.ts +25 -2
- package/types/ops/cloud/StartupOps.d.ts.map +1 -1
- package/types/ops/cloud/VariablesOps.d.ts +39 -39
- package/types/ops/cloud/VariablesOps.d.ts.map +1 -1
- package/types/ops/utils/Console.d.ts.map +1 -1
- package/types/ops/utils/DataProtection.d.ts +1 -1
- package/types/ops/utils/DataProtection.d.ts.map +1 -1
- package/types/ops/utils/ExportImportUtils.d.ts +72 -11
- package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
- package/types/ops/utils/OpsUtils.d.ts +4 -1
- package/types/ops/utils/OpsUtils.d.ts.map +1 -1
- package/types/ops/utils/ScriptValidationUtils.d.ts.map +1 -0
- package/types/ops/utils/Version.d.ts +20 -2
- package/types/ops/utils/Version.d.ts.map +1 -1
- package/types/shared/State.d.ts +80 -177
- package/types/shared/State.d.ts.map +1 -1
- package/types/utils/AutoSetupPolly.d.ts.map +1 -1
- package/cjs/ops/utils/ValidationUtils.js.map +0 -1
- package/cjs/ops/utils/ValidationUtils.test.js.map +0 -1
- package/types/ops/utils/ValidationUtils.d.ts.map +0 -1
- /package/types/ops/utils/{ValidationUtils.d.ts → ScriptValidationUtils.d.ts} +0 -0
package/cjs/ops/NodeOps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeOps.js","names":["_lodash","_interopRequireDefault","require","state","_interopRequireWildcard","_NodeApi","_TreeApi","_Console","_Saml2Api","_Base","_OpsTypes","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","containerNodes","scriptedNodes","emailTemplateNodes","emptyScriptPlaceholder","getSaml2NodeDependencies","_x","_x2","_x3","_getSaml2NodeDependencies","nodeObject","allProviders","allCirclesOfTrust","samlProperties","saml2EntityPromises","samlProperty","entityId","_","last","split","entity","find","providerResponse","getProviderByLocationAndId","location","_id","entityLocation","metaDataResponse","getProviderMetadata","base64EntityXML","encodeBase64Url","push","printMessage","message","saml2EntitiesPromisesResults","all","saml2Entities","saml2Entity","samlEntityIds","map","saml2EntityConfig","concat","circlesOfTrust","filter","circleOfTrust","hasEntityId","trustedProvider","trustedProviders","includes","saml2NodeDependencies","findOrphanedNodes","_findOrphanedNodes","allNodes","orphanedNodes","types","allJourneys","getTrees","result","errorMessage","errorTypes","createProgressIndicator","getNodeTypes","response","data","type","nodes","getNodesByType","node","updateProgressIndicator","length","stopProgressIndicator","activeNodes","journey","nodeId","nodeType","containerNode","getNode","innerNode","diff","x","orphanedNode","removeOrphanedNodes","_x4","_removeOrphanedNodes","errorNodes","deleteNode","deleteError","OOTB_NODE_TYPES_7","OOTB_NODE_TYPES_7_1","OOTB_NODE_TYPES_7_2","OOTB_NODE_TYPES_7_3","OOTB_NODE_TYPES_6_5","OOTB_NODE_TYPES_6","CLOUD_ONLY_NODE_TYPES","PREMIUM_NODE_TYPES","isPremiumNode","isCloudOnlyNode","isCustomNode","ootbNodeTypes","getAmVersion","slice","getNodeClassification","classifications","premium","custom","cloud","NodeClassification","CUSTOM","CLOUD","STANDARD","PREMIUM"],"sources":["ops/NodeOps.ts"],"sourcesContent":["import _ from 'lodash';\nimport * as state from '../shared/State';\nimport {\n getNode,\n deleteNode,\n getNodeTypes,\n getNodesByType,\n} from '../api/NodeApi';\nimport { getTrees } from '../api/TreeApi';\nimport {\n printMessage,\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n} from './utils/Console';\nimport {\n getProviderByLocationAndId,\n getProviderMetadata,\n} from '../api/Saml2Api';\nimport { encodeBase64Url } from '../api/utils/Base64';\nimport { NodeClassification } from './OpsTypes';\n\nconst containerNodes = ['PageNode', 'CustomPageNode'];\n\nconst scriptedNodes = [\n 'ConfigProviderNode',\n 'ScriptedDecisionNode',\n 'ClientScriptNode',\n 'SocialProviderHandlerNode',\n 'CustomScriptNode',\n];\n\nconst emailTemplateNodes = ['EmailSuspendNode', 'EmailTemplateNode'];\n\nconst emptyScriptPlaceholder = '[Empty]';\n\n/**\n * Helper to get all SAML2 dependencies for a given node object\n * @param {Object} nodeObject node object\n * @param {[Object]} allProviders array of all saml2 providers objects\n * @param {[Object]} allCirclesOfTrust array of all circle of trust objects\n * @returns {Promise} a promise that resolves to an object containing a saml2 dependencies\n */\nasync function getSaml2NodeDependencies(\n nodeObject,\n allProviders,\n allCirclesOfTrust\n) {\n const samlProperties = ['metaAlias', 'idpEntityId'];\n const saml2EntityPromises = [];\n for (const samlProperty of samlProperties) {\n // In the following line nodeObject[samlProperty] will look like '/alpha/iSPAzure'.\n const entityId =\n samlProperty === 'metaAlias'\n ? _.last(nodeObject[samlProperty].split('/'))\n : nodeObject[samlProperty];\n const entity = _.find(allProviders, { entityId });\n if (entity) {\n try {\n const providerResponse = await getProviderByLocationAndId(\n entity.location,\n entity._id\n );\n /**\n * Adding entityLocation here to the entityResponse because the import tool\n * needs to know whether the saml2 entity is remote or not (this will be removed\n * from the config before importing see updateSaml2Entity and createSaml2Entity functions).\n * Importing a remote saml2 entity is a slightly different request (see createSaml2Entity).\n */\n providerResponse.entityLocation = entity.location;\n\n if (entity.location === 'remote') {\n // get the xml representation of this entity and add it to the entityResponse;\n const metaDataResponse = await getProviderMetadata(\n providerResponse.entityId\n );\n providerResponse.base64EntityXML = encodeBase64Url(metaDataResponse);\n }\n saml2EntityPromises.push(providerResponse);\n } catch (error) {\n printMessage(error.message, 'error');\n }\n }\n }\n try {\n const saml2EntitiesPromisesResults = await Promise.all(saml2EntityPromises);\n const saml2Entities = [];\n for (const saml2Entity of saml2EntitiesPromisesResults) {\n if (saml2Entity) {\n saml2Entities.push(saml2Entity);\n }\n }\n const samlEntityIds = _.map(\n saml2Entities,\n (saml2EntityConfig) => `${saml2EntityConfig.entityId}|saml2`\n );\n const circlesOfTrust = _.filter(allCirclesOfTrust, (circleOfTrust) => {\n let hasEntityId = false;\n for (const trustedProvider of circleOfTrust.trustedProviders) {\n if (!hasEntityId && samlEntityIds.includes(trustedProvider)) {\n hasEntityId = true;\n }\n }\n return hasEntityId;\n });\n const saml2NodeDependencies = {\n saml2Entities,\n circlesOfTrust,\n };\n return saml2NodeDependencies;\n } catch (error) {\n printMessage(error.message, 'error');\n const saml2NodeDependencies = {\n saml2Entities: [],\n circlesOfTrust: [],\n };\n return saml2NodeDependencies;\n }\n}\n\n/**\n * Find all node configuration objects that are no longer referenced by any tree\n * @returns {Promise<unknown[]>} a promise that resolves to an array of orphaned nodes\n */\nexport async function findOrphanedNodes(): Promise<unknown[]> {\n const allNodes = [];\n const orphanedNodes = [];\n let types = [];\n const allJourneys = (await getTrees()).result;\n let errorMessage = '';\n const errorTypes = [];\n\n createProgressIndicator(\n undefined,\n `Counting total nodes...`,\n 'indeterminate'\n );\n try {\n types = (await getNodeTypes()).result;\n } catch (error) {\n printMessage('Error retrieving all available node types:', 'error');\n printMessage(error.response.data, 'error');\n return [];\n }\n for (const type of types) {\n try {\n // eslint-disable-next-line no-await-in-loop, no-loop-func\n const nodes = (await getNodesByType(type._id)).result;\n for (const node of nodes) {\n allNodes.push(node);\n updateProgressIndicator(\n `${allNodes.length} total nodes${errorMessage}`\n );\n }\n } catch (error) {\n errorTypes.push(type._id);\n errorMessage = ` (Skipped type(s): ${errorTypes})`['yellow'];\n updateProgressIndicator(`${allNodes.length} total nodes${errorMessage}`);\n }\n }\n if (errorTypes.length > 0) {\n stopProgressIndicator(\n `${allNodes.length} total nodes${errorMessage}`,\n 'warn'\n );\n } else {\n stopProgressIndicator(`${allNodes.length} total nodes`, 'success');\n }\n\n createProgressIndicator(\n undefined,\n 'Counting active nodes...',\n 'indeterminate'\n );\n const activeNodes = [];\n for (const journey of allJourneys) {\n for (const nodeId in journey.nodes) {\n if ({}.hasOwnProperty.call(journey.nodes, nodeId)) {\n activeNodes.push(nodeId);\n updateProgressIndicator(`${activeNodes.length} active nodes`);\n const node = journey.nodes[nodeId];\n if (containerNodes.includes(node.nodeType)) {\n const containerNode = await getNode(nodeId, node.nodeType);\n for (const innerNode of containerNode.nodes) {\n activeNodes.push(innerNode._id);\n updateProgressIndicator(`${activeNodes.length} active nodes`);\n }\n }\n }\n }\n }\n stopProgressIndicator(`${activeNodes.length} active nodes`, 'success');\n\n createProgressIndicator(\n undefined,\n 'Calculating orphaned nodes...',\n 'indeterminate'\n );\n const diff = allNodes.filter((x) => !activeNodes.includes(x._id));\n for (const orphanedNode of diff) {\n orphanedNodes.push(orphanedNode);\n }\n stopProgressIndicator(`${orphanedNodes.length} orphaned nodes`, 'success');\n return orphanedNodes;\n}\n\n/**\n * Remove orphaned nodes\n * @param {[Object]} orphanedNodes Pass in an array of orphaned node configuration objects to remove\n * @returns {Promise<unknown[]>} a promise that resolves to an array nodes that encountered errors deleting\n */\nexport async function removeOrphanedNodes(\n orphanedNodes: unknown[]\n): Promise<unknown[]> {\n const errorNodes = [];\n createProgressIndicator(orphanedNodes.length, 'Removing orphaned nodes...');\n for (const node of orphanedNodes) {\n updateProgressIndicator(`Removing ${node['_id']}...`);\n try {\n // eslint-disable-next-line no-await-in-loop\n await deleteNode(node['_id'], node['_type']['_id']);\n } catch (deleteError) {\n errorNodes.push(node);\n printMessage(` ${deleteError}`, 'error');\n }\n }\n stopProgressIndicator(`Removed ${orphanedNodes.length} orphaned nodes.`);\n return errorNodes;\n}\n\nconst OOTB_NODE_TYPES_7 = [\n 'AcceptTermsAndConditionsNode',\n 'AccountActiveDecisionNode',\n 'AccountLockoutNode',\n 'AgentDataStoreDecisionNode',\n 'AnonymousSessionUpgradeNode',\n 'AnonymousUserNode',\n 'AttributeCollectorNode',\n 'AttributePresentDecisionNode',\n 'AttributeValueDecisionNode',\n 'AuthLevelDecisionNode',\n 'ChoiceCollectorNode',\n 'ConsentNode',\n 'CookiePresenceDecisionNode',\n 'CreateObjectNode',\n 'CreatePasswordNode',\n 'DataStoreDecisionNode',\n 'DeviceGeoFencingNode',\n 'DeviceLocationMatchNode',\n 'DeviceMatchNode',\n 'DeviceProfileCollectorNode',\n 'DeviceSaveNode',\n 'DeviceTamperingVerificationNode',\n 'DisplayUserNameNode',\n 'EmailSuspendNode',\n 'EmailTemplateNode',\n 'IdentifyExistingUserNode',\n 'IncrementLoginCountNode',\n 'InnerTreeEvaluatorNode',\n 'IotAuthenticationNode',\n 'IotRegistrationNode',\n 'KbaCreateNode',\n 'KbaDecisionNode',\n 'KbaVerifyNode',\n 'LdapDecisionNode',\n 'LoginCountDecisionNode',\n 'MessageNode',\n 'MetadataNode',\n 'MeterNode',\n 'ModifyAuthLevelNode',\n 'OneTimePasswordCollectorDecisionNode',\n 'OneTimePasswordGeneratorNode',\n 'OneTimePasswordSmsSenderNode',\n 'OneTimePasswordSmtpSenderNode',\n 'PageNode',\n 'PasswordCollectorNode',\n 'PatchObjectNode',\n 'PersistentCookieDecisionNode',\n 'PollingWaitNode',\n 'ProfileCompletenessDecisionNode',\n 'ProvisionDynamicAccountNode',\n 'ProvisionIdmAccountNode',\n 'PushAuthenticationSenderNode',\n 'PushResultVerifierNode',\n 'QueryFilterDecisionNode',\n 'RecoveryCodeCollectorDecisionNode',\n 'RecoveryCodeDisplayNode',\n 'RegisterLogoutWebhookNode',\n 'RemoveSessionPropertiesNode',\n 'RequiredAttributesDecisionNode',\n 'RetryLimitDecisionNode',\n 'ScriptedDecisionNode',\n 'SelectIdPNode',\n 'SessionDataNode',\n 'SetFailureUrlNode',\n 'SetPersistentCookieNode',\n 'SetSessionPropertiesNode',\n 'SetSuccessUrlNode',\n 'SocialFacebookNode',\n 'SocialGoogleNode',\n 'SocialNode',\n 'SocialOAuthIgnoreProfileNode',\n 'SocialOpenIdConnectNode',\n 'SocialProviderHandlerNode',\n 'TermsAndConditionsDecisionNode',\n 'TimeSinceDecisionNode',\n 'TimerStartNode',\n 'TimerStopNode',\n 'UsernameCollectorNode',\n 'ValidatedPasswordNode',\n 'ValidatedUsernameNode',\n 'WebAuthnAuthenticationNode',\n 'WebAuthnDeviceStorageNode',\n 'WebAuthnRegistrationNode',\n 'ZeroPageLoginNode',\n 'product-CertificateCollectorNode',\n 'product-CertificateUserExtractorNode',\n 'product-CertificateValidationNode',\n 'product-KerberosNode',\n 'product-ReCaptchaNode',\n 'product-Saml2Node',\n 'product-WriteFederationInformationNode',\n];\n\nconst OOTB_NODE_TYPES_7_1 = [\n 'PushRegistrationNode',\n 'GetAuthenticatorAppNode',\n 'MultiFactorRegistrationOptionsNode',\n 'OptOutMultiFactorAuthenticationNode',\n].concat(OOTB_NODE_TYPES_7);\n\nconst OOTB_NODE_TYPES_7_2 = [\n 'OathRegistrationNode',\n 'OathTokenVerifierNode',\n 'PassthroughAuthenticationNode',\n 'ConfigProviderNode',\n 'DebugNode',\n].concat(OOTB_NODE_TYPES_7_1);\n\nconst OOTB_NODE_TYPES_7_3 = [].concat(OOTB_NODE_TYPES_7_2);\n\nconst OOTB_NODE_TYPES_6_5 = [\n 'AbstractSocialAuthLoginNode',\n 'AccountLockoutNode',\n 'AgentDataStoreDecisionNode',\n 'AnonymousUserNode',\n 'AuthLevelDecisionNode',\n 'ChoiceCollectorNode',\n 'CookiePresenceDecisionNode',\n 'CreatePasswordNode',\n 'DataStoreDecisionNode',\n 'InnerTreeEvaluatorNode',\n 'LdapDecisionNode',\n 'MessageNode',\n 'MetadataNode',\n 'MeterNode',\n 'ModifyAuthLevelNode',\n 'OneTimePasswordCollectorDecisionNode',\n 'OneTimePasswordGeneratorNode',\n 'OneTimePasswordSmsSenderNode',\n 'OneTimePasswordSmtpSenderNode',\n 'PageNode',\n 'PasswordCollectorNode',\n 'PersistentCookieDecisionNode',\n 'PollingWaitNode',\n 'ProvisionDynamicAccountNode',\n 'ProvisionIdmAccountNode',\n 'PushAuthenticationSenderNode',\n 'PushResultVerifierNode',\n 'RecoveryCodeCollectorDecisionNode',\n 'RecoveryCodeDisplayNode',\n 'RegisterLogoutWebhookNode',\n 'RemoveSessionPropertiesNode',\n 'RetryLimitDecisionNode',\n 'ScriptedDecisionNode',\n 'SessionDataNode',\n 'SetFailureUrlNode',\n 'SetPersistentCookieNode',\n 'SetSessionPropertiesNode',\n 'SetSuccessUrlNode',\n 'SocialFacebookNode',\n 'SocialGoogleNode',\n 'SocialNode',\n 'SocialOAuthIgnoreProfileNode',\n 'SocialOpenIdConnectNode',\n 'TimerStartNode',\n 'TimerStopNode',\n 'UsernameCollectorNode',\n 'WebAuthnAuthenticationNode',\n 'WebAuthnRegistrationNode',\n 'ZeroPageLoginNode',\n];\n\nconst OOTB_NODE_TYPES_6 = [\n 'AbstractSocialAuthLoginNode',\n 'AccountLockoutNode',\n 'AgentDataStoreDecisionNode',\n 'AnonymousUserNode',\n 'AuthLevelDecisionNode',\n 'ChoiceCollectorNode',\n 'CookiePresenceDecisionNode',\n 'CreatePasswordNode',\n 'DataStoreDecisionNode',\n 'InnerTreeEvaluatorNode',\n 'LdapDecisionNode',\n 'MessageNode',\n 'MetadataNode',\n 'MeterNode',\n 'ModifyAuthLevelNode',\n 'OneTimePasswordCollectorDecisionNode',\n 'OneTimePasswordGeneratorNode',\n 'OneTimePasswordSmsSenderNode',\n 'OneTimePasswordSmtpSenderNode',\n 'PageNode',\n 'PasswordCollectorNode',\n 'PersistentCookieDecisionNode',\n 'PollingWaitNode',\n 'ProvisionDynamicAccountNode',\n 'ProvisionIdmAccountNode',\n 'PushAuthenticationSenderNode',\n 'PushResultVerifierNode',\n 'RecoveryCodeCollectorDecisionNode',\n 'RecoveryCodeDisplayNode',\n 'RegisterLogoutWebhookNode',\n 'RemoveSessionPropertiesNode',\n 'RetryLimitDecisionNode',\n 'ScriptedDecisionNode',\n 'SessionDataNode',\n 'SetFailureUrlNode',\n 'SetPersistentCookieNode',\n 'SetSessionPropertiesNode',\n 'SetSuccessUrlNode',\n 'SocialFacebookNode',\n 'SocialGoogleNode',\n 'SocialNode',\n 'SocialOAuthIgnoreProfileNode',\n 'SocialOpenIdConnectNode',\n 'TimerStartNode',\n 'TimerStopNode',\n 'UsernameCollectorNode',\n 'WebAuthnAuthenticationNode',\n 'WebAuthnRegistrationNode',\n 'ZeroPageLoginNode',\n];\n\nconst CLOUD_ONLY_NODE_TYPES = [\n 'IdentityStoreDecisionNode',\n 'AutonomousAccessSignalNode',\n 'AutonomousAccessDecisionNode',\n 'AutonomousAccessResultNode',\n];\n\nconst PREMIUM_NODE_TYPES = [\n 'AutonomousAccessSignalNode',\n 'AutonomousAccessDecisionNode',\n 'AutonomousAccessResultNode',\n];\n\n/**\n * Analyze if a node is a premium node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is premium, false otherwise.\n */\nexport function isPremiumNode(nodeType: string): boolean {\n return PREMIUM_NODE_TYPES.includes(nodeType);\n}\n\n/**\n * Analyze if a node is a cloud-only node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is cloud-only, false otherwise.\n */\nexport function isCloudOnlyNode(nodeType: string): boolean {\n return CLOUD_ONLY_NODE_TYPES.includes(nodeType);\n}\n\n/**\n * Analyze if a node is custom.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is custom, false otherwise.\n */\nexport function isCustomNode(nodeType: string): boolean {\n let ootbNodeTypes = [];\n switch (state.getAmVersion()) {\n case '7.1.0':\n ootbNodeTypes = OOTB_NODE_TYPES_7_1.slice(0);\n break;\n case '7.2.0':\n ootbNodeTypes = OOTB_NODE_TYPES_7_2.slice(0);\n break;\n case '7.3.0':\n ootbNodeTypes = OOTB_NODE_TYPES_7_3.slice(0);\n break;\n case '7.0.0':\n case '7.0.1':\n case '7.0.2':\n ootbNodeTypes = OOTB_NODE_TYPES_7.slice(0);\n break;\n case '6.5.3':\n case '6.5.2.3':\n case '6.5.2.2':\n case '6.5.2.1':\n case '6.5.2':\n case '6.5.1':\n case '6.5.0.2':\n case '6.5.0.1':\n ootbNodeTypes = OOTB_NODE_TYPES_6_5.slice(0);\n break;\n case '6.0.0.7':\n case '6.0.0.6':\n case '6.0.0.5':\n case '6.0.0.4':\n case '6.0.0.3':\n case '6.0.0.2':\n case '6.0.0.1':\n case '6.0.0':\n ootbNodeTypes = OOTB_NODE_TYPES_6.slice(0);\n break;\n default:\n return true;\n }\n return (\n !ootbNodeTypes.includes(nodeType) &&\n !isPremiumNode(nodeType) &&\n !isCloudOnlyNode(nodeType)\n );\n}\n\n/**\n * Get a node's classifications, which can be one or multiple of:\n * - standard: can run on any instance of a ForgeRock platform\n * - cloud: utilize nodes, which are exclusively available in the ForgeRock Identity Cloud\n * - premium: utilizes nodes, which come at a premium\n * @param {string} nodeType Node type\n * @returns {NodeClassification[]} an array of one or multiple classifications\n */\nexport function getNodeClassification(nodeType: string): NodeClassification[] {\n const classifications: NodeClassification[] = [];\n const premium = isPremiumNode(nodeType);\n const custom = isCustomNode(nodeType);\n const cloud = isCloudOnlyNode(nodeType);\n if (custom) {\n classifications.push(NodeClassification.CUSTOM);\n } else if (cloud) {\n classifications.push(NodeClassification.CLOUD);\n } else {\n classifications.push(NodeClassification.STANDARD);\n }\n if (premium) classifications.push(NodeClassification.PREMIUM);\n return classifications;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NodeOps.js","names":["_NodeApi","require","_TreeApi","_Console","_OpsTypes","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","NodeOps","constructor","state","findOrphanedNodes","_this","removeOrphanedNodes","orphanedNodes","_this2","isPremiumNode","nodeType","isCloudOnlyNode","isCustomNode","getNodeClassification","exports","default","containerNodes","_x","_findOrphanedNodes","_ref","allNodes","types","allJourneys","getTrees","result","errorMessage","errorTypes","createProgressIndicator","getNodeTypes","printMessage","response","data","type","nodes","getNodesByType","_id","node","push","updateProgressIndicator","concat","length","stopProgressIndicator","activeNodes","journey","nodeId","hasOwnProperty","call","includes","containerNode","getNode","innerNode","diff","filter","x","orphanedNode","_x2","_removeOrphanedNodes","_ref2","errorNodes","deleteNode","deleteError","OOTB_NODE_TYPES_7","OOTB_NODE_TYPES_7_1","OOTB_NODE_TYPES_7_2","OOTB_NODE_TYPES_7_3","OOTB_NODE_TYPES_6_5","OOTB_NODE_TYPES_6","CLOUD_ONLY_NODE_TYPES","PREMIUM_NODE_TYPES","_ref3","ootbNodeTypes","getAmVersion","slice","_ref4","classifications","premium","custom","cloud","NodeClassification","CUSTOM","CLOUD","STANDARD","PREMIUM"],"sources":["ops/NodeOps.ts"],"sourcesContent":["import State from '../shared/State';\nimport {\n getNode,\n deleteNode,\n getNodeTypes,\n getNodesByType,\n} from '../api/NodeApi';\nimport { getTrees } from '../api/TreeApi';\nimport {\n printMessage,\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n} from './utils/Console';\nimport { NodeClassification } from './OpsTypes';\nimport { NodeSkeleton } from '../api/ApiTypes';\n\nexport default class NodeOps {\n state: State;\n constructor(state: State) {\n this.state = state;\n }\n\n /**\n * Find all node configuration objects that are no longer referenced by any tree\n * @returns {Promise<unknown[]>} a promise that resolves to an array of orphaned nodes\n */\n async findOrphanedNodes(): Promise<unknown[]> {\n return findOrphanedNodes({ state: this.state });\n }\n\n /**\n * Remove orphaned nodes\n * @param {NodeSkeleton[]} orphanedNodes Pass in an array of orphaned node configuration objects to remove\n * @returns {Promise<NodeSkeleton[]>} a promise that resolves to an array nodes that encountered errors deleting\n */\n async removeOrphanedNodes(\n orphanedNodes: NodeSkeleton[]\n ): Promise<NodeSkeleton[]> {\n return removeOrphanedNodes({ orphanedNodes, state: this.state });\n }\n\n /**\n * Analyze if a node is a premium node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is premium, false otherwise.\n */\n isPremiumNode(nodeType: string): boolean {\n return isPremiumNode(nodeType);\n }\n\n /**\n * Analyze if a node is a cloud-only node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is cloud-only, false otherwise.\n */\n isCloudOnlyNode(nodeType: string): boolean {\n return isCloudOnlyNode(nodeType);\n }\n\n /**\n * Analyze if a node is custom.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is custom, false otherwise.\n */\n isCustomNode(nodeType: string): boolean {\n return isCustomNode({ nodeType, state: this.state });\n }\n\n /**\n * Get a node's classifications, which can be one or multiple of:\n * - standard: can run on any instance of a ForgeRock platform\n * - cloud: utilize nodes, which are exclusively available in the ForgeRock Identity Cloud\n * - premium: utilizes nodes, which come at a premium\n * @param {string} nodeType Node type\n * @returns {NodeClassification[]} an array of one or multiple classifications\n */\n getNodeClassification(nodeType: string): NodeClassification[] {\n return getNodeClassification({ nodeType, state: this.state });\n }\n}\n\nconst containerNodes = ['PageNode', 'CustomPageNode'];\n\n/**\n * Find all node configuration objects that are no longer referenced by any tree\n * @returns {Promise<unknown[]>} a promise that resolves to an array of orphaned nodes\n */\nexport async function findOrphanedNodes({\n state,\n}: {\n state: State;\n}): Promise<unknown[]> {\n const allNodes = [];\n const orphanedNodes = [];\n let types = [];\n const allJourneys = (await getTrees({ state })).result;\n let errorMessage = '';\n const errorTypes = [];\n\n createProgressIndicator(\n undefined,\n `Counting total nodes...`,\n 'indeterminate'\n );\n try {\n types = (await getNodeTypes({ state })).result;\n } catch (error) {\n printMessage('Error retrieving all available node types:', 'error');\n printMessage(error.response.data, 'error');\n return [];\n }\n for (const type of types) {\n try {\n // eslint-disable-next-line no-await-in-loop, no-loop-func\n const nodes = (await getNodesByType({ nodeType: type._id, state }))\n .result;\n for (const node of nodes) {\n allNodes.push(node);\n updateProgressIndicator(\n `${allNodes.length} total nodes${errorMessage}`\n );\n }\n } catch (error) {\n errorTypes.push(type._id);\n errorMessage = ` (Skipped type(s): ${errorTypes})`['yellow'];\n updateProgressIndicator(`${allNodes.length} total nodes${errorMessage}`);\n }\n }\n if (errorTypes.length > 0) {\n stopProgressIndicator(\n `${allNodes.length} total nodes${errorMessage}`,\n 'warn'\n );\n } else {\n stopProgressIndicator(`${allNodes.length} total nodes`, 'success');\n }\n\n createProgressIndicator(\n undefined,\n 'Counting active nodes...',\n 'indeterminate'\n );\n const activeNodes = [];\n for (const journey of allJourneys) {\n for (const nodeId in journey.nodes) {\n if ({}.hasOwnProperty.call(journey.nodes, nodeId)) {\n activeNodes.push(nodeId);\n updateProgressIndicator(`${activeNodes.length} active nodes`);\n const node = journey.nodes[nodeId];\n if (containerNodes.includes(node.nodeType)) {\n const containerNode = await getNode({\n nodeId,\n nodeType: node.nodeType,\n state,\n });\n for (const innerNode of containerNode.nodes) {\n activeNodes.push(innerNode._id);\n updateProgressIndicator(`${activeNodes.length} active nodes`);\n }\n }\n }\n }\n }\n stopProgressIndicator(`${activeNodes.length} active nodes`, 'success');\n\n createProgressIndicator(\n undefined,\n 'Calculating orphaned nodes...',\n 'indeterminate'\n );\n const diff = allNodes.filter((x) => !activeNodes.includes(x._id));\n for (const orphanedNode of diff) {\n orphanedNodes.push(orphanedNode);\n }\n stopProgressIndicator(`${orphanedNodes.length} orphaned nodes`, 'success');\n return orphanedNodes;\n}\n\n/**\n * Remove orphaned nodes\n * @param {NodeSkeleton[]} orphanedNodes Pass in an array of orphaned node configuration objects to remove\n * @returns {Promise<NodeSkeleton[]>} a promise that resolves to an array nodes that encountered errors deleting\n */\nexport async function removeOrphanedNodes({\n orphanedNodes,\n state,\n}: {\n orphanedNodes: NodeSkeleton[];\n state: State;\n}): Promise<NodeSkeleton[]> {\n const errorNodes = [];\n createProgressIndicator(orphanedNodes.length, 'Removing orphaned nodes...');\n for (const node of orphanedNodes) {\n updateProgressIndicator(`Removing ${node['_id']}...`);\n try {\n await deleteNode({\n nodeId: node['_id'],\n nodeType: node['_type']['_id'],\n state,\n });\n } catch (deleteError) {\n errorNodes.push(node);\n printMessage(` ${deleteError}`, 'error');\n }\n }\n stopProgressIndicator(`Removed ${orphanedNodes.length} orphaned nodes.`);\n return errorNodes;\n}\n\nconst OOTB_NODE_TYPES_7 = [\n 'AcceptTermsAndConditionsNode',\n 'AccountActiveDecisionNode',\n 'AccountLockoutNode',\n 'AgentDataStoreDecisionNode',\n 'AnonymousSessionUpgradeNode',\n 'AnonymousUserNode',\n 'AttributeCollectorNode',\n 'AttributePresentDecisionNode',\n 'AttributeValueDecisionNode',\n 'AuthLevelDecisionNode',\n 'ChoiceCollectorNode',\n 'ConsentNode',\n 'CookiePresenceDecisionNode',\n 'CreateObjectNode',\n 'CreatePasswordNode',\n 'DataStoreDecisionNode',\n 'DeviceGeoFencingNode',\n 'DeviceLocationMatchNode',\n 'DeviceMatchNode',\n 'DeviceProfileCollectorNode',\n 'DeviceSaveNode',\n 'DeviceTamperingVerificationNode',\n 'DisplayUserNameNode',\n 'EmailSuspendNode',\n 'EmailTemplateNode',\n 'IdentifyExistingUserNode',\n 'IncrementLoginCountNode',\n 'InnerTreeEvaluatorNode',\n 'IotAuthenticationNode',\n 'IotRegistrationNode',\n 'KbaCreateNode',\n 'KbaDecisionNode',\n 'KbaVerifyNode',\n 'LdapDecisionNode',\n 'LoginCountDecisionNode',\n 'MessageNode',\n 'MetadataNode',\n 'MeterNode',\n 'ModifyAuthLevelNode',\n 'OneTimePasswordCollectorDecisionNode',\n 'OneTimePasswordGeneratorNode',\n 'OneTimePasswordSmsSenderNode',\n 'OneTimePasswordSmtpSenderNode',\n 'PageNode',\n 'PasswordCollectorNode',\n 'PatchObjectNode',\n 'PersistentCookieDecisionNode',\n 'PollingWaitNode',\n 'ProfileCompletenessDecisionNode',\n 'ProvisionDynamicAccountNode',\n 'ProvisionIdmAccountNode',\n 'PushAuthenticationSenderNode',\n 'PushResultVerifierNode',\n 'QueryFilterDecisionNode',\n 'RecoveryCodeCollectorDecisionNode',\n 'RecoveryCodeDisplayNode',\n 'RegisterLogoutWebhookNode',\n 'RemoveSessionPropertiesNode',\n 'RequiredAttributesDecisionNode',\n 'RetryLimitDecisionNode',\n 'ScriptedDecisionNode',\n 'SelectIdPNode',\n 'SessionDataNode',\n 'SetFailureUrlNode',\n 'SetPersistentCookieNode',\n 'SetSessionPropertiesNode',\n 'SetSuccessUrlNode',\n 'SocialFacebookNode',\n 'SocialGoogleNode',\n 'SocialNode',\n 'SocialOAuthIgnoreProfileNode',\n 'SocialOpenIdConnectNode',\n 'SocialProviderHandlerNode',\n 'TermsAndConditionsDecisionNode',\n 'TimeSinceDecisionNode',\n 'TimerStartNode',\n 'TimerStopNode',\n 'UsernameCollectorNode',\n 'ValidatedPasswordNode',\n 'ValidatedUsernameNode',\n 'WebAuthnAuthenticationNode',\n 'WebAuthnDeviceStorageNode',\n 'WebAuthnRegistrationNode',\n 'ZeroPageLoginNode',\n 'product-CertificateCollectorNode',\n 'product-CertificateUserExtractorNode',\n 'product-CertificateValidationNode',\n 'product-KerberosNode',\n 'product-ReCaptchaNode',\n 'product-Saml2Node',\n 'product-WriteFederationInformationNode',\n];\n\nconst OOTB_NODE_TYPES_7_1 = [\n 'PushRegistrationNode',\n 'GetAuthenticatorAppNode',\n 'MultiFactorRegistrationOptionsNode',\n 'OptOutMultiFactorAuthenticationNode',\n].concat(OOTB_NODE_TYPES_7);\n\nconst OOTB_NODE_TYPES_7_2 = [\n 'OathRegistrationNode',\n 'OathTokenVerifierNode',\n 'PassthroughAuthenticationNode',\n 'ConfigProviderNode',\n 'DebugNode',\n].concat(OOTB_NODE_TYPES_7_1);\n\nconst OOTB_NODE_TYPES_7_3 = [].concat(OOTB_NODE_TYPES_7_2);\n\nconst OOTB_NODE_TYPES_6_5 = [\n 'AbstractSocialAuthLoginNode',\n 'AccountLockoutNode',\n 'AgentDataStoreDecisionNode',\n 'AnonymousUserNode',\n 'AuthLevelDecisionNode',\n 'ChoiceCollectorNode',\n 'CookiePresenceDecisionNode',\n 'CreatePasswordNode',\n 'DataStoreDecisionNode',\n 'InnerTreeEvaluatorNode',\n 'LdapDecisionNode',\n 'MessageNode',\n 'MetadataNode',\n 'MeterNode',\n 'ModifyAuthLevelNode',\n 'OneTimePasswordCollectorDecisionNode',\n 'OneTimePasswordGeneratorNode',\n 'OneTimePasswordSmsSenderNode',\n 'OneTimePasswordSmtpSenderNode',\n 'PageNode',\n 'PasswordCollectorNode',\n 'PersistentCookieDecisionNode',\n 'PollingWaitNode',\n 'ProvisionDynamicAccountNode',\n 'ProvisionIdmAccountNode',\n 'PushAuthenticationSenderNode',\n 'PushResultVerifierNode',\n 'RecoveryCodeCollectorDecisionNode',\n 'RecoveryCodeDisplayNode',\n 'RegisterLogoutWebhookNode',\n 'RemoveSessionPropertiesNode',\n 'RetryLimitDecisionNode',\n 'ScriptedDecisionNode',\n 'SessionDataNode',\n 'SetFailureUrlNode',\n 'SetPersistentCookieNode',\n 'SetSessionPropertiesNode',\n 'SetSuccessUrlNode',\n 'SocialFacebookNode',\n 'SocialGoogleNode',\n 'SocialNode',\n 'SocialOAuthIgnoreProfileNode',\n 'SocialOpenIdConnectNode',\n 'TimerStartNode',\n 'TimerStopNode',\n 'UsernameCollectorNode',\n 'WebAuthnAuthenticationNode',\n 'WebAuthnRegistrationNode',\n 'ZeroPageLoginNode',\n];\n\nconst OOTB_NODE_TYPES_6 = [\n 'AbstractSocialAuthLoginNode',\n 'AccountLockoutNode',\n 'AgentDataStoreDecisionNode',\n 'AnonymousUserNode',\n 'AuthLevelDecisionNode',\n 'ChoiceCollectorNode',\n 'CookiePresenceDecisionNode',\n 'CreatePasswordNode',\n 'DataStoreDecisionNode',\n 'InnerTreeEvaluatorNode',\n 'LdapDecisionNode',\n 'MessageNode',\n 'MetadataNode',\n 'MeterNode',\n 'ModifyAuthLevelNode',\n 'OneTimePasswordCollectorDecisionNode',\n 'OneTimePasswordGeneratorNode',\n 'OneTimePasswordSmsSenderNode',\n 'OneTimePasswordSmtpSenderNode',\n 'PageNode',\n 'PasswordCollectorNode',\n 'PersistentCookieDecisionNode',\n 'PollingWaitNode',\n 'ProvisionDynamicAccountNode',\n 'ProvisionIdmAccountNode',\n 'PushAuthenticationSenderNode',\n 'PushResultVerifierNode',\n 'RecoveryCodeCollectorDecisionNode',\n 'RecoveryCodeDisplayNode',\n 'RegisterLogoutWebhookNode',\n 'RemoveSessionPropertiesNode',\n 'RetryLimitDecisionNode',\n 'ScriptedDecisionNode',\n 'SessionDataNode',\n 'SetFailureUrlNode',\n 'SetPersistentCookieNode',\n 'SetSessionPropertiesNode',\n 'SetSuccessUrlNode',\n 'SocialFacebookNode',\n 'SocialGoogleNode',\n 'SocialNode',\n 'SocialOAuthIgnoreProfileNode',\n 'SocialOpenIdConnectNode',\n 'TimerStartNode',\n 'TimerStopNode',\n 'UsernameCollectorNode',\n 'WebAuthnAuthenticationNode',\n 'WebAuthnRegistrationNode',\n 'ZeroPageLoginNode',\n];\n\nconst CLOUD_ONLY_NODE_TYPES = [\n 'IdentityStoreDecisionNode',\n 'AutonomousAccessSignalNode',\n 'AutonomousAccessDecisionNode',\n 'AutonomousAccessResultNode',\n];\n\nconst PREMIUM_NODE_TYPES = [\n 'AutonomousAccessSignalNode',\n 'AutonomousAccessDecisionNode',\n 'AutonomousAccessResultNode',\n];\n\n/**\n * Analyze if a node is a premium node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is premium, false otherwise.\n */\nexport function isPremiumNode(nodeType: string): boolean {\n return PREMIUM_NODE_TYPES.includes(nodeType);\n}\n\n/**\n * Analyze if a node is a cloud-only node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is cloud-only, false otherwise.\n */\nexport function isCloudOnlyNode(nodeType: string): boolean {\n return CLOUD_ONLY_NODE_TYPES.includes(nodeType);\n}\n\n/**\n * Analyze if a node is custom.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is custom, false otherwise.\n */\nexport function isCustomNode({\n nodeType,\n state,\n}: {\n nodeType: string;\n state: State;\n}): boolean {\n let ootbNodeTypes = [];\n switch (state.getAmVersion()) {\n case '7.1.0':\n ootbNodeTypes = OOTB_NODE_TYPES_7_1.slice(0);\n break;\n case '7.2.0':\n ootbNodeTypes = OOTB_NODE_TYPES_7_2.slice(0);\n break;\n case '7.3.0':\n ootbNodeTypes = OOTB_NODE_TYPES_7_3.slice(0);\n break;\n case '7.0.0':\n case '7.0.1':\n case '7.0.2':\n ootbNodeTypes = OOTB_NODE_TYPES_7.slice(0);\n break;\n case '6.5.3':\n case '6.5.2.3':\n case '6.5.2.2':\n case '6.5.2.1':\n case '6.5.2':\n case '6.5.1':\n case '6.5.0.2':\n case '6.5.0.1':\n ootbNodeTypes = OOTB_NODE_TYPES_6_5.slice(0);\n break;\n case '6.0.0.7':\n case '6.0.0.6':\n case '6.0.0.5':\n case '6.0.0.4':\n case '6.0.0.3':\n case '6.0.0.2':\n case '6.0.0.1':\n case '6.0.0':\n ootbNodeTypes = OOTB_NODE_TYPES_6.slice(0);\n break;\n default:\n return true;\n }\n return (\n !ootbNodeTypes.includes(nodeType) &&\n !isPremiumNode(nodeType) &&\n !isCloudOnlyNode(nodeType)\n );\n}\n\n/**\n * Get a node's classifications, which can be one or multiple of:\n * - standard: can run on any instance of a ForgeRock platform\n * - cloud: utilize nodes, which are exclusively available in the ForgeRock Identity Cloud\n * - premium: utilizes nodes, which come at a premium\n * @param {string} nodeType Node type\n * @returns {NodeClassification[]} an array of one or multiple classifications\n */\nexport function getNodeClassification({\n nodeType,\n state,\n}: {\n nodeType: string;\n state: State;\n}): NodeClassification[] {\n const classifications: NodeClassification[] = [];\n const premium = isPremiumNode(nodeType);\n const custom = isCustomNode({ nodeType, state });\n const cloud = isCloudOnlyNode(nodeType);\n if (custom) {\n classifications.push(NodeClassification.CUSTOM);\n } else if (cloud) {\n classifications.push(NodeClassification.CLOUD);\n } else {\n classifications.push(NodeClassification.STANDARD);\n }\n if (premium) classifications.push(NodeClassification.PREMIUM);\n return classifications;\n}\n"],"mappings":"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"}
|