@rockcarver/frodo-lib 1.1.0 → 1.1.2-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/build.zip +0 -0
- package/cjs/api/AgentApi.js +4 -4
- package/cjs/api/AgentApi.js.map +1 -1
- package/cjs/api/AgentApi.test.js +3 -3
- package/cjs/api/AgentApi.test.js.map +1 -1
- package/cjs/api/AuthenticateApi.js +3 -3
- package/cjs/api/AuthenticateApi.js.map +1 -1
- package/cjs/api/AuthenticateApi.test.js +2 -2
- package/cjs/api/AuthenticateApi.test.js.map +1 -1
- package/cjs/api/BaseApi.js +4 -4
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/CirclesOfTrustApi.js +3 -3
- package/cjs/api/CirclesOfTrustApi.js.map +1 -1
- package/cjs/api/IdmConfigApi.js +3 -3
- package/cjs/api/IdmConfigApi.js.map +1 -1
- package/cjs/api/IdmSystemApi.js +3 -3
- package/cjs/api/IdmSystemApi.js.map +1 -1
- package/cjs/api/ManagedObjectApi.js +3 -3
- package/cjs/api/ManagedObjectApi.js.map +1 -1
- package/cjs/api/NodeApi.js +3 -3
- package/cjs/api/NodeApi.js.map +1 -1
- package/cjs/api/NodeApi.test.js +2 -2
- package/cjs/api/NodeApi.test.js.map +1 -1
- package/cjs/api/OAuth2ClientApi.js +3 -3
- package/cjs/api/OAuth2ClientApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.js +4 -4
- package/cjs/api/OAuth2OIDCApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.test.js +4 -4
- package/cjs/api/OAuth2OIDCApi.test.js.map +1 -1
- package/cjs/api/OAuth2ProviderApi.js +3 -3
- package/cjs/api/OAuth2ProviderApi.js.map +1 -1
- package/cjs/api/PoliciesApi.js +3 -3
- package/cjs/api/PoliciesApi.js.map +1 -1
- package/cjs/api/PoliciesApi.test.js +4 -4
- package/cjs/api/PoliciesApi.test.js.map +1 -1
- package/cjs/api/PolicySetApi.js +4 -4
- package/cjs/api/PolicySetApi.js.map +1 -1
- package/cjs/api/PolicySetApi.test.js +3 -3
- package/cjs/api/PolicySetApi.test.js.map +1 -1
- package/cjs/api/RealmApi.js +3 -3
- package/cjs/api/RealmApi.js.map +1 -1
- package/cjs/api/ResourceTypesApi.js +3 -3
- package/cjs/api/ResourceTypesApi.js.map +1 -1
- package/cjs/api/ResourceTypesApi.test.js +2 -2
- package/cjs/api/ResourceTypesApi.test.js.map +1 -1
- package/cjs/api/Saml2Api.js +3 -3
- package/cjs/api/Saml2Api.js.map +1 -1
- package/cjs/api/ScriptApi.js +3 -3
- package/cjs/api/ScriptApi.js.map +1 -1
- package/cjs/api/ServerInfoApi.js +2 -2
- package/cjs/api/ServerInfoApi.js.map +1 -1
- package/cjs/api/ServiceApi.js +3 -3
- package/cjs/api/ServiceApi.js.map +1 -1
- package/cjs/api/SocialIdentityProvidersApi.js +3 -3
- package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
- package/cjs/api/TreeApi.js +3 -3
- package/cjs/api/TreeApi.js.map +1 -1
- package/cjs/api/TreeApi.test.js +2 -2
- package/cjs/api/TreeApi.test.js.map +1 -1
- package/cjs/api/cloud/AdminFederationProvidersApi.js +3 -3
- package/cjs/api/cloud/AdminFederationProvidersApi.js.map +1 -1
- package/cjs/api/cloud/EnvInfoApi.js +3 -3
- package/cjs/api/cloud/EnvInfoApi.js.map +1 -1
- package/cjs/api/cloud/FeatureApi.js +3 -3
- package/cjs/api/cloud/FeatureApi.js.map +1 -1
- package/cjs/api/cloud/LogApi.js +3 -3
- package/cjs/api/cloud/LogApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.js +4 -4
- package/cjs/api/cloud/SecretsApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.test.js +2 -2
- package/cjs/api/cloud/SecretsApi.test.js.map +1 -1
- package/cjs/api/cloud/StartupApi.js +3 -3
- package/cjs/api/cloud/StartupApi.js.map +1 -1
- package/cjs/api/cloud/StartupApi.test.js +1 -1
- package/cjs/api/cloud/StartupApi.test.js.map +1 -1
- package/cjs/api/cloud/VariablesApi.js +4 -4
- package/cjs/api/cloud/VariablesApi.js.map +1 -1
- package/cjs/api/cloud/VariablesApi.test.js +2 -2
- package/cjs/api/cloud/VariablesApi.test.js.map +1 -1
- package/cjs/api/utils/ApiUtils.js +1 -1
- package/cjs/api/utils/ApiUtils.js.map +1 -1
- package/cjs/api/utils/ApiUtils.test.js +2 -2
- package/cjs/api/utils/ApiUtils.test.js.map +1 -1
- package/cjs/ext/axios-curlirize/curlirize.js +1 -1
- package/cjs/ext/axios-curlirize/curlirize.js.map +1 -1
- package/cjs/index.js +49 -49
- package/cjs/ops/AdminOps.js +8 -8
- package/cjs/ops/AdminOps.js.map +1 -1
- package/cjs/ops/AgentOps.js +3 -3
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/AgentOps.test.js +3 -3
- package/cjs/ops/AgentOps.test.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +12 -12
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.test.js +2 -2
- package/cjs/ops/AuthenticateOps.test.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +3 -3
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +8 -8
- package/cjs/ops/ConnectionProfileOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.test.js +2 -2
- package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.js +1 -1
- package/cjs/ops/EmailTemplateOps.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.test.js +2 -2
- package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
- package/cjs/ops/IdmOps.js +2 -2
- package/cjs/ops/IdmOps.js.map +1 -1
- package/cjs/ops/IdmOps.test.js +2 -2
- package/cjs/ops/IdmOps.test.js.map +1 -1
- package/cjs/ops/IdpOps.js +6 -6
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/IdpOps.test.js +2 -2
- package/cjs/ops/IdpOps.test.js.map +1 -1
- package/cjs/ops/InfoOps.js +6 -6
- package/cjs/ops/InfoOps.js.map +1 -1
- package/cjs/ops/JoseOps.test.js +4 -4
- package/cjs/ops/JoseOps.test.js.map +1 -1
- package/cjs/ops/JourneyOps.js +17 -17
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/JourneyOps.test.js +4 -4
- package/cjs/ops/JourneyOps.test.js.map +1 -1
- package/cjs/ops/ManagedObjectOps.js +1 -1
- package/cjs/ops/ManagedObjectOps.js.map +1 -1
- package/cjs/ops/NodeOps.js +7 -7
- package/cjs/ops/NodeOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +6 -6
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.test.js +3 -3
- package/cjs/ops/OAuth2ClientOps.test.js.map +1 -1
- package/cjs/ops/OAuth2ProviderOps.js +1 -1
- package/cjs/ops/OAuth2ProviderOps.js.map +1 -1
- package/cjs/ops/OrganizationOps.js +3 -3
- package/cjs/ops/OrganizationOps.js.map +1 -1
- package/cjs/ops/PolicyOps.js +8 -8
- package/cjs/ops/PolicyOps.js.map +1 -1
- package/cjs/ops/PolicyOps.test.js +6 -6
- package/cjs/ops/PolicyOps.test.js.map +1 -1
- package/cjs/ops/PolicySetOps.js +6 -6
- package/cjs/ops/PolicySetOps.js.map +1 -1
- package/cjs/ops/PolicySetOps.test.js +4 -4
- package/cjs/ops/PolicySetOps.test.js.map +1 -1
- package/cjs/ops/RealmOps.js +2 -2
- package/cjs/ops/RealmOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.js +6 -6
- package/cjs/ops/ResourceTypeOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.test.js +2 -2
- package/cjs/ops/ResourceTypeOps.test.js.map +1 -1
- package/cjs/ops/Saml2Ops.js +7 -7
- package/cjs/ops/Saml2Ops.js.map +1 -1
- package/cjs/ops/Saml2Ops.test.js +6 -6
- package/cjs/ops/Saml2Ops.test.js.map +1 -1
- package/cjs/ops/ScriptOps.js +5 -5
- package/cjs/ops/ScriptOps.js.map +1 -1
- package/cjs/ops/ScriptOps.test.js +2 -2
- package/cjs/ops/ScriptOps.test.js.map +1 -1
- package/cjs/ops/ServiceOps.js +2 -2
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js +3 -3
- package/cjs/ops/ThemeOps.js.map +1 -1
- package/cjs/ops/ThemeOps.test.js +3 -3
- package/cjs/ops/ThemeOps.test.js.map +1 -1
- package/cjs/ops/cloud/AdminFederationOps.js +4 -4
- package/cjs/ops/cloud/AdminFederationOps.js.map +1 -1
- package/cjs/ops/cloud/FeatureOps.js +2 -2
- package/cjs/ops/cloud/FeatureOps.js.map +1 -1
- package/cjs/ops/cloud/LogOps.js +1 -1
- package/cjs/ops/cloud/LogOps.js.map +1 -1
- package/cjs/ops/cloud/SecretsOps.js +4 -4
- package/cjs/ops/cloud/SecretsOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.js +3 -3
- package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.test.js +3 -3
- package/cjs/ops/cloud/ServiceAccountOps.test.js.map +1 -1
- package/cjs/ops/cloud/StartupOps.js +4 -4
- package/cjs/ops/cloud/StartupOps.js.map +1 -1
- package/cjs/ops/cloud/VariablesOps.js +5 -5
- package/cjs/ops/cloud/VariablesOps.js.map +1 -1
- package/cjs/ops/utils/Console.js +1 -1
- package/cjs/ops/utils/Console.js.map +1 -1
- package/cjs/ops/utils/DataProtection.js +3 -3
- package/cjs/ops/utils/DataProtection.js.map +1 -1
- package/cjs/ops/utils/DataProtection.test.js +1 -1
- package/cjs/ops/utils/DataProtection.test.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +4 -4
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.test.js +1 -1
- package/cjs/ops/utils/ExportImportUtils.test.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.js +3 -3
- package/cjs/ops/utils/OpsUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.test.js +3 -3
- package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
- package/cjs/ops/utils/ValidationUtils.js +2 -2
- package/cjs/ops/utils/ValidationUtils.js.map +1 -1
- package/cjs/ops/utils/ValidationUtils.test.js +1 -1
- package/cjs/ops/utils/ValidationUtils.test.js.map +1 -1
- package/cjs/ops/utils/Version.js +1 -1
- package/cjs/ops/utils/Version.js.map +1 -1
- package/cjs/ops/utils/Version.test.js +1 -1
- package/cjs/ops/utils/Version.test.js.map +1 -1
- package/cjs/ops/utils/Wordwrap.test.js +1 -1
- package/cjs/ops/utils/Wordwrap.test.js.map +1 -1
- package/cjs/shared/State.test.js +1 -1
- package/cjs/shared/State.test.js.map +1 -1
- package/cjs/test/mocks/ForgeRockApiMockEngine.js +2 -2
- package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
- package/cjs/utils/AutoSetupPolly.js +2 -2
- package/cjs/utils/AutoSetupPolly.js.map +1 -1
- package/cjs/utils/SetupPollyForFrodoLib.js +1 -1
- package/cjs/utils/SetupPollyForFrodoLib.js.map +1 -1
- package/esm/api/AgentApi.js +4 -4
- package/esm/api/AgentApi.js.map +1 -1
- package/esm/api/AgentApi.test.js +3 -3
- package/esm/api/AgentApi.test.js.map +1 -1
- package/esm/api/AuthenticateApi.js +3 -3
- package/esm/api/AuthenticateApi.js.map +1 -1
- package/esm/api/AuthenticateApi.test.js +2 -4
- package/esm/api/AuthenticateApi.test.js.map +1 -1
- package/esm/api/BaseApi.js +4 -4
- package/esm/api/BaseApi.js.map +1 -1
- package/esm/api/CirclesOfTrustApi.js +3 -3
- package/esm/api/CirclesOfTrustApi.js.map +1 -1
- package/esm/api/IdmConfigApi.js +3 -3
- package/esm/api/IdmConfigApi.js.map +1 -1
- package/esm/api/IdmSystemApi.js +3 -3
- package/esm/api/IdmSystemApi.js.map +1 -1
- package/esm/api/ManagedObjectApi.js +3 -3
- package/esm/api/ManagedObjectApi.js.map +1 -1
- package/esm/api/NodeApi.js +3 -3
- package/esm/api/NodeApi.js.map +1 -1
- package/esm/api/NodeApi.test.js +2 -2
- package/esm/api/NodeApi.test.js.map +1 -1
- package/esm/api/OAuth2ClientApi.js +3 -3
- package/esm/api/OAuth2ClientApi.js.map +1 -1
- package/esm/api/OAuth2OIDCApi.js +4 -4
- package/esm/api/OAuth2OIDCApi.js.map +1 -1
- package/esm/api/OAuth2OIDCApi.test.js +4 -4
- package/esm/api/OAuth2OIDCApi.test.js.map +1 -1
- package/esm/api/OAuth2ProviderApi.js +3 -3
- package/esm/api/OAuth2ProviderApi.js.map +1 -1
- package/esm/api/PoliciesApi.js +3 -3
- package/esm/api/PoliciesApi.js.map +1 -1
- package/esm/api/PoliciesApi.test.js +4 -4
- package/esm/api/PoliciesApi.test.js.map +1 -1
- package/esm/api/PolicySetApi.js +4 -4
- package/esm/api/PolicySetApi.js.map +1 -1
- package/esm/api/PolicySetApi.test.js +3 -3
- package/esm/api/PolicySetApi.test.js.map +1 -1
- package/esm/api/RealmApi.js +3 -3
- package/esm/api/RealmApi.js.map +1 -1
- package/esm/api/ResourceTypesApi.js +3 -3
- package/esm/api/ResourceTypesApi.js.map +1 -1
- package/esm/api/ResourceTypesApi.test.js +2 -2
- package/esm/api/ResourceTypesApi.test.js.map +1 -1
- package/esm/api/Saml2Api.js +3 -3
- package/esm/api/Saml2Api.js.map +1 -1
- package/esm/api/ScriptApi.js +3 -3
- package/esm/api/ScriptApi.js.map +1 -1
- package/esm/api/ServerInfoApi.js +2 -2
- package/esm/api/ServerInfoApi.js.map +1 -1
- package/esm/api/ServiceApi.js +3 -3
- package/esm/api/ServiceApi.js.map +1 -1
- package/esm/api/SocialIdentityProvidersApi.js +3 -3
- package/esm/api/SocialIdentityProvidersApi.js.map +1 -1
- package/esm/api/TreeApi.js +3 -3
- package/esm/api/TreeApi.js.map +1 -1
- package/esm/api/TreeApi.test.js +2 -2
- package/esm/api/TreeApi.test.js.map +1 -1
- package/esm/api/cloud/AdminFederationProvidersApi.js +3 -3
- package/esm/api/cloud/AdminFederationProvidersApi.js.map +1 -1
- package/esm/api/cloud/EnvInfoApi.js +3 -3
- package/esm/api/cloud/EnvInfoApi.js.map +1 -1
- package/esm/api/cloud/FeatureApi.js +3 -3
- package/esm/api/cloud/FeatureApi.js.map +1 -1
- package/esm/api/cloud/LogApi.js +3 -3
- package/esm/api/cloud/LogApi.js.map +1 -1
- package/esm/api/cloud/SecretsApi.js +4 -4
- package/esm/api/cloud/SecretsApi.js.map +1 -1
- package/esm/api/cloud/SecretsApi.test.js +2 -2
- package/esm/api/cloud/SecretsApi.test.js.map +1 -1
- package/esm/api/cloud/StartupApi.js +3 -3
- package/esm/api/cloud/StartupApi.js.map +1 -1
- package/esm/api/cloud/StartupApi.test.js +1 -1
- package/esm/api/cloud/StartupApi.test.js.map +1 -1
- package/esm/api/cloud/VariablesApi.js +4 -4
- package/esm/api/cloud/VariablesApi.js.map +1 -1
- package/esm/api/cloud/VariablesApi.test.js +2 -2
- package/esm/api/cloud/VariablesApi.test.js.map +1 -1
- package/esm/api/utils/ApiUtils.js +1 -2
- package/esm/api/utils/ApiUtils.js.map +1 -1
- package/esm/api/utils/ApiUtils.test.js +2 -2
- package/esm/api/utils/ApiUtils.test.js.map +1 -1
- package/esm/ext/axios-curlirize/curlirize.js +1 -1
- package/esm/ext/axios-curlirize/curlirize.js.map +1 -1
- package/esm/index.js +49 -54
- package/esm/index.js.map +1 -1
- package/esm/ops/AdminOps.js +8 -8
- package/esm/ops/AdminOps.js.map +1 -1
- package/esm/ops/AgentOps.js +3 -3
- package/esm/ops/AgentOps.js.map +1 -1
- package/esm/ops/AgentOps.test.js +3 -3
- package/esm/ops/AgentOps.test.js.map +1 -1
- package/esm/ops/AuthenticateOps.js +12 -12
- package/esm/ops/AuthenticateOps.js.map +1 -1
- package/esm/ops/AuthenticateOps.test.js +2 -4
- package/esm/ops/AuthenticateOps.test.js.map +1 -1
- package/esm/ops/CirclesOfTrustOps.js +3 -5
- package/esm/ops/CirclesOfTrustOps.js.map +1 -1
- package/esm/ops/ConnectionProfileOps.js +8 -8
- package/esm/ops/ConnectionProfileOps.js.map +1 -1
- package/esm/ops/ConnectionProfileOps.test.js +2 -2
- package/esm/ops/ConnectionProfileOps.test.js.map +1 -1
- package/esm/ops/EmailTemplateOps.js +1 -2
- package/esm/ops/EmailTemplateOps.js.map +1 -1
- package/esm/ops/EmailTemplateOps.test.js +2 -2
- package/esm/ops/EmailTemplateOps.test.js.map +1 -1
- package/esm/ops/IdmOps.js +2 -3
- package/esm/ops/IdmOps.js.map +1 -1
- package/esm/ops/IdmOps.test.js +2 -2
- package/esm/ops/IdmOps.test.js.map +1 -1
- package/esm/ops/IdpOps.js +8 -8
- package/esm/ops/IdpOps.js.map +1 -1
- package/esm/ops/IdpOps.test.js +2 -2
- package/esm/ops/IdpOps.test.js.map +1 -1
- package/esm/ops/InfoOps.js +6 -6
- package/esm/ops/InfoOps.js.map +1 -1
- package/esm/ops/JoseOps.test.js +4 -4
- package/esm/ops/JoseOps.test.js.map +1 -1
- package/esm/ops/JourneyOps.js +17 -17
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/ops/JourneyOps.test.js +4 -4
- package/esm/ops/JourneyOps.test.js.map +1 -1
- package/esm/ops/ManagedObjectOps.js +1 -2
- package/esm/ops/ManagedObjectOps.js.map +1 -1
- package/esm/ops/NodeOps.js +7 -7
- package/esm/ops/NodeOps.js.map +1 -1
- package/esm/ops/OAuth2ClientOps.js +7 -10
- package/esm/ops/OAuth2ClientOps.js.map +1 -1
- package/esm/ops/OAuth2ClientOps.test.js +3 -3
- package/esm/ops/OAuth2ClientOps.test.js.map +1 -1
- package/esm/ops/OAuth2ProviderOps.js +1 -2
- package/esm/ops/OAuth2ProviderOps.js.map +1 -1
- package/esm/ops/OrganizationOps.js +3 -4
- package/esm/ops/OrganizationOps.js.map +1 -1
- package/esm/ops/PolicyOps.js +9 -12
- package/esm/ops/PolicyOps.js.map +1 -1
- package/esm/ops/PolicyOps.test.js +6 -6
- package/esm/ops/PolicyOps.test.js.map +1 -1
- package/esm/ops/PolicySetOps.js +7 -10
- package/esm/ops/PolicySetOps.js.map +1 -1
- package/esm/ops/PolicySetOps.test.js +4 -4
- package/esm/ops/PolicySetOps.test.js.map +1 -1
- package/esm/ops/RealmOps.js +2 -3
- package/esm/ops/RealmOps.js.map +1 -1
- package/esm/ops/ResourceTypeOps.js +4 -4
- package/esm/ops/ResourceTypeOps.js.map +1 -1
- package/esm/ops/ResourceTypeOps.test.js +2 -2
- package/esm/ops/ResourceTypeOps.test.js.map +1 -1
- package/esm/ops/Saml2Ops.js +7 -7
- package/esm/ops/Saml2Ops.js.map +1 -1
- package/esm/ops/Saml2Ops.test.js +6 -6
- package/esm/ops/Saml2Ops.test.js.map +1 -1
- package/esm/ops/ScriptOps.js +5 -5
- package/esm/ops/ScriptOps.js.map +1 -1
- package/esm/ops/ScriptOps.test.js +2 -2
- package/esm/ops/ScriptOps.test.js.map +1 -1
- package/esm/ops/ServiceOps.js +2 -2
- package/esm/ops/ServiceOps.js.map +1 -1
- package/esm/ops/ThemeOps.js +3 -3
- package/esm/ops/ThemeOps.js.map +1 -1
- package/esm/ops/ThemeOps.test.js +3 -3
- package/esm/ops/ThemeOps.test.js.map +1 -1
- package/esm/ops/cloud/AdminFederationOps.js +4 -4
- package/esm/ops/cloud/AdminFederationOps.js.map +1 -1
- package/esm/ops/cloud/FeatureOps.js +2 -2
- package/esm/ops/cloud/FeatureOps.js.map +1 -1
- package/esm/ops/cloud/LogOps.js +1 -3
- package/esm/ops/cloud/LogOps.js.map +1 -1
- package/esm/ops/cloud/SecretsOps.js +4 -5
- package/esm/ops/cloud/SecretsOps.js.map +1 -1
- package/esm/ops/cloud/ServiceAccountOps.js +3 -3
- package/esm/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/esm/ops/cloud/ServiceAccountOps.test.js +3 -5
- package/esm/ops/cloud/ServiceAccountOps.test.js.map +1 -1
- package/esm/ops/cloud/StartupOps.js +4 -6
- package/esm/ops/cloud/StartupOps.js.map +1 -1
- package/esm/ops/cloud/VariablesOps.js +5 -6
- package/esm/ops/cloud/VariablesOps.js.map +1 -1
- package/esm/ops/utils/Console.js +1 -2
- package/esm/ops/utils/Console.js.map +1 -1
- package/esm/ops/utils/DataProtection.js +3 -3
- package/esm/ops/utils/DataProtection.js.map +1 -1
- package/esm/ops/utils/DataProtection.test.js +1 -1
- package/esm/ops/utils/DataProtection.test.js.map +1 -1
- package/esm/ops/utils/ExportImportUtils.js +4 -4
- package/esm/ops/utils/ExportImportUtils.js.map +1 -1
- package/esm/ops/utils/ExportImportUtils.test.js +1 -3
- package/esm/ops/utils/ExportImportUtils.test.js.map +1 -1
- package/esm/ops/utils/OpsUtils.js +3 -3
- package/esm/ops/utils/OpsUtils.js.map +1 -1
- package/esm/ops/utils/OpsUtils.test.js +3 -3
- package/esm/ops/utils/OpsUtils.test.js.map +1 -1
- package/esm/ops/utils/ValidationUtils.js +2 -2
- package/esm/ops/utils/ValidationUtils.js.map +1 -1
- package/esm/ops/utils/ValidationUtils.test.js +1 -1
- package/esm/ops/utils/ValidationUtils.test.js.map +1 -1
- package/esm/ops/utils/Version.js +1 -1
- package/esm/ops/utils/Version.js.map +1 -1
- package/esm/ops/utils/Version.test.js +1 -1
- package/esm/ops/utils/Version.test.js.map +1 -1
- package/esm/ops/utils/Wordwrap.test.js +1 -1
- package/esm/ops/utils/Wordwrap.test.js.map +1 -1
- package/esm/shared/State.test.js +1 -1
- package/esm/shared/State.test.js.map +1 -1
- package/esm/test/mocks/ForgeRockApiMockEngine.js +2 -2
- package/esm/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
- package/esm/utils/AutoSetupPolly.js +2 -2
- package/esm/utils/AutoSetupPolly.js.map +1 -1
- package/esm/utils/SetupPollyForFrodoLib.js +1 -1
- package/esm/utils/SetupPollyForFrodoLib.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { getOAuth2Provider as _getOAuth2Provider } from
|
|
2
|
-
|
|
1
|
+
import { getOAuth2Provider as _getOAuth2Provider } from "../api/OAuth2ProviderApi.js";
|
|
3
2
|
/**
|
|
4
3
|
* Get OAuth2 provider
|
|
5
4
|
* @returns {Promise<any>} a promise that resolves to an oauth2 provider object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OAuth2ProviderOps.js","names":["getOAuth2Provider","_getOAuth2Provider"],"sources":["../../src/ops/OAuth2ProviderOps.ts"],"sourcesContent":["import { getOAuth2Provider as _getOAuth2Provider } from '../api/OAuth2ProviderApi';\n\n/**\n * Get OAuth2 provider\n * @returns {Promise<any>} a promise that resolves to an oauth2 provider object\n */\nexport async function getOAuth2Provider() {\n return _getOAuth2Provider();\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"OAuth2ProviderOps.js","names":["getOAuth2Provider","_getOAuth2Provider"],"sources":["../../src/ops/OAuth2ProviderOps.ts"],"sourcesContent":["import { getOAuth2Provider as _getOAuth2Provider } from '../api/OAuth2ProviderApi';\n\n/**\n * Get OAuth2 provider\n * @returns {Promise<any>} a promise that resolves to an oauth2 provider object\n */\nexport async function getOAuth2Provider() {\n return _getOAuth2Provider();\n}\n"],"mappings":"SAASA,iBAAiB,IAAIC,kBAAkB;AAEhD;AACA;AACA;AACA;AACA,OAAO,eAAeD,iBAAiBA,CAAA,EAAG;EACxC,OAAOC,kBAAkB,CAAC,CAAC;AAC7B"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { queryAllManagedObjectsByType } from
|
|
2
|
-
import * as state from
|
|
3
|
-
import { printMessage } from
|
|
4
|
-
|
|
1
|
+
import { queryAllManagedObjectsByType } from "../api/IdmConfigApi.js";
|
|
2
|
+
import * as state from "../shared/State.js";
|
|
3
|
+
import { printMessage } from "./utils/Console.js";
|
|
5
4
|
/**
|
|
6
5
|
* Get organization managed object type
|
|
7
6
|
* @returns {String} organization managed object type in this realm
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrganizationOps.js","names":["queryAllManagedObjectsByType","state","printMessage","getRealmManagedOrganization","realmManagedOrg","getDeploymentType","global","CLOUD_DEPLOYMENT_TYPE_KEY","getRealm","getOrganizations","orgs","result","resultCount","pagedResultsCookie","totalPagedResultsPolicy","totalPagedResults","remainingPagedResults","queryAllManagedObjectsByTypeError","concat","error","response","data","listOrganizationsTopDown"],"sources":["../../src/ops/OrganizationOps.ts"],"sourcesContent":["import { queryAllManagedObjectsByType } from '../api/IdmConfigApi';\nimport * as state from '../shared/State';\nimport { printMessage } from './utils/Console';\n\n/**\n * Get organization managed object type\n * @returns {String} organization managed object type in this realm\n */\nexport function getRealmManagedOrganization() {\n let realmManagedOrg = 'organization';\n if (state.getDeploymentType() === global.CLOUD_DEPLOYMENT_TYPE_KEY) {\n realmManagedOrg = `${state.getRealm()}_organization`;\n }\n return realmManagedOrg;\n}\n\n/**\n * Get organizations\n * @returns {Promise} promise resolving to an object containing an array of organization objects\n */\nexport async function getOrganizations() {\n const orgs = [];\n let result = {\n result: [],\n resultCount: 0,\n pagedResultsCookie: null,\n totalPagedResultsPolicy: 'NONE',\n totalPagedResults: -1,\n remainingPagedResults: -1,\n };\n try {\n do {\n try {\n // eslint-disable-next-line no-await-in-loop\n result = await queryAllManagedObjectsByType(\n getRealmManagedOrganization(),\n ['name', 'parent/*/name', 'children/*/name'],\n result.pagedResultsCookie\n );\n } catch (queryAllManagedObjectsByTypeError) {\n printMessage(queryAllManagedObjectsByTypeError, 'error');\n printMessage(\n `Error querying ${getRealmManagedOrganization()} objects: ${queryAllManagedObjectsByTypeError}`,\n 'error'\n );\n }\n orgs.concat(result.result);\n printMessage('.', 'text', false);\n } while (result.pagedResultsCookie);\n } catch (error) {\n printMessage(error.response.data, 'error');\n printMessage(`Error retrieving all organizations: ${error}`, 'error');\n }\n return orgs;\n}\n\n// unfinished work\nexport async function listOrganizationsTopDown() {\n const orgs = [];\n let result = {\n result: [],\n resultCount: 0,\n pagedResultsCookie: null,\n totalPagedResultsPolicy: 'NONE',\n totalPagedResults: -1,\n remainingPagedResults: -1,\n };\n do {\n try {\n // eslint-disable-next-line no-await-in-loop\n result = await queryAllManagedObjectsByType(\n getRealmManagedOrganization(),\n ['name', 'parent/*/name', 'children/*/name'],\n result.pagedResultsCookie\n );\n } catch (queryAllManagedObjectsByTypeError) {\n printMessage(queryAllManagedObjectsByTypeError, 'error');\n printMessage(\n `Error querying ${getRealmManagedOrganization()} objects: ${queryAllManagedObjectsByTypeError}`,\n 'error'\n );\n }\n orgs.concat(result.result);\n printMessage('.', 'text', false);\n } while (result.pagedResultsCookie);\n return orgs;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"OrganizationOps.js","names":["queryAllManagedObjectsByType","state","printMessage","getRealmManagedOrganization","realmManagedOrg","getDeploymentType","global","CLOUD_DEPLOYMENT_TYPE_KEY","getRealm","getOrganizations","orgs","result","resultCount","pagedResultsCookie","totalPagedResultsPolicy","totalPagedResults","remainingPagedResults","queryAllManagedObjectsByTypeError","concat","error","response","data","listOrganizationsTopDown"],"sources":["../../src/ops/OrganizationOps.ts"],"sourcesContent":["import { queryAllManagedObjectsByType } from '../api/IdmConfigApi';\nimport * as state from '../shared/State';\nimport { printMessage } from './utils/Console';\n\n/**\n * Get organization managed object type\n * @returns {String} organization managed object type in this realm\n */\nexport function getRealmManagedOrganization() {\n let realmManagedOrg = 'organization';\n if (state.getDeploymentType() === global.CLOUD_DEPLOYMENT_TYPE_KEY) {\n realmManagedOrg = `${state.getRealm()}_organization`;\n }\n return realmManagedOrg;\n}\n\n/**\n * Get organizations\n * @returns {Promise} promise resolving to an object containing an array of organization objects\n */\nexport async function getOrganizations() {\n const orgs = [];\n let result = {\n result: [],\n resultCount: 0,\n pagedResultsCookie: null,\n totalPagedResultsPolicy: 'NONE',\n totalPagedResults: -1,\n remainingPagedResults: -1,\n };\n try {\n do {\n try {\n // eslint-disable-next-line no-await-in-loop\n result = await queryAllManagedObjectsByType(\n getRealmManagedOrganization(),\n ['name', 'parent/*/name', 'children/*/name'],\n result.pagedResultsCookie\n );\n } catch (queryAllManagedObjectsByTypeError) {\n printMessage(queryAllManagedObjectsByTypeError, 'error');\n printMessage(\n `Error querying ${getRealmManagedOrganization()} objects: ${queryAllManagedObjectsByTypeError}`,\n 'error'\n );\n }\n orgs.concat(result.result);\n printMessage('.', 'text', false);\n } while (result.pagedResultsCookie);\n } catch (error) {\n printMessage(error.response.data, 'error');\n printMessage(`Error retrieving all organizations: ${error}`, 'error');\n }\n return orgs;\n}\n\n// unfinished work\nexport async function listOrganizationsTopDown() {\n const orgs = [];\n let result = {\n result: [],\n resultCount: 0,\n pagedResultsCookie: null,\n totalPagedResultsPolicy: 'NONE',\n totalPagedResults: -1,\n remainingPagedResults: -1,\n };\n do {\n try {\n // eslint-disable-next-line no-await-in-loop\n result = await queryAllManagedObjectsByType(\n getRealmManagedOrganization(),\n ['name', 'parent/*/name', 'children/*/name'],\n result.pagedResultsCookie\n );\n } catch (queryAllManagedObjectsByTypeError) {\n printMessage(queryAllManagedObjectsByTypeError, 'error');\n printMessage(\n `Error querying ${getRealmManagedOrganization()} objects: ${queryAllManagedObjectsByTypeError}`,\n 'error'\n );\n }\n orgs.concat(result.result);\n printMessage('.', 'text', false);\n } while (result.pagedResultsCookie);\n return orgs;\n}\n"],"mappings":"SAASA,4BAA4B;AAAA,OAC9B,KAAKC,KAAK;AAAA,SACRC,YAAY;AAErB;AACA;AACA;AACA;AACA,OAAO,SAASC,2BAA2BA,CAAA,EAAG;EAC5C,IAAIC,eAAe,GAAG,cAAc;EACpC,IAAIH,KAAK,CAACI,iBAAiB,CAAC,CAAC,KAAKC,MAAM,CAACC,yBAAyB,EAAE;IAClEH,eAAe,GAAI,GAAEH,KAAK,CAACO,QAAQ,CAAC,CAAE,eAAc;EACtD;EACA,OAAOJ,eAAe;AACxB;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeK,gBAAgBA,CAAA,EAAG;EACvC,MAAMC,IAAI,GAAG,EAAE;EACf,IAAIC,MAAM,GAAG;IACXA,MAAM,EAAE,EAAE;IACVC,WAAW,EAAE,CAAC;IACdC,kBAAkB,EAAE,IAAI;IACxBC,uBAAuB,EAAE,MAAM;IAC/BC,iBAAiB,EAAE,CAAC,CAAC;IACrBC,qBAAqB,EAAE,CAAC;EAC1B,CAAC;EACD,IAAI;IACF,GAAG;MACD,IAAI;QACF;QACAL,MAAM,GAAG,MAAMX,4BAA4B,CACzCG,2BAA2B,CAAC,CAAC,EAC7B,CAAC,MAAM,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAC5CQ,MAAM,CAACE,kBACT,CAAC;MACH,CAAC,CAAC,OAAOI,iCAAiC,EAAE;QAC1Cf,YAAY,CAACe,iCAAiC,EAAE,OAAO,CAAC;QACxDf,YAAY,CACT,kBAAiBC,2BAA2B,CAAC,CAAE,aAAYc,iCAAkC,EAAC,EAC/F,OACF,CAAC;MACH;MACAP,IAAI,CAACQ,MAAM,CAACP,MAAM,CAACA,MAAM,CAAC;MAC1BT,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC;IAClC,CAAC,QAAQS,MAAM,CAACE,kBAAkB;EACpC,CAAC,CAAC,OAAOM,KAAK,EAAE;IACdjB,YAAY,CAACiB,KAAK,CAACC,QAAQ,CAACC,IAAI,EAAE,OAAO,CAAC;IAC1CnB,YAAY,CAAE,uCAAsCiB,KAAM,EAAC,EAAE,OAAO,CAAC;EACvE;EACA,OAAOT,IAAI;AACb;;AAEA;AACA,OAAO,eAAeY,wBAAwBA,CAAA,EAAG;EAC/C,MAAMZ,IAAI,GAAG,EAAE;EACf,IAAIC,MAAM,GAAG;IACXA,MAAM,EAAE,EAAE;IACVC,WAAW,EAAE,CAAC;IACdC,kBAAkB,EAAE,IAAI;IACxBC,uBAAuB,EAAE,MAAM;IAC/BC,iBAAiB,EAAE,CAAC,CAAC;IACrBC,qBAAqB,EAAE,CAAC;EAC1B,CAAC;EACD,GAAG;IACD,IAAI;MACF;MACAL,MAAM,GAAG,MAAMX,4BAA4B,CACzCG,2BAA2B,CAAC,CAAC,EAC7B,CAAC,MAAM,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAC5CQ,MAAM,CAACE,kBACT,CAAC;IACH,CAAC,CAAC,OAAOI,iCAAiC,EAAE;MAC1Cf,YAAY,CAACe,iCAAiC,EAAE,OAAO,CAAC;MACxDf,YAAY,CACT,kBAAiBC,2BAA2B,CAAC,CAAE,aAAYc,iCAAkC,EAAC,EAC/F,OACF,CAAC;IACH;IACAP,IAAI,CAACQ,MAAM,CAACP,MAAM,CAACA,MAAM,CAAC;IAC1BT,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC;EAClC,CAAC,QAAQS,MAAM,CAACE,kBAAkB;EAClC,OAAOH,IAAI;AACb"}
|
package/esm/ops/PolicyOps.js
CHANGED
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
import { getPolicies as _getPolicies, getPoliciesByPolicySet as _getPoliciesByPolicySet, getPolicy as _getPolicy, putPolicy as _putPolicy, deletePolicy as _deletePolicy } from
|
|
2
|
-
import { getScript, putScript } from
|
|
3
|
-
import { convertBase64TextToArray } from
|
|
4
|
-
import { PolicyConditionType } from
|
|
5
|
-
import { getMetadata } from
|
|
6
|
-
import { debugMessage } from
|
|
7
|
-
import { getResourceType } from
|
|
8
|
-
import { createPolicySet, getPolicySet, updatePolicySet } from
|
|
9
|
-
import { createResourceType, updateResourceType } from
|
|
10
|
-
|
|
1
|
+
import { getPolicies as _getPolicies, getPoliciesByPolicySet as _getPoliciesByPolicySet, getPolicy as _getPolicy, putPolicy as _putPolicy, deletePolicy as _deletePolicy } from "../api/PoliciesApi.js";
|
|
2
|
+
import { getScript, putScript } from "./ScriptOps.js";
|
|
3
|
+
import { convertBase64TextToArray } from "./utils/ExportImportUtils.js";
|
|
4
|
+
import { PolicyConditionType } from "../api/ApiTypes.js";
|
|
5
|
+
import { getMetadata } from "./utils/ExportImportUtils.js";
|
|
6
|
+
import { debugMessage } from "./utils/Console.js";
|
|
7
|
+
import { getResourceType } from "../api/ResourceTypesApi.js";
|
|
8
|
+
import { createPolicySet, getPolicySet, updatePolicySet } from "./PolicySetOps.js";
|
|
9
|
+
import { createResourceType, updateResourceType } from "./ResourceTypeOps.js";
|
|
11
10
|
/**
|
|
12
11
|
* Policy export options
|
|
13
12
|
*/
|
|
14
|
-
|
|
15
13
|
/**
|
|
16
14
|
* Policy import options
|
|
17
15
|
*/
|
|
18
|
-
|
|
19
16
|
/**
|
|
20
17
|
* Create an empty export template
|
|
21
18
|
* @returns {PolicyExportInterface} an empty export template
|
package/esm/ops/PolicyOps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolicyOps.js","names":["getPolicies","_getPolicies","getPoliciesByPolicySet","_getPoliciesByPolicySet","getPolicy","_getPolicy","putPolicy","_putPolicy","deletePolicy","_deletePolicy","getScript","putScript","convertBase64TextToArray","PolicyConditionType","getMetadata","debugMessage","getResourceType","createPolicySet","getPolicySet","updatePolicySet","createResourceType","updateResourceType","createPolicyExportTemplate","meta","script","policy","resourcetype","policyset","result","policySetId","data","policyId","policyData","findScriptUuids","condition","scriptUuids","type","AND","toString","OR","NOT","push","conditions","cond","Script","scriptId","Set","getScripts","errors","scripts","scriptUuid","error","message","length","errorMessages","map","join","Error","exportPolicyPrerequisites","exportData","resourceTypeUuid","resourceType","applicationName","policySet","exportPolicyDependencies","options","scriptData","useStringArrays","_id","exportPolicy","deps","prereqs","exportPolicies","policies","exportPoliciesByPolicySet","policySetName","importPolicyPrerequisites","_error$response","response","status","_error$response2","_error$response3","_error$response3$data","_error$response4","_error$response4$data","importPolicyDependencies","_error$response5","_error$response6","_error$response6$data","_error$response7","_error$response7$data","_error$response8","_error$response8$data","importPolicy","importData","imported","id","Object","keys","_rev","_error$response9","_error$response9$data","importFirstPolicy","_error$response10","_error$response10$dat","importPolicies","_error$response11","_error$response11$dat"],"sources":["../../src/ops/PolicyOps.ts"],"sourcesContent":["import {\n getPolicies as _getPolicies,\n getPoliciesByPolicySet as _getPoliciesByPolicySet,\n getPolicy as _getPolicy,\n putPolicy as _putPolicy,\n deletePolicy as _deletePolicy,\n} from '../api/PoliciesApi';\nimport { getScript, putScript } from './ScriptOps';\nimport { convertBase64TextToArray } from './utils/ExportImportUtils';\nimport { ExportMetaData } from './OpsTypes';\nimport {\n PolicyCondition,\n PolicyConditionType,\n PolicySetSkeleton,\n PolicySkeleton,\n ResourceTypeSkeleton,\n ScriptSkeleton,\n} from '../api/ApiTypes';\nimport { getMetadata } from './utils/ExportImportUtils';\nimport { debugMessage } from './utils/Console';\nimport { getResourceType } from '../api/ResourceTypesApi';\nimport { createPolicySet, getPolicySet, updatePolicySet } from './PolicySetOps';\nimport { createResourceType, updateResourceType } from './ResourceTypeOps';\n\nexport interface PolicyExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n resourcetype: Record<string, ResourceTypeSkeleton>;\n policy: Record<string, PolicySkeleton>;\n policyset: Record<string, PolicySetSkeleton>;\n}\n\n/**\n * Policy export options\n */\nexport interface PolicyExportOptions {\n /**\n * Include any dependencies (scripts).\n */\n deps: boolean;\n /**\n * Include any prerequisites (policy sets, resource types).\n */\n prereqs: boolean;\n /**\n * Use string arrays to store multi-line text in scripts.\n */\n useStringArrays: boolean;\n}\n\n/**\n * Policy import options\n */\nexport interface PolicyImportOptions {\n /**\n * Include any dependencies (scripts).\n */\n deps: boolean;\n /**\n * Include any prerequisites (policy sets, resource types).\n */\n prereqs: boolean;\n /**\n * Import policies into different policy set\n */\n policySetName?: string;\n}\n\n/**\n * Create an empty export template\n * @returns {PolicyExportInterface} an empty export template\n */\nfunction createPolicyExportTemplate(): PolicyExportInterface {\n return {\n meta: getMetadata(),\n script: {},\n policy: {},\n resourcetype: {},\n policyset: {},\n } as PolicyExportInterface;\n}\n\n/**\n * Get all policies\n * @returns {Promise<PolicySkeleton>} a promise that resolves to an array of policy set objects\n */\nexport async function getPolicies(): Promise<PolicySkeleton[]> {\n const { result } = await _getPolicies();\n return result;\n}\n\n/**\n * Get policies by policy set\n * @param {string} policySetId policy set id/name\n * @returns {Promise<PolicySkeleton[]>} a promise resolving to an array of policy objects\n */\nexport async function getPoliciesByPolicySet(\n policySetId: string\n): Promise<PolicySkeleton[]> {\n const data = await _getPoliciesByPolicySet(policySetId);\n return data.result;\n}\n\n/**\n * Get policy\n * @param {string} policyId policy id/name\n * @returns {Promise<PolicySkeleton>} a promise that resolves to a policy object\n */\nexport async function getPolicy(policyId: string): Promise<PolicySkeleton> {\n return _getPolicy(policyId);\n}\n\n/**\n * Put policy\n * @param {string} policyId policy id/name\n * @param {PolicySkeleton} policyData policy object\n * @returns {Promise<PolicySkeleton>} a promise that resolves to a policy object\n */\nexport async function putPolicy(\n policyId: string,\n policyData: PolicySkeleton\n): Promise<PolicySkeleton> {\n return _putPolicy(policyId, policyData);\n}\n\n/**\n * Delete policy\n * @param {string} policyId policy id/name\n * @returns {Promise<PolicySkeleton>} a promise that resolves to a policy object\n */\nexport async function deletePolicy(policyId: string): Promise<PolicySkeleton> {\n return _deletePolicy(policyId);\n}\n\n/**\n * Find all script references in a deeply-nested policy condition object\n * @param {PolicyCondition} condition condition object\n * @returns {string[]} array of script UUIDs\n * \n * Sample condition block:\n * \n \"condition\": {\n \"type\": \"AND\",\n \"conditions\": [\n {\n \"type\": \"Script\",\n \"scriptId\": \"62f18ede-e5e7-4a7b-8b73-1b02fcbd241a\"\n },\n {\n \"type\": \"AuthenticateToService\",\n \"authenticateToService\": \"TxAuthz\"\n },\n {\n \"type\": \"OR\",\n \"conditions\": [\n {\n \"type\": \"Session\",\n \"maxSessionTime\": 5,\n \"terminateSession\": false\n },\n {\n \"type\": \"OAuth2Scope\",\n \"requiredScopes\": [\n \"openid\"\n ]\n },\n {\n \"type\": \"NOT\",\n \"condition\": {\n \"type\": \"Script\",\n \"scriptId\": \"729ee140-a4e9-43af-b358-d60eeda13cc3\"\n }\n }\n ]\n }\n ]\n },\n*/\nexport function findScriptUuids(condition: PolicyCondition): string[] {\n let scriptUuids: string[] = [];\n if (!condition) return scriptUuids;\n if (\n condition.type === PolicyConditionType.AND.toString() ||\n condition.type === PolicyConditionType.OR.toString() ||\n condition.type === PolicyConditionType.NOT.toString()\n ) {\n // single condition\n if (condition.condition) {\n scriptUuids.push(...findScriptUuids(condition.condition));\n }\n // array of conditions\n if (condition.conditions) {\n for (const cond of condition.conditions) {\n scriptUuids.push(...findScriptUuids(cond));\n }\n }\n } else if (condition.type === PolicyConditionType.Script.toString()) {\n scriptUuids.push(condition.scriptId as string);\n }\n // de-duplicate\n scriptUuids = [...new Set(scriptUuids)];\n return scriptUuids;\n}\n\n/**\n * Get scripts for a policy object\n * @param {PolicySkeleton} policyData policy object\n * @returns {Promise<ScriptSkeleton[]>} a promise that resolves to an array of script objects\n */\nexport async function getScripts(\n policyData: PolicySkeleton\n): Promise<ScriptSkeleton[]> {\n debugMessage(`PolicyOps.getScripts: start [policy=${policyData['name']}]`);\n const errors = [];\n const scripts = [];\n try {\n const scriptUuids = findScriptUuids(policyData.condition);\n debugMessage(`found scripts: ${scriptUuids}`);\n for (const scriptUuid of scriptUuids) {\n try {\n const script = await getScript(scriptUuid);\n scripts.push(script);\n } catch (error) {\n error.message = `Error retrieving script ${scriptUuid} referenced in policy ${policyData['name']}: ${error.message}`;\n errors.push(error);\n }\n }\n } catch (error) {\n error.message = `Error finding scripts in policy ${policyData['name']}: ${error.message}`;\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage(`PolicySetOps.getScripts: end`);\n return scripts;\n}\n\n/**\n * Helper function to export dependencies of a policy set\n * @param {unknown} policyData policy set data\n * @param {PolicyExportOptions} options export options\n * @param {PolicyExportInterface} exportData export data\n */\nasync function exportPolicyPrerequisites(\n policyData: PolicySkeleton,\n exportData: PolicyExportInterface\n) {\n debugMessage(\n `PolicyOps.exportPolicyPrerequisites: start [policy=${policyData['name']}]`\n );\n // resource types\n if (policyData.resourceTypeUuid) {\n const resourceType = await getResourceType(policyData.resourceTypeUuid);\n exportData.resourcetype[policyData.resourceTypeUuid] = resourceType;\n }\n // policy set\n if (policyData.applicationName) {\n const policySet = await getPolicySet(policyData.applicationName);\n exportData.policyset[policyData.applicationName] = policySet;\n }\n debugMessage(`PolicySetOps.exportPolicyPrerequisites: end`);\n}\n\n/**\n * Helper function to export dependencies of a policy set\n * @param {unknown} policyData policy set data\n * @param {PolicyExportOptions} options export options\n * @param {PolicyExportInterface} exportData export data\n */\nasync function exportPolicyDependencies(\n policyData: PolicySkeleton,\n options: PolicyExportOptions,\n exportData: PolicyExportInterface\n) {\n debugMessage(\n `PolicyOps.exportPolicyDependencies: start [policy=${policyData['name']}]`\n );\n // scripts\n const scripts = await getScripts(policyData);\n for (const scriptData of scripts) {\n if (options.useStringArrays) {\n scriptData.script = convertBase64TextToArray(scriptData.script);\n }\n exportData.script[scriptData._id] = scriptData;\n }\n debugMessage(`PolicySetOps.exportPolicySetDependencies: end`);\n}\n\n/**\n * Export policy\n * @param {string} policyId policy id/name\n * @returns {Promise<PolicyExportInterface>} a promise that resolves to a PolicyExportInterface object\n */\nexport async function exportPolicy(\n policyId: string,\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<PolicyExportInterface> {\n debugMessage(`PolicyOps.exportPolicy: start`);\n const policyData = await getPolicy(policyId);\n const exportData = createPolicyExportTemplate();\n exportData.policy[policyData._id] = policyData;\n if (options.prereqs) {\n await exportPolicyPrerequisites(policyData, exportData);\n }\n if (options.deps) {\n await exportPolicyDependencies(policyData, options, exportData);\n }\n debugMessage(`PolicyOps.exportPolicy: end`);\n return exportData;\n}\n\n/**\n * Export policies\n * @param {PolicyExportOptions} options export options\n * @returns {Promise<PolicyExportInterface>} a promise that resolves to an PolicyExportInterface object\n */\nexport async function exportPolicies(\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<PolicyExportInterface> {\n debugMessage(`PolicyOps.exportPolicies: start`);\n const exportData = createPolicyExportTemplate();\n const errors = [];\n try {\n const policies = await getPolicies();\n for (const policyData of policies) {\n exportData.policy[policyData._id] = policyData;\n if (options.prereqs) {\n try {\n await exportPolicyPrerequisites(policyData, exportData);\n } catch (error) {\n errors.push(error);\n }\n }\n if (options.deps) {\n try {\n await exportPolicyDependencies(policyData, options, exportData);\n } catch (error) {\n errors.push(error);\n }\n }\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage(`PolicyOps.exportPolicies: end`);\n return exportData;\n}\n\n/**\n * Export policies by policy set\n * @param {string} policySetName policy set id/name\n * @param {PolicyExportOptions} options export options\n * @returns {Promise<PolicyExportInterface>} a promise that resolves to an PolicyExportInterface object\n */\nexport async function exportPoliciesByPolicySet(\n policySetName: string,\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<PolicyExportInterface> {\n debugMessage(`PolicyOps.exportPolicies: start`);\n const exportData = createPolicyExportTemplate();\n const errors = [];\n try {\n const policies = await getPoliciesByPolicySet(policySetName);\n for (const policyData of policies) {\n exportData.policy[policyData._id] = policyData;\n if (options.prereqs) {\n try {\n await exportPolicyPrerequisites(policyData, exportData);\n } catch (error) {\n errors.push(error);\n }\n }\n if (options.deps) {\n try {\n await exportPolicyDependencies(policyData, options, exportData);\n } catch (error) {\n errors.push(error);\n }\n }\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage(`PolicyOps.exportPolicies: end`);\n return exportData;\n}\n\n/**\n * Helper function to import hard dependencies of a policy\n * @param {PolicySkeleton} policyData policy object\n * @param {PolicyExportInterface} exportData export data\n */\nasync function importPolicyPrerequisites(\n policyData: PolicySkeleton,\n exportData: PolicyExportInterface\n) {\n debugMessage(\n `PolicyOps.importPolicyHardDependencies: start [policy=${policyData._id}]`\n );\n const errors = [];\n try {\n // resource type\n if (exportData.resourcetype[policyData.resourceTypeUuid]) {\n try {\n debugMessage(`Importing resource type ${policyData.resourceTypeUuid}`);\n await createResourceType(\n exportData.resourcetype[policyData.resourceTypeUuid]\n );\n } catch (error) {\n if (error.response?.status === 409)\n await updateResourceType(\n policyData.resourceTypeUuid,\n exportData.resourcetype[policyData.resourceTypeUuid]\n );\n else throw error;\n }\n }\n // policy set\n if (exportData.policyset[policyData.applicationName]) {\n try {\n debugMessage(`Importing policy set ${policyData.applicationName}`);\n await createPolicySet(exportData.policyset[policyData.applicationName]);\n } catch (error) {\n if (error.response?.status === 409)\n await updatePolicySet(\n exportData.policyset[policyData.applicationName]\n );\n else throw error;\n }\n }\n } catch (error) {\n error.message = `Error importing hard dependencies for policy ${\n policyData._id\n }: ${error.response?.data?.message || error.message}`;\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import hard dependencies error:\\n${errorMessages}`);\n }\n debugMessage(`PolicyOps.importPolicyHardDependencies: end`);\n}\n\n/**\n * Helper function to import soft dependencies of a policy\n * @param {PolicySkeleton} policyData policy object\n * @param {PolicyExportInterface} exportData export data\n */\nasync function importPolicyDependencies(\n policyData: PolicySkeleton,\n exportData: PolicyExportInterface\n) {\n debugMessage(\n `PolicyOps.importPolicySoftDependencies: start [policy=${policyData._id}]`\n );\n const errors = [];\n try {\n // scripts\n const scriptUuids = findScriptUuids(policyData.condition);\n for (const scriptUuid of scriptUuids) {\n try {\n const scriptData = exportData.script[scriptUuid];\n debugMessage(`Importing script ${scriptUuid}`);\n await putScript(scriptUuid, scriptData);\n } catch (error) {\n debugMessage(error.response?.data);\n error.message = `Error importing script ${scriptUuid} for policy ${\n policyData._id\n }: ${error.response?.data?.message || error.message}`;\n errors.push(error);\n }\n }\n } catch (error) {\n error.message = `Error importing soft dependencies for policy ${\n policyData._id\n }: ${error.response?.data?.message || error.message}`;\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import soft dependencies error:\\n${errorMessages}`);\n }\n debugMessage(`PolicyOps.importPolicySoftDependencies: end`);\n}\n\n/**\n * Import policy by id\n * @param {string} policyId policy id\n * @param {PolicyExportInterface} importData import data\n * @param {PolicyImportOptions} options import options\n * @returns {Promise<PolicySkeleton>} imported policy object\n */\nexport async function importPolicy(\n policyId: string,\n importData: PolicyExportInterface,\n options: PolicyImportOptions = { deps: true, prereqs: false }\n): Promise<PolicySkeleton> {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.policy)) {\n if (id === policyId) {\n try {\n const policyData = importData.policy[id];\n delete policyData._rev;\n if (options.policySetName) {\n policyData.applicationName = options.policySetName;\n }\n if (options.prereqs) {\n try {\n await importPolicyPrerequisites(policyData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n try {\n response = await putPolicy(policyData._id, policyData);\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n if (options.deps) {\n try {\n await importPolicyDependencies(policyData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n }\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\n${policyId} not found in import data!`);\n }\n return response;\n}\n\n/**\n * Import first policy\n * @param {PolicyExportInterface} importData import data\n * @param {PolicyImportOptions} options import options\n * @returns {Promise<PolicySkeleton>} imported policy object\n */\nexport async function importFirstPolicy(\n importData: PolicyExportInterface,\n options: PolicyImportOptions = { deps: true, prereqs: false }\n): Promise<PolicySkeleton> {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.policy)) {\n try {\n const policyData = importData.policy[id];\n delete policyData._rev;\n if (options.policySetName) {\n policyData.applicationName = options.policySetName;\n }\n if (options.prereqs) {\n try {\n await importPolicyPrerequisites(policyData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n try {\n response = await putPolicy(policyData._id, policyData);\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n if (options.deps) {\n try {\n await importPolicyDependencies(policyData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n break;\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo policy found in import data!`);\n }\n return response;\n}\n\n/**\n * Import policies\n * @param {PolicyExportInterface} importData import data\n * @param {PolicyImportOptions} options import options\n * @returns {Promise<PolicySkeleton[]>} array of imported policy objects\n */\nexport async function importPolicies(\n importData: PolicyExportInterface,\n options: PolicyImportOptions = { deps: true, prereqs: false }\n): Promise<PolicySkeleton[]> {\n const response = [];\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.policy)) {\n try {\n const policyData = importData.policy[id];\n delete policyData._rev;\n if (options.policySetName) {\n policyData.applicationName = options.policySetName;\n }\n if (options.prereqs) {\n try {\n await importPolicyPrerequisites(policyData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n try {\n response.push(await putPolicy(policyData._id, policyData));\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n if (options.deps) {\n try {\n await importPolicyDependencies(policyData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo policies found in import data!`);\n }\n return response;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PolicyOps.js","names":["getPolicies","_getPolicies","getPoliciesByPolicySet","_getPoliciesByPolicySet","getPolicy","_getPolicy","putPolicy","_putPolicy","deletePolicy","_deletePolicy","getScript","putScript","convertBase64TextToArray","PolicyConditionType","getMetadata","debugMessage","getResourceType","createPolicySet","getPolicySet","updatePolicySet","createResourceType","updateResourceType","createPolicyExportTemplate","meta","script","policy","resourcetype","policyset","result","policySetId","data","policyId","policyData","findScriptUuids","condition","scriptUuids","type","AND","toString","OR","NOT","push","conditions","cond","Script","scriptId","Set","getScripts","errors","scripts","scriptUuid","error","message","length","errorMessages","map","join","Error","exportPolicyPrerequisites","exportData","resourceTypeUuid","resourceType","applicationName","policySet","exportPolicyDependencies","options","scriptData","useStringArrays","_id","exportPolicy","deps","prereqs","exportPolicies","policies","exportPoliciesByPolicySet","policySetName","importPolicyPrerequisites","_error$response","response","status","_error$response2","_error$response3","_error$response3$data","_error$response4","_error$response4$data","importPolicyDependencies","_error$response5","_error$response6","_error$response6$data","_error$response7","_error$response7$data","_error$response8","_error$response8$data","importPolicy","importData","imported","id","Object","keys","_rev","_error$response9","_error$response9$data","importFirstPolicy","_error$response10","_error$response10$dat","importPolicies","_error$response11","_error$response11$dat"],"sources":["../../src/ops/PolicyOps.ts"],"sourcesContent":["import {\n getPolicies as _getPolicies,\n getPoliciesByPolicySet as _getPoliciesByPolicySet,\n getPolicy as _getPolicy,\n putPolicy as _putPolicy,\n deletePolicy as _deletePolicy,\n} from '../api/PoliciesApi';\nimport { getScript, putScript } from './ScriptOps';\nimport { convertBase64TextToArray } from './utils/ExportImportUtils';\nimport { ExportMetaData } from './OpsTypes';\nimport {\n PolicyCondition,\n PolicyConditionType,\n PolicySetSkeleton,\n PolicySkeleton,\n ResourceTypeSkeleton,\n ScriptSkeleton,\n} from '../api/ApiTypes';\nimport { getMetadata } from './utils/ExportImportUtils';\nimport { debugMessage } from './utils/Console';\nimport { getResourceType } from '../api/ResourceTypesApi';\nimport { createPolicySet, getPolicySet, updatePolicySet } from './PolicySetOps';\nimport { createResourceType, updateResourceType } from './ResourceTypeOps';\n\nexport interface PolicyExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n resourcetype: Record<string, ResourceTypeSkeleton>;\n policy: Record<string, PolicySkeleton>;\n policyset: Record<string, PolicySetSkeleton>;\n}\n\n/**\n * Policy export options\n */\nexport interface PolicyExportOptions {\n /**\n * Include any dependencies (scripts).\n */\n deps: boolean;\n /**\n * Include any prerequisites (policy sets, resource types).\n */\n prereqs: boolean;\n /**\n * Use string arrays to store multi-line text in scripts.\n */\n useStringArrays: boolean;\n}\n\n/**\n * Policy import options\n */\nexport interface PolicyImportOptions {\n /**\n * Include any dependencies (scripts).\n */\n deps: boolean;\n /**\n * Include any prerequisites (policy sets, resource types).\n */\n prereqs: boolean;\n /**\n * Import policies into different policy set\n */\n policySetName?: string;\n}\n\n/**\n * Create an empty export template\n * @returns {PolicyExportInterface} an empty export template\n */\nfunction createPolicyExportTemplate(): PolicyExportInterface {\n return {\n meta: getMetadata(),\n script: {},\n policy: {},\n resourcetype: {},\n policyset: {},\n } as PolicyExportInterface;\n}\n\n/**\n * Get all policies\n * @returns {Promise<PolicySkeleton>} a promise that resolves to an array of policy set objects\n */\nexport async function getPolicies(): Promise<PolicySkeleton[]> {\n const { result } = await _getPolicies();\n return result;\n}\n\n/**\n * Get policies by policy set\n * @param {string} policySetId policy set id/name\n * @returns {Promise<PolicySkeleton[]>} a promise resolving to an array of policy objects\n */\nexport async function getPoliciesByPolicySet(\n policySetId: string\n): Promise<PolicySkeleton[]> {\n const data = await _getPoliciesByPolicySet(policySetId);\n return data.result;\n}\n\n/**\n * Get policy\n * @param {string} policyId policy id/name\n * @returns {Promise<PolicySkeleton>} a promise that resolves to a policy object\n */\nexport async function getPolicy(policyId: string): Promise<PolicySkeleton> {\n return _getPolicy(policyId);\n}\n\n/**\n * Put policy\n * @param {string} policyId policy id/name\n * @param {PolicySkeleton} policyData policy object\n * @returns {Promise<PolicySkeleton>} a promise that resolves to a policy object\n */\nexport async function putPolicy(\n policyId: string,\n policyData: PolicySkeleton\n): Promise<PolicySkeleton> {\n return _putPolicy(policyId, policyData);\n}\n\n/**\n * Delete policy\n * @param {string} policyId policy id/name\n * @returns {Promise<PolicySkeleton>} a promise that resolves to a policy object\n */\nexport async function deletePolicy(policyId: string): Promise<PolicySkeleton> {\n return _deletePolicy(policyId);\n}\n\n/**\n * Find all script references in a deeply-nested policy condition object\n * @param {PolicyCondition} condition condition object\n * @returns {string[]} array of script UUIDs\n * \n * Sample condition block:\n * \n \"condition\": {\n \"type\": \"AND\",\n \"conditions\": [\n {\n \"type\": \"Script\",\n \"scriptId\": \"62f18ede-e5e7-4a7b-8b73-1b02fcbd241a\"\n },\n {\n \"type\": \"AuthenticateToService\",\n \"authenticateToService\": \"TxAuthz\"\n },\n {\n \"type\": \"OR\",\n \"conditions\": [\n {\n \"type\": \"Session\",\n \"maxSessionTime\": 5,\n \"terminateSession\": false\n },\n {\n \"type\": \"OAuth2Scope\",\n \"requiredScopes\": [\n \"openid\"\n ]\n },\n {\n \"type\": \"NOT\",\n \"condition\": {\n \"type\": \"Script\",\n \"scriptId\": \"729ee140-a4e9-43af-b358-d60eeda13cc3\"\n }\n }\n ]\n }\n ]\n },\n*/\nexport function findScriptUuids(condition: PolicyCondition): string[] {\n let scriptUuids: string[] = [];\n if (!condition) return scriptUuids;\n if (\n condition.type === PolicyConditionType.AND.toString() ||\n condition.type === PolicyConditionType.OR.toString() ||\n condition.type === PolicyConditionType.NOT.toString()\n ) {\n // single condition\n if (condition.condition) {\n scriptUuids.push(...findScriptUuids(condition.condition));\n }\n // array of conditions\n if (condition.conditions) {\n for (const cond of condition.conditions) {\n scriptUuids.push(...findScriptUuids(cond));\n }\n }\n } else if (condition.type === PolicyConditionType.Script.toString()) {\n scriptUuids.push(condition.scriptId as string);\n }\n // de-duplicate\n scriptUuids = [...new Set(scriptUuids)];\n return scriptUuids;\n}\n\n/**\n * Get scripts for a policy object\n * @param {PolicySkeleton} policyData policy object\n * @returns {Promise<ScriptSkeleton[]>} a promise that resolves to an array of script objects\n */\nexport async function getScripts(\n policyData: PolicySkeleton\n): Promise<ScriptSkeleton[]> {\n debugMessage(`PolicyOps.getScripts: start [policy=${policyData['name']}]`);\n const errors = [];\n const scripts = [];\n try {\n const scriptUuids = findScriptUuids(policyData.condition);\n debugMessage(`found scripts: ${scriptUuids}`);\n for (const scriptUuid of scriptUuids) {\n try {\n const script = await getScript(scriptUuid);\n scripts.push(script);\n } catch (error) {\n error.message = `Error retrieving script ${scriptUuid} referenced in policy ${policyData['name']}: ${error.message}`;\n errors.push(error);\n }\n }\n } catch (error) {\n error.message = `Error finding scripts in policy ${policyData['name']}: ${error.message}`;\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage(`PolicySetOps.getScripts: end`);\n return scripts;\n}\n\n/**\n * Helper function to export dependencies of a policy set\n * @param {unknown} policyData policy set data\n * @param {PolicyExportOptions} options export options\n * @param {PolicyExportInterface} exportData export data\n */\nasync function exportPolicyPrerequisites(\n policyData: PolicySkeleton,\n exportData: PolicyExportInterface\n) {\n debugMessage(\n `PolicyOps.exportPolicyPrerequisites: start [policy=${policyData['name']}]`\n );\n // resource types\n if (policyData.resourceTypeUuid) {\n const resourceType = await getResourceType(policyData.resourceTypeUuid);\n exportData.resourcetype[policyData.resourceTypeUuid] = resourceType;\n }\n // policy set\n if (policyData.applicationName) {\n const policySet = await getPolicySet(policyData.applicationName);\n exportData.policyset[policyData.applicationName] = policySet;\n }\n debugMessage(`PolicySetOps.exportPolicyPrerequisites: end`);\n}\n\n/**\n * Helper function to export dependencies of a policy set\n * @param {unknown} policyData policy set data\n * @param {PolicyExportOptions} options export options\n * @param {PolicyExportInterface} exportData export data\n */\nasync function exportPolicyDependencies(\n policyData: PolicySkeleton,\n options: PolicyExportOptions,\n exportData: PolicyExportInterface\n) {\n debugMessage(\n `PolicyOps.exportPolicyDependencies: start [policy=${policyData['name']}]`\n );\n // scripts\n const scripts = await getScripts(policyData);\n for (const scriptData of scripts) {\n if (options.useStringArrays) {\n scriptData.script = convertBase64TextToArray(scriptData.script);\n }\n exportData.script[scriptData._id] = scriptData;\n }\n debugMessage(`PolicySetOps.exportPolicySetDependencies: end`);\n}\n\n/**\n * Export policy\n * @param {string} policyId policy id/name\n * @returns {Promise<PolicyExportInterface>} a promise that resolves to a PolicyExportInterface object\n */\nexport async function exportPolicy(\n policyId: string,\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<PolicyExportInterface> {\n debugMessage(`PolicyOps.exportPolicy: start`);\n const policyData = await getPolicy(policyId);\n const exportData = createPolicyExportTemplate();\n exportData.policy[policyData._id] = policyData;\n if (options.prereqs) {\n await exportPolicyPrerequisites(policyData, exportData);\n }\n if (options.deps) {\n await exportPolicyDependencies(policyData, options, exportData);\n }\n debugMessage(`PolicyOps.exportPolicy: end`);\n return exportData;\n}\n\n/**\n * Export policies\n * @param {PolicyExportOptions} options export options\n * @returns {Promise<PolicyExportInterface>} a promise that resolves to an PolicyExportInterface object\n */\nexport async function exportPolicies(\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<PolicyExportInterface> {\n debugMessage(`PolicyOps.exportPolicies: start`);\n const exportData = createPolicyExportTemplate();\n const errors = [];\n try {\n const policies = await getPolicies();\n for (const policyData of policies) {\n exportData.policy[policyData._id] = policyData;\n if (options.prereqs) {\n try {\n await exportPolicyPrerequisites(policyData, exportData);\n } catch (error) {\n errors.push(error);\n }\n }\n if (options.deps) {\n try {\n await exportPolicyDependencies(policyData, options, exportData);\n } catch (error) {\n errors.push(error);\n }\n }\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage(`PolicyOps.exportPolicies: end`);\n return exportData;\n}\n\n/**\n * Export policies by policy set\n * @param {string} policySetName policy set id/name\n * @param {PolicyExportOptions} options export options\n * @returns {Promise<PolicyExportInterface>} a promise that resolves to an PolicyExportInterface object\n */\nexport async function exportPoliciesByPolicySet(\n policySetName: string,\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<PolicyExportInterface> {\n debugMessage(`PolicyOps.exportPolicies: start`);\n const exportData = createPolicyExportTemplate();\n const errors = [];\n try {\n const policies = await getPoliciesByPolicySet(policySetName);\n for (const policyData of policies) {\n exportData.policy[policyData._id] = policyData;\n if (options.prereqs) {\n try {\n await exportPolicyPrerequisites(policyData, exportData);\n } catch (error) {\n errors.push(error);\n }\n }\n if (options.deps) {\n try {\n await exportPolicyDependencies(policyData, options, exportData);\n } catch (error) {\n errors.push(error);\n }\n }\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage(`PolicyOps.exportPolicies: end`);\n return exportData;\n}\n\n/**\n * Helper function to import hard dependencies of a policy\n * @param {PolicySkeleton} policyData policy object\n * @param {PolicyExportInterface} exportData export data\n */\nasync function importPolicyPrerequisites(\n policyData: PolicySkeleton,\n exportData: PolicyExportInterface\n) {\n debugMessage(\n `PolicyOps.importPolicyHardDependencies: start [policy=${policyData._id}]`\n );\n const errors = [];\n try {\n // resource type\n if (exportData.resourcetype[policyData.resourceTypeUuid]) {\n try {\n debugMessage(`Importing resource type ${policyData.resourceTypeUuid}`);\n await createResourceType(\n exportData.resourcetype[policyData.resourceTypeUuid]\n );\n } catch (error) {\n if (error.response?.status === 409)\n await updateResourceType(\n policyData.resourceTypeUuid,\n exportData.resourcetype[policyData.resourceTypeUuid]\n );\n else throw error;\n }\n }\n // policy set\n if (exportData.policyset[policyData.applicationName]) {\n try {\n debugMessage(`Importing policy set ${policyData.applicationName}`);\n await createPolicySet(exportData.policyset[policyData.applicationName]);\n } catch (error) {\n if (error.response?.status === 409)\n await updatePolicySet(\n exportData.policyset[policyData.applicationName]\n );\n else throw error;\n }\n }\n } catch (error) {\n error.message = `Error importing hard dependencies for policy ${\n policyData._id\n }: ${error.response?.data?.message || error.message}`;\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import hard dependencies error:\\n${errorMessages}`);\n }\n debugMessage(`PolicyOps.importPolicyHardDependencies: end`);\n}\n\n/**\n * Helper function to import soft dependencies of a policy\n * @param {PolicySkeleton} policyData policy object\n * @param {PolicyExportInterface} exportData export data\n */\nasync function importPolicyDependencies(\n policyData: PolicySkeleton,\n exportData: PolicyExportInterface\n) {\n debugMessage(\n `PolicyOps.importPolicySoftDependencies: start [policy=${policyData._id}]`\n );\n const errors = [];\n try {\n // scripts\n const scriptUuids = findScriptUuids(policyData.condition);\n for (const scriptUuid of scriptUuids) {\n try {\n const scriptData = exportData.script[scriptUuid];\n debugMessage(`Importing script ${scriptUuid}`);\n await putScript(scriptUuid, scriptData);\n } catch (error) {\n debugMessage(error.response?.data);\n error.message = `Error importing script ${scriptUuid} for policy ${\n policyData._id\n }: ${error.response?.data?.message || error.message}`;\n errors.push(error);\n }\n }\n } catch (error) {\n error.message = `Error importing soft dependencies for policy ${\n policyData._id\n }: ${error.response?.data?.message || error.message}`;\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import soft dependencies error:\\n${errorMessages}`);\n }\n debugMessage(`PolicyOps.importPolicySoftDependencies: end`);\n}\n\n/**\n * Import policy by id\n * @param {string} policyId policy id\n * @param {PolicyExportInterface} importData import data\n * @param {PolicyImportOptions} options import options\n * @returns {Promise<PolicySkeleton>} imported policy object\n */\nexport async function importPolicy(\n policyId: string,\n importData: PolicyExportInterface,\n options: PolicyImportOptions = { deps: true, prereqs: false }\n): Promise<PolicySkeleton> {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.policy)) {\n if (id === policyId) {\n try {\n const policyData = importData.policy[id];\n delete policyData._rev;\n if (options.policySetName) {\n policyData.applicationName = options.policySetName;\n }\n if (options.prereqs) {\n try {\n await importPolicyPrerequisites(policyData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n try {\n response = await putPolicy(policyData._id, policyData);\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n if (options.deps) {\n try {\n await importPolicyDependencies(policyData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n }\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\n${policyId} not found in import data!`);\n }\n return response;\n}\n\n/**\n * Import first policy\n * @param {PolicyExportInterface} importData import data\n * @param {PolicyImportOptions} options import options\n * @returns {Promise<PolicySkeleton>} imported policy object\n */\nexport async function importFirstPolicy(\n importData: PolicyExportInterface,\n options: PolicyImportOptions = { deps: true, prereqs: false }\n): Promise<PolicySkeleton> {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.policy)) {\n try {\n const policyData = importData.policy[id];\n delete policyData._rev;\n if (options.policySetName) {\n policyData.applicationName = options.policySetName;\n }\n if (options.prereqs) {\n try {\n await importPolicyPrerequisites(policyData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n try {\n response = await putPolicy(policyData._id, policyData);\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n if (options.deps) {\n try {\n await importPolicyDependencies(policyData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n break;\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo policy found in import data!`);\n }\n return response;\n}\n\n/**\n * Import policies\n * @param {PolicyExportInterface} importData import data\n * @param {PolicyImportOptions} options import options\n * @returns {Promise<PolicySkeleton[]>} array of imported policy objects\n */\nexport async function importPolicies(\n importData: PolicyExportInterface,\n options: PolicyImportOptions = { deps: true, prereqs: false }\n): Promise<PolicySkeleton[]> {\n const response = [];\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.policy)) {\n try {\n const policyData = importData.policy[id];\n delete policyData._rev;\n if (options.policySetName) {\n policyData.applicationName = options.policySetName;\n }\n if (options.prereqs) {\n try {\n await importPolicyPrerequisites(policyData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n try {\n response.push(await putPolicy(policyData._id, policyData));\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n if (options.deps) {\n try {\n await importPolicyDependencies(policyData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length) {\n const errorMessages = errors\n .map((error) => error.response?.data?.message || error.message)\n .join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo policies found in import data!`);\n }\n return response;\n}\n"],"mappings":"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"}
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
* Note: FRODO_DEBUG=1 is optional and enables debug logging for some output
|
|
36
36
|
* in case things don't function as expected
|
|
37
37
|
*/
|
|
38
|
-
import * as PolicySetApi from
|
|
39
|
-
import * as PoliciesApi from
|
|
40
|
-
import * as ScriptOps from
|
|
41
|
-
import * as PolicyOps from
|
|
42
|
-
import { autoSetupPolly } from
|
|
43
|
-
import { cloneDeep } from
|
|
38
|
+
import * as PolicySetApi from "../api/PolicySetApi.js";
|
|
39
|
+
import * as PoliciesApi from "../api/PoliciesApi.js";
|
|
40
|
+
import * as ScriptOps from "./ScriptOps.js";
|
|
41
|
+
import * as PolicyOps from "./PolicyOps.js";
|
|
42
|
+
import { autoSetupPolly } from "../utils/AutoSetupPolly.js";
|
|
43
|
+
import { cloneDeep } from "./utils/OpsUtils.js";
|
|
44
44
|
autoSetupPolly();
|
|
45
45
|
async function stagePolicySet(policySet, create = true) {
|
|
46
46
|
// delete if exists, then create
|