@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentApi.test.js","names":["AgentRaw","getAgent","autoSetupPolly","describe","gateway1","id","type","gateway2","gateway3","java1","java2","java3","web1","web2","web3","beforeAll","process","env","FRODO_POLLY_MODE","getAgentByTypeAndId","deleteAgentByTypeAndId","error","putAgentByTypeAndId","afterAll","test","expect","getAgentTypes","toBeDefined","response","toMatchSnapshot","getAgentsByType","agentType","getAgents","findAgentById","findAgentByTypeAndId"],"sources":["../../src/api/AgentApi.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record\n * script and override all the connection state variables required\n * to connect to the env to record from:\n *\n * FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record AgentApi\n *\n * The above command assumes that you have a connection profile for\n * 'volker-dev' on your development machine.\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you must manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update AgentApi\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test:only AgentApi\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { AgentRaw } from '../index';\nimport { getAgent } from '../test/mocks/ForgeRockApiMockEngine';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\n\nautoSetupPolly();\n\ndescribe('AgentApi', () => {\n const gateway1 = {\n id: 'FrodoTestGatewayAgent1',\n type: 'IdentityGatewayAgent',\n };\n const gateway2 = {\n id: 'FrodoTestGatewayAgent2',\n type: 'IdentityGatewayAgent',\n };\n const gateway3 = {\n id: 'FrodoTestGatewayAgent3',\n type: 'IdentityGatewayAgent',\n };\n const java1 = {\n id: 'FrodoTestJavaAgent1',\n type: 'J2EEAgent',\n };\n const java2 = {\n id: 'FrodoTestJavaAgent2',\n type: 'J2EEAgent',\n };\n const java3 = {\n id: 'FrodoTestJavaAgent3',\n type: 'J2EEAgent',\n };\n const web1 = {\n id: 'FrodoTestWebAgent1',\n type: 'WebAgent',\n };\n const web2 = {\n id: 'FrodoTestWebAgent2',\n type: 'WebAgent',\n };\n const web3 = {\n id: 'FrodoTestWebAgent3',\n type: 'WebAgent',\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n // setup gateway1 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(gateway1.type, gateway1.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway1.type, gateway1.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n gateway1.type,\n gateway1.id,\n getAgent(gateway1.type, gateway1.id)\n );\n }\n // setup gateway2 - delete if exists\n try {\n await AgentRaw.getAgentByTypeAndId(gateway2.type, gateway2.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway2.type, gateway2.id);\n } catch (error) {\n // ignore\n }\n // setup gateway3 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(gateway3.type, gateway3.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway3.type, gateway3.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n gateway3.type,\n gateway3.id,\n getAgent(gateway3.type, gateway3.id)\n );\n }\n\n // setup java1 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(java1.type, java1.id);\n await AgentRaw.deleteAgentByTypeAndId(java1.type, java1.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n java1.type,\n java1.id,\n getAgent(java1.type, java1.id)\n );\n }\n // setup java2 - delete if exists\n try {\n await AgentRaw.getAgentByTypeAndId(java2.type, java2.id);\n await AgentRaw.deleteAgentByTypeAndId(java2.type, java2.id);\n } catch (error) {\n // ignore\n }\n // setup java3 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(java3.type, java3.id);\n await AgentRaw.deleteAgentByTypeAndId(java3.type, java3.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n java3.type,\n java3.id,\n getAgent(java3.type, java3.id)\n );\n }\n\n // setup web1 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(web1.type, web1.id);\n await AgentRaw.deleteAgentByTypeAndId(web1.type, web1.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n web1.type,\n web1.id,\n getAgent(web1.type, web1.id)\n );\n }\n // setup web2 - delete if exists\n try {\n await AgentRaw.getAgentByTypeAndId(web2.type, web2.id);\n await AgentRaw.deleteAgentByTypeAndId(web2.type, web2.id);\n } catch (error) {\n // ignore\n }\n // setup web3 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(web3.type, web3.id);\n await AgentRaw.deleteAgentByTypeAndId(web3.type, web3.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n web3.type,\n web3.id,\n getAgent(web3.type, web3.id)\n );\n }\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n try {\n await AgentRaw.getAgentByTypeAndId(gateway1.type, gateway1.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway1.type, gateway1.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(gateway2.type, gateway2.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway2.type, gateway2.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(gateway3.type, gateway3.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway3.type, gateway3.id);\n } catch (error) {\n // ignore\n }\n\n try {\n await AgentRaw.getAgentByTypeAndId(java1.type, java1.id);\n await AgentRaw.deleteAgentByTypeAndId(java1.type, java1.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(java2.type, java2.id);\n await AgentRaw.deleteAgentByTypeAndId(java2.type, java2.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(java3.type, java3.id);\n await AgentRaw.deleteAgentByTypeAndId(java3.type, java3.id);\n } catch (error) {\n // ignore\n }\n\n try {\n await AgentRaw.getAgentByTypeAndId(web1.type, web1.id);\n await AgentRaw.deleteAgentByTypeAndId(web1.type, web1.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(web2.type, web2.id);\n await AgentRaw.deleteAgentByTypeAndId(web2.type, web2.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(web3.type, web3.id);\n await AgentRaw.deleteAgentByTypeAndId(web3.type, web3.id);\n } catch (error) {\n // ignore\n }\n }\n });\n\n describe('getAgentTypes()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.getAgentTypes).toBeDefined();\n });\n\n test('1: Get all agent types', async () => {\n const response = await AgentRaw.getAgentTypes();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgentsByType()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.getAgentsByType).toBeDefined();\n });\n\n test('1: Get all gateway agents', async () => {\n const agentType = 'IdentityGatewayAgent';\n const response = await AgentRaw.getAgentsByType(agentType);\n expect(response).toMatchSnapshot();\n });\n\n test('2: Get all java agents', async () => {\n const agentType = 'J2EEAgent';\n const response = await AgentRaw.getAgentsByType(agentType);\n expect(response).toMatchSnapshot();\n });\n\n test('3: Get all web agents', async () => {\n const agentType = 'WebAgent';\n const response = await AgentRaw.getAgentsByType(agentType);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.getAgents).toBeDefined();\n });\n\n test('1: Get all agents', async () => {\n const response = await AgentRaw.getAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('findAgentById()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.findAgentById).toBeDefined();\n });\n\n test(`1: Find agent '${gateway1.id}'`, async () => {\n const response = await AgentRaw.findAgentById(gateway1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Find agent '${java1.id}'`, async () => {\n const response = await AgentRaw.findAgentById(java1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Find agent '${web1.id}'`, async () => {\n const response = await AgentRaw.findAgentById(web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('findAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.findAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Find ${gateway1.type} '${gateway1.id}'`, async () => {\n const response = await AgentRaw.findAgentByTypeAndId(\n gateway1.type,\n gateway1.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Find ${java1.type} '${java1.id}'`, async () => {\n const response = await AgentRaw.findAgentByTypeAndId(\n java1.type,\n java1.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Find ${web1.type} '${web1.id}'`, async () => {\n const response = await AgentRaw.findAgentByTypeAndId(web1.type, web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.getAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Get ${gateway1.type} '${gateway1.id}'`, async () => {\n const response = await AgentRaw.getAgentByTypeAndId(\n gateway1.type,\n gateway1.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get ${java1.type} '${java1.id}'`, async () => {\n const response = await AgentRaw.getAgentByTypeAndId(java1.type, java1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Get ${web1.type} '${web1.id}'`, async () => {\n const response = await AgentRaw.getAgentByTypeAndId(web1.type, web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.putAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Put ${gateway2.type} '${gateway2.id}'`, async () => {\n const response = await AgentRaw.putAgentByTypeAndId(\n gateway2.type,\n gateway2.id,\n getAgent(gateway2.type, gateway2.id)\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Put ${java2.type} '${java2.id}'`, async () => {\n const response = await AgentRaw.putAgentByTypeAndId(\n java2.type,\n java2.id,\n getAgent(java2.type, java2.id)\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Put ${web2.type} '${web2.id}'`, async () => {\n const response = await AgentRaw.putAgentByTypeAndId(\n web2.type,\n web2.id,\n getAgent(web2.type, web2.id)\n );\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('deleteAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.deleteAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Delete ${gateway3.type} '${gateway3.id}'`, async () => {\n const response = await AgentRaw.deleteAgentByTypeAndId(\n gateway3.type,\n gateway3.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete ${java3.type} '${java3.id}'`, async () => {\n const response = await AgentRaw.deleteAgentByTypeAndId(\n java3.type,\n java3.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Delete ${web3.type} '${web3.id}'`, async () => {\n const response = await AgentRaw.deleteAgentByTypeAndId(\n web3.type,\n web3.id\n );\n expect(response).toMatchSnapshot();\n });\n });\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgentApi.test.js","names":["AgentRaw","getAgent","autoSetupPolly","describe","gateway1","id","type","gateway2","gateway3","java1","java2","java3","web1","web2","web3","beforeAll","process","env","FRODO_POLLY_MODE","getAgentByTypeAndId","deleteAgentByTypeAndId","error","putAgentByTypeAndId","afterAll","test","expect","getAgentTypes","toBeDefined","response","toMatchSnapshot","getAgentsByType","agentType","getAgents","findAgentById","findAgentByTypeAndId"],"sources":["../../src/api/AgentApi.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record\n * script and override all the connection state variables required\n * to connect to the env to record from:\n *\n * FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record AgentApi\n *\n * The above command assumes that you have a connection profile for\n * 'volker-dev' on your development machine.\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you must manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update AgentApi\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test:only AgentApi\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { AgentRaw } from '../index';\nimport { getAgent } from '../test/mocks/ForgeRockApiMockEngine';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\n\nautoSetupPolly();\n\ndescribe('AgentApi', () => {\n const gateway1 = {\n id: 'FrodoTestGatewayAgent1',\n type: 'IdentityGatewayAgent',\n };\n const gateway2 = {\n id: 'FrodoTestGatewayAgent2',\n type: 'IdentityGatewayAgent',\n };\n const gateway3 = {\n id: 'FrodoTestGatewayAgent3',\n type: 'IdentityGatewayAgent',\n };\n const java1 = {\n id: 'FrodoTestJavaAgent1',\n type: 'J2EEAgent',\n };\n const java2 = {\n id: 'FrodoTestJavaAgent2',\n type: 'J2EEAgent',\n };\n const java3 = {\n id: 'FrodoTestJavaAgent3',\n type: 'J2EEAgent',\n };\n const web1 = {\n id: 'FrodoTestWebAgent1',\n type: 'WebAgent',\n };\n const web2 = {\n id: 'FrodoTestWebAgent2',\n type: 'WebAgent',\n };\n const web3 = {\n id: 'FrodoTestWebAgent3',\n type: 'WebAgent',\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n // setup gateway1 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(gateway1.type, gateway1.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway1.type, gateway1.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n gateway1.type,\n gateway1.id,\n getAgent(gateway1.type, gateway1.id)\n );\n }\n // setup gateway2 - delete if exists\n try {\n await AgentRaw.getAgentByTypeAndId(gateway2.type, gateway2.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway2.type, gateway2.id);\n } catch (error) {\n // ignore\n }\n // setup gateway3 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(gateway3.type, gateway3.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway3.type, gateway3.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n gateway3.type,\n gateway3.id,\n getAgent(gateway3.type, gateway3.id)\n );\n }\n\n // setup java1 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(java1.type, java1.id);\n await AgentRaw.deleteAgentByTypeAndId(java1.type, java1.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n java1.type,\n java1.id,\n getAgent(java1.type, java1.id)\n );\n }\n // setup java2 - delete if exists\n try {\n await AgentRaw.getAgentByTypeAndId(java2.type, java2.id);\n await AgentRaw.deleteAgentByTypeAndId(java2.type, java2.id);\n } catch (error) {\n // ignore\n }\n // setup java3 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(java3.type, java3.id);\n await AgentRaw.deleteAgentByTypeAndId(java3.type, java3.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n java3.type,\n java3.id,\n getAgent(java3.type, java3.id)\n );\n }\n\n // setup web1 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(web1.type, web1.id);\n await AgentRaw.deleteAgentByTypeAndId(web1.type, web1.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n web1.type,\n web1.id,\n getAgent(web1.type, web1.id)\n );\n }\n // setup web2 - delete if exists\n try {\n await AgentRaw.getAgentByTypeAndId(web2.type, web2.id);\n await AgentRaw.deleteAgentByTypeAndId(web2.type, web2.id);\n } catch (error) {\n // ignore\n }\n // setup web3 - delete if exists, then create\n try {\n await AgentRaw.getAgentByTypeAndId(web3.type, web3.id);\n await AgentRaw.deleteAgentByTypeAndId(web3.type, web3.id);\n } catch (error) {\n // ignore\n } finally {\n await AgentRaw.putAgentByTypeAndId(\n web3.type,\n web3.id,\n getAgent(web3.type, web3.id)\n );\n }\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n try {\n await AgentRaw.getAgentByTypeAndId(gateway1.type, gateway1.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway1.type, gateway1.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(gateway2.type, gateway2.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway2.type, gateway2.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(gateway3.type, gateway3.id);\n await AgentRaw.deleteAgentByTypeAndId(gateway3.type, gateway3.id);\n } catch (error) {\n // ignore\n }\n\n try {\n await AgentRaw.getAgentByTypeAndId(java1.type, java1.id);\n await AgentRaw.deleteAgentByTypeAndId(java1.type, java1.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(java2.type, java2.id);\n await AgentRaw.deleteAgentByTypeAndId(java2.type, java2.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(java3.type, java3.id);\n await AgentRaw.deleteAgentByTypeAndId(java3.type, java3.id);\n } catch (error) {\n // ignore\n }\n\n try {\n await AgentRaw.getAgentByTypeAndId(web1.type, web1.id);\n await AgentRaw.deleteAgentByTypeAndId(web1.type, web1.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(web2.type, web2.id);\n await AgentRaw.deleteAgentByTypeAndId(web2.type, web2.id);\n } catch (error) {\n // ignore\n }\n try {\n await AgentRaw.getAgentByTypeAndId(web3.type, web3.id);\n await AgentRaw.deleteAgentByTypeAndId(web3.type, web3.id);\n } catch (error) {\n // ignore\n }\n }\n });\n\n describe('getAgentTypes()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.getAgentTypes).toBeDefined();\n });\n\n test('1: Get all agent types', async () => {\n const response = await AgentRaw.getAgentTypes();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgentsByType()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.getAgentsByType).toBeDefined();\n });\n\n test('1: Get all gateway agents', async () => {\n const agentType = 'IdentityGatewayAgent';\n const response = await AgentRaw.getAgentsByType(agentType);\n expect(response).toMatchSnapshot();\n });\n\n test('2: Get all java agents', async () => {\n const agentType = 'J2EEAgent';\n const response = await AgentRaw.getAgentsByType(agentType);\n expect(response).toMatchSnapshot();\n });\n\n test('3: Get all web agents', async () => {\n const agentType = 'WebAgent';\n const response = await AgentRaw.getAgentsByType(agentType);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgents()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.getAgents).toBeDefined();\n });\n\n test('1: Get all agents', async () => {\n const response = await AgentRaw.getAgents();\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('findAgentById()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.findAgentById).toBeDefined();\n });\n\n test(`1: Find agent '${gateway1.id}'`, async () => {\n const response = await AgentRaw.findAgentById(gateway1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Find agent '${java1.id}'`, async () => {\n const response = await AgentRaw.findAgentById(java1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Find agent '${web1.id}'`, async () => {\n const response = await AgentRaw.findAgentById(web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('findAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.findAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Find ${gateway1.type} '${gateway1.id}'`, async () => {\n const response = await AgentRaw.findAgentByTypeAndId(\n gateway1.type,\n gateway1.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Find ${java1.type} '${java1.id}'`, async () => {\n const response = await AgentRaw.findAgentByTypeAndId(\n java1.type,\n java1.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Find ${web1.type} '${web1.id}'`, async () => {\n const response = await AgentRaw.findAgentByTypeAndId(web1.type, web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.getAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Get ${gateway1.type} '${gateway1.id}'`, async () => {\n const response = await AgentRaw.getAgentByTypeAndId(\n gateway1.type,\n gateway1.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get ${java1.type} '${java1.id}'`, async () => {\n const response = await AgentRaw.getAgentByTypeAndId(java1.type, java1.id);\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Get ${web1.type} '${web1.id}'`, async () => {\n const response = await AgentRaw.getAgentByTypeAndId(web1.type, web1.id);\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.putAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Put ${gateway2.type} '${gateway2.id}'`, async () => {\n const response = await AgentRaw.putAgentByTypeAndId(\n gateway2.type,\n gateway2.id,\n getAgent(gateway2.type, gateway2.id)\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Put ${java2.type} '${java2.id}'`, async () => {\n const response = await AgentRaw.putAgentByTypeAndId(\n java2.type,\n java2.id,\n getAgent(java2.type, java2.id)\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Put ${web2.type} '${web2.id}'`, async () => {\n const response = await AgentRaw.putAgentByTypeAndId(\n web2.type,\n web2.id,\n getAgent(web2.type, web2.id)\n );\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('deleteAgentByTypeAndId()', () => {\n test('0: Method is implemented', async () => {\n expect(AgentRaw.deleteAgentByTypeAndId).toBeDefined();\n });\n\n test(`1: Delete ${gateway3.type} '${gateway3.id}'`, async () => {\n const response = await AgentRaw.deleteAgentByTypeAndId(\n gateway3.type,\n gateway3.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete ${java3.type} '${java3.id}'`, async () => {\n const response = await AgentRaw.deleteAgentByTypeAndId(\n java3.type,\n java3.id\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Delete ${web3.type} '${web3.id}'`, async () => {\n const response = await AgentRaw.deleteAgentByTypeAndId(\n web3.type,\n web3.id\n );\n expect(response).toMatchSnapshot();\n });\n });\n});\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import util from 'util';
|
|
2
|
-
import { generateAmApi } from
|
|
3
|
-
import * as state from
|
|
4
|
-
import { getRealmPath } from
|
|
2
|
+
import { generateAmApi } from "./BaseApi.js";
|
|
3
|
+
import * as state from "../shared/State.js";
|
|
4
|
+
import { getRealmPath } from "./utils/ApiUtils.js";
|
|
5
5
|
const authenticateUrlTemplate = '%s/json%s/authenticate';
|
|
6
6
|
const authenticateWithServiceUrlTemplate = `${authenticateUrlTemplate}?authIndexType=service&authIndexValue=%s`;
|
|
7
7
|
const apiVersion = 'resource=2.0, protocol=1.0';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticateApi.js","names":["util","generateAmApi","state","getRealmPath","authenticateUrlTemplate","authenticateWithServiceUrlTemplate","apiVersion","getApiConfig","fillCallbacks","response","map","body","JSON","parse","stringify","callback","callbacks","input","value","name","step","config","realm","service","undefined","urlString","getAuthenticationService","format","getHost","data","post"],"sources":["../../src/api/AuthenticateApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport * as state from '../shared/State';\nimport { getRealmPath } from './utils/ApiUtils';\n\nconst authenticateUrlTemplate = '%s/json%s/authenticate';\nconst authenticateWithServiceUrlTemplate = `${authenticateUrlTemplate}?authIndexType=service&authIndexValue=%s`;\n\nconst apiVersion = 'resource=2.0, protocol=1.0';\nconst getApiConfig = () => ({\n apiVersion,\n});\n\n/**\n * Fill callbacks from a map\n * Just a start\n * @param {object} response json response from a call to /authenticate\n * @param {{ [k: string]: string | number | boolean | string[] }} map name/value map\n * @returns filled response body so it can be used as input to another call to /authenticate\n */\nexport function fillCallbacks(\n response: object,\n map: { [k: string]: string | number | boolean | string[] }\n): object {\n const body = JSON.parse(JSON.stringify(response));\n for (const callback of body.callbacks) {\n callback.input[0].value = map[callback.input[0].name];\n }\n return body;\n}\n\n/**\n *\n * @param {any} body POST request body\n * @param {any} config request config\n * @param {string} realm realm\n * @param {string} service name of authentication service/journey\n * @returns Promise resolving to the authentication service response\n */\nexport async function step(\n body = {},\n config = {},\n realm = '/',\n service: string = undefined\n) {\n const urlString =\n service || state.getAuthenticationService()\n ? util.format(\n authenticateWithServiceUrlTemplate,\n state.getHost(),\n getRealmPath(realm),\n service || state.getAuthenticationService()\n )\n : util.format(\n authenticateUrlTemplate,\n state.getHost(),\n getRealmPath(realm)\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n body,\n config\n );\n return data;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;
|
|
1
|
+
{"version":3,"file":"AuthenticateApi.js","names":["util","generateAmApi","state","getRealmPath","authenticateUrlTemplate","authenticateWithServiceUrlTemplate","apiVersion","getApiConfig","fillCallbacks","response","map","body","JSON","parse","stringify","callback","callbacks","input","value","name","step","config","realm","service","undefined","urlString","getAuthenticationService","format","getHost","data","post"],"sources":["../../src/api/AuthenticateApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport * as state from '../shared/State';\nimport { getRealmPath } from './utils/ApiUtils';\n\nconst authenticateUrlTemplate = '%s/json%s/authenticate';\nconst authenticateWithServiceUrlTemplate = `${authenticateUrlTemplate}?authIndexType=service&authIndexValue=%s`;\n\nconst apiVersion = 'resource=2.0, protocol=1.0';\nconst getApiConfig = () => ({\n apiVersion,\n});\n\n/**\n * Fill callbacks from a map\n * Just a start\n * @param {object} response json response from a call to /authenticate\n * @param {{ [k: string]: string | number | boolean | string[] }} map name/value map\n * @returns filled response body so it can be used as input to another call to /authenticate\n */\nexport function fillCallbacks(\n response: object,\n map: { [k: string]: string | number | boolean | string[] }\n): object {\n const body = JSON.parse(JSON.stringify(response));\n for (const callback of body.callbacks) {\n callback.input[0].value = map[callback.input[0].name];\n }\n return body;\n}\n\n/**\n *\n * @param {any} body POST request body\n * @param {any} config request config\n * @param {string} realm realm\n * @param {string} service name of authentication service/journey\n * @returns Promise resolving to the authentication service response\n */\nexport async function step(\n body = {},\n config = {},\n realm = '/',\n service: string = undefined\n) {\n const urlString =\n service || state.getAuthenticationService()\n ? util.format(\n authenticateWithServiceUrlTemplate,\n state.getHost(),\n getRealmPath(realm),\n service || state.getAuthenticationService()\n )\n : util.format(\n authenticateUrlTemplate,\n state.getHost(),\n getRealmPath(realm)\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n body,\n config\n );\n return data;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AAAC,SACfC,aAAa;AAAA,OACf,KAAKC,KAAK;AAAA,SACRC,YAAY;AAErB,MAAMC,uBAAuB,GAAG,wBAAwB;AACxD,MAAMC,kCAAkC,GAAI,GAAED,uBAAwB,0CAAyC;AAE/G,MAAME,UAAU,GAAG,4BAA4B;AAC/C,MAAMC,YAAY,GAAGA,CAAA,MAAO;EAC1BD;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,aAAaA,CAC3BC,QAAgB,EAChBC,GAA0D,EAClD;EACR,MAAMC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACL,QAAQ,CAAC,CAAC;EACjD,KAAK,MAAMM,QAAQ,IAAIJ,IAAI,CAACK,SAAS,EAAE;IACrCD,QAAQ,CAACE,KAAK,CAAC,CAAC,CAAC,CAACC,KAAK,GAAGR,GAAG,CAACK,QAAQ,CAACE,KAAK,CAAC,CAAC,CAAC,CAACE,IAAI,CAAC;EACvD;EACA,OAAOR,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeS,IAAIA,CACxBT,IAAI,GAAG,CAAC,CAAC,EACTU,MAAM,GAAG,CAAC,CAAC,EACXC,KAAK,GAAG,GAAG,EACXC,OAAe,GAAGC,SAAS,EAC3B;EACA,MAAMC,SAAS,GACbF,OAAO,IAAIrB,KAAK,CAACwB,wBAAwB,CAAC,CAAC,GACvC1B,IAAI,CAAC2B,MAAM,CACTtB,kCAAkC,EAClCH,KAAK,CAAC0B,OAAO,CAAC,CAAC,EACfzB,YAAY,CAACmB,KAAK,CAAC,EACnBC,OAAO,IAAIrB,KAAK,CAACwB,wBAAwB,CAAC,CAC5C,CAAC,GACD1B,IAAI,CAAC2B,MAAM,CACTvB,uBAAuB,EACvBF,KAAK,CAAC0B,OAAO,CAAC,CAAC,EACfzB,YAAY,CAACmB,KAAK,CACpB,CAAC;EACP,MAAM;IAAEO;EAAK,CAAC,GAAG,MAAM5B,aAAa,CAACM,YAAY,CAAC,CAAC,CAAC,CAACuB,IAAI,CACvDL,SAAS,EACTd,IAAI,EACJU,MACF,CAAC;EACD,OAAOQ,IAAI;AACb"}
|
|
@@ -32,10 +32,8 @@
|
|
|
32
32
|
* Note: FRODO_DEBUG=1 is optional and enables debug logging for some output
|
|
33
33
|
* in case things don't function as expected
|
|
34
34
|
*/
|
|
35
|
-
import { AuthenticateRaw, state } from
|
|
36
|
-
import { autoSetupPolly, defaultMatchRequestsBy } from
|
|
37
|
-
|
|
38
|
-
// need to modify the default matching rules to allow the mocking to work for an authentication flow.
|
|
35
|
+
import { AuthenticateRaw, state } from "../index.js";
|
|
36
|
+
import { autoSetupPolly, defaultMatchRequestsBy } from "../utils/AutoSetupPolly.js"; // need to modify the default matching rules to allow the mocking to work for an authentication flow.
|
|
39
37
|
const matchConfig = defaultMatchRequestsBy();
|
|
40
38
|
matchConfig.body = false; // oauth flows are tricky because of the PKCE challenge, which is different for each request
|
|
41
39
|
matchConfig.order = true; // since we instruct Polly not to match the body, we need to enable ordering of the requests
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticateApi.test.js","names":["AuthenticateRaw","state","autoSetupPolly","defaultMatchRequestsBy","matchConfig","body","order","describe","test","expect","step","toBeDefined","setHost","process","env","FRODO_HOST","setRealm","FRODO_REALM","setUsername","FRODO_USERNAME","setPassword","FRODO_PASSWORD","setAuthenticationService","FRODO_AUTHENTICATION_SERVICE","config","headers","getUsername","getPassword","response1","getRealm","toMatchSnapshot","fillCallbacks","IDToken1","IDToken2","response2"],"sources":["../../src/api/AuthenticateApi.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record_noauth\n * script and override all the connection state variables supplied to the\n * getTokens() function by the test to connect to the env to record from:\n *\n * FRODO_DEBUG=1 \\\n * FRODO_HOST=https://openam-volker-dev.forgeblocks.com/am \\\n * FRODO_REALM=alpha \\\n * FRODO_USERNAME=vscheuber@gmail.com \\\n * FRODO_PASSWORD='S3cr3!S@uc3' \\\n * FRODO_AUTHENTICATION_SERVICE=PasswordGrant \\\n * npm run test:record_noauth AuthenticateApi\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you musty manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update AuthenticateApi\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test AuthenticateApi\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { AuthenticateRaw, state } from '../index';\nimport {\n autoSetupPolly,\n defaultMatchRequestsBy,\n} from '../utils/AutoSetupPolly';\n\n// need to modify the default matching rules to allow the mocking to work for an authentication flow.\nconst matchConfig = defaultMatchRequestsBy();\nmatchConfig.body = false; // oauth flows are tricky because of the PKCE challenge, which is different for each request\nmatchConfig.order = true; // since we instruct Polly not to match the body, we need to enable ordering of the requests\n\nautoSetupPolly(matchConfig);\n\ndescribe('AuthenticateApi', () => {\n describe('step()', () => {\n test('0: Method is implemented', async () => {\n expect(AuthenticateRaw.step).toBeDefined();\n });\n\n test(\"1: Single step login journey 'PasswordGrant'\", async () => {\n state.setHost(\n process.env.FRODO_HOST || 'https://openam-frodo-dev.forgeblocks.com/am'\n );\n state.setRealm(process.env.FRODO_REALM || 'alpha');\n state.setUsername(process.env.FRODO_USERNAME || 'mockUser');\n state.setPassword(process.env.FRODO_PASSWORD || 'mockPassword');\n state.setAuthenticationService(\n process.env.FRODO_AUTHENTICATION_SERVICE || 'PasswordGrant'\n );\n const config = {\n headers: {\n 'X-OpenAM-Username': state.getUsername(),\n 'X-OpenAM-Password': state.getPassword(),\n },\n };\n const response1 = await AuthenticateRaw.step(\n {},\n config,\n state.getRealm()\n );\n expect(response1).toMatchSnapshot();\n });\n\n test(\"2: Two step login journey 'PasswordGrant'\", async () => {\n state.setHost(\n process.env.FRODO_HOST || 'https://openam-frodo-dev.forgeblocks.com/am'\n );\n state.setRealm(process.env.FRODO_REALM || 'alpha');\n state.setUsername(process.env.FRODO_USERNAME || 'mockUser');\n state.setPassword(process.env.FRODO_PASSWORD || 'mockPassword');\n state.setAuthenticationService(\n process.env.FRODO_AUTHENTICATION_SERVICE || 'PasswordGrant'\n );\n const response1 = await AuthenticateRaw.step({}, {}, state.getRealm());\n expect(response1).toMatchSnapshot();\n const body = AuthenticateRaw.fillCallbacks(response1, {\n IDToken1: state.getUsername() as string,\n IDToken2: state.getPassword() as string,\n });\n const response2 = await AuthenticateRaw.step(body, {}, state.getRealm());\n expect(response2).toMatchSnapshot();\n });\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"file":"AuthenticateApi.test.js","names":["AuthenticateRaw","state","autoSetupPolly","defaultMatchRequestsBy","matchConfig","body","order","describe","test","expect","step","toBeDefined","setHost","process","env","FRODO_HOST","setRealm","FRODO_REALM","setUsername","FRODO_USERNAME","setPassword","FRODO_PASSWORD","setAuthenticationService","FRODO_AUTHENTICATION_SERVICE","config","headers","getUsername","getPassword","response1","getRealm","toMatchSnapshot","fillCallbacks","IDToken1","IDToken2","response2"],"sources":["../../src/api/AuthenticateApi.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * To record and update ESM snapshots, you must call the test:record_noauth\n * script and override all the connection state variables supplied to the\n * getTokens() function by the test to connect to the env to record from:\n *\n * FRODO_DEBUG=1 \\\n * FRODO_HOST=https://openam-volker-dev.forgeblocks.com/am \\\n * FRODO_REALM=alpha \\\n * FRODO_USERNAME=vscheuber@gmail.com \\\n * FRODO_PASSWORD='S3cr3!S@uc3' \\\n * FRODO_AUTHENTICATION_SERVICE=PasswordGrant \\\n * npm run test:record_noauth AuthenticateApi\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you musty manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update AuthenticateApi\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test AuthenticateApi\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { AuthenticateRaw, state } from '../index';\nimport {\n autoSetupPolly,\n defaultMatchRequestsBy,\n} from '../utils/AutoSetupPolly';\n\n// need to modify the default matching rules to allow the mocking to work for an authentication flow.\nconst matchConfig = defaultMatchRequestsBy();\nmatchConfig.body = false; // oauth flows are tricky because of the PKCE challenge, which is different for each request\nmatchConfig.order = true; // since we instruct Polly not to match the body, we need to enable ordering of the requests\n\nautoSetupPolly(matchConfig);\n\ndescribe('AuthenticateApi', () => {\n describe('step()', () => {\n test('0: Method is implemented', async () => {\n expect(AuthenticateRaw.step).toBeDefined();\n });\n\n test(\"1: Single step login journey 'PasswordGrant'\", async () => {\n state.setHost(\n process.env.FRODO_HOST || 'https://openam-frodo-dev.forgeblocks.com/am'\n );\n state.setRealm(process.env.FRODO_REALM || 'alpha');\n state.setUsername(process.env.FRODO_USERNAME || 'mockUser');\n state.setPassword(process.env.FRODO_PASSWORD || 'mockPassword');\n state.setAuthenticationService(\n process.env.FRODO_AUTHENTICATION_SERVICE || 'PasswordGrant'\n );\n const config = {\n headers: {\n 'X-OpenAM-Username': state.getUsername(),\n 'X-OpenAM-Password': state.getPassword(),\n },\n };\n const response1 = await AuthenticateRaw.step(\n {},\n config,\n state.getRealm()\n );\n expect(response1).toMatchSnapshot();\n });\n\n test(\"2: Two step login journey 'PasswordGrant'\", async () => {\n state.setHost(\n process.env.FRODO_HOST || 'https://openam-frodo-dev.forgeblocks.com/am'\n );\n state.setRealm(process.env.FRODO_REALM || 'alpha');\n state.setUsername(process.env.FRODO_USERNAME || 'mockUser');\n state.setPassword(process.env.FRODO_PASSWORD || 'mockPassword');\n state.setAuthenticationService(\n process.env.FRODO_AUTHENTICATION_SERVICE || 'PasswordGrant'\n );\n const response1 = await AuthenticateRaw.step({}, {}, state.getRealm());\n expect(response1).toMatchSnapshot();\n const body = AuthenticateRaw.fillCallbacks(response1, {\n IDToken1: state.getUsername() as string,\n IDToken2: state.getPassword() as string,\n });\n const response2 = await AuthenticateRaw.step(body, {}, state.getRealm());\n expect(response2).toMatchSnapshot();\n });\n });\n});\n"],"mappings":"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"}
|
package/esm/api/BaseApi.js
CHANGED
|
@@ -4,13 +4,13 @@ import axiosRetry from 'axios-retry';
|
|
|
4
4
|
import HttpsProxyAgent from 'https-proxy-agent';
|
|
5
5
|
import url from 'url';
|
|
6
6
|
import fs from 'fs';
|
|
7
|
-
import * as state from
|
|
7
|
+
import * as state from "../shared/State.js";
|
|
8
8
|
import path from 'path';
|
|
9
9
|
import { fileURLToPath } from 'url';
|
|
10
|
-
import { curlirizeMessage, printMessage } from
|
|
11
|
-
import _curlirize from
|
|
10
|
+
import { curlirizeMessage, printMessage } from "../ops/utils/Console.js";
|
|
11
|
+
import _curlirize from "../ext/axios-curlirize/curlirize.js";
|
|
12
12
|
import { randomUUID } from 'crypto';
|
|
13
|
-
import { setupPollyForFrodoLib } from
|
|
13
|
+
import { setupPollyForFrodoLib } from "../utils/SetupPollyForFrodoLib.js";
|
|
14
14
|
if (process.env.FRODO_MOCK) {
|
|
15
15
|
setupPollyForFrodoLib();
|
|
16
16
|
}
|
package/esm/api/BaseApi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseApi.js","names":["axios","Agent","axiosRetry","HttpsProxyAgent","url","fs","state","path","fileURLToPath","curlirizeMessage","printMessage","_curlirize","randomUUID","setupPollyForFrodoLib","process","env","FRODO_MOCK","__dirname","dirname","import","meta","pkg","JSON","parse","readFileSync","resolve","retries","shouldResetTimeout","retryCondition","_error","timeout","maxSockets","maxFreeSockets","freeSocketTimeout","userAgent","name","version","transactionId","httpAgent","httpsAgent","getHttpAgent","getHttpsAgent","options","rejectUnauthorized","getAllowInsecureConnection","httpsProxy","HTTPS_PROXY","https_proxy","console","error","parsed","hostname","port","protocol","HttpsAgent","getProxy","curlirize","request","result","err","command","generateAmApi","resource","requestOverride","headers","apiVersion","getUseBearerTokenForAmApis","getCookieName","getCookieValue","Cookie","getBearerToken","Authorization","requestDetails","getAuthenticationHeaderOverrides","proxy","create","getCurlirize","generateOauth2Api","generateIdmApi","generateLogKeysApi","generateLogApi","getLogApiKey","getLogApiSecret","generateEnvApi","generateReleaseApi","baseUrl","baseURL"],"sources":["../../src/api/BaseApi.ts"],"sourcesContent":["import axios, { AxiosProxyConfig } from 'axios';\nimport Agent from 'agentkeepalive';\nimport axiosRetry from 'axios-retry';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport url from 'url';\nimport fs from 'fs';\nimport * as state from '../shared/State';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { curlirizeMessage, printMessage } from '../ops/utils/Console';\nimport _curlirize from '../ext/axios-curlirize/curlirize';\nimport { randomUUID } from 'crypto';\nimport { setupPollyForFrodoLib } from '../utils/SetupPollyForFrodoLib';\n\nif (process.env.FRODO_MOCK) {\n setupPollyForFrodoLib();\n}\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nconst transactionId = `frodo-${randomUUID()}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {any} appropriate httpsAgent\n */\nfunction getHttpsAgent() {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !state.getAllowInsecureConnection(),\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = url.parse(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !state.getAllowInsecureConnection();\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Customize curlirize output\n * @param request axios request object\n */\nfunction curlirize(request) {\n _curlirize(request, (result, err) => {\n const { command } = result;\n if (err) {\n printMessage(err, 'error');\n } else {\n curlirizeMessage(command);\n }\n });\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi(requestOverride = {}) {\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n // if (storage.session.getBearerToken()) {\n // requestDetails.headers[\n // 'Authorization'\n // ] = `Bearer ${storage.session.getBearerToken()}`;\n // }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': state.getLogApiKey(),\n 'X-API-Secret': state.getLogApiSecret(),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an Axios instance for the Identity Cloud Environment API\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateEnvApi(resource, requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a release (Github or Npm) Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateReleaseApi(baseUrl, requestOverride = {}) {\n const requestDetails = {\n baseURL: baseUrl,\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseApi.js","names":["axios","Agent","axiosRetry","HttpsProxyAgent","url","fs","state","path","fileURLToPath","curlirizeMessage","printMessage","_curlirize","randomUUID","setupPollyForFrodoLib","process","env","FRODO_MOCK","__dirname","dirname","import","meta","pkg","JSON","parse","readFileSync","resolve","retries","shouldResetTimeout","retryCondition","_error","timeout","maxSockets","maxFreeSockets","freeSocketTimeout","userAgent","name","version","transactionId","httpAgent","httpsAgent","getHttpAgent","getHttpsAgent","options","rejectUnauthorized","getAllowInsecureConnection","httpsProxy","HTTPS_PROXY","https_proxy","console","error","parsed","hostname","port","protocol","HttpsAgent","getProxy","curlirize","request","result","err","command","generateAmApi","resource","requestOverride","headers","apiVersion","getUseBearerTokenForAmApis","getCookieName","getCookieValue","Cookie","getBearerToken","Authorization","requestDetails","getAuthenticationHeaderOverrides","proxy","create","getCurlirize","generateOauth2Api","generateIdmApi","generateLogKeysApi","generateLogApi","getLogApiKey","getLogApiSecret","generateEnvApi","generateReleaseApi","baseUrl","baseURL"],"sources":["../../src/api/BaseApi.ts"],"sourcesContent":["import axios, { AxiosProxyConfig } from 'axios';\nimport Agent from 'agentkeepalive';\nimport axiosRetry from 'axios-retry';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport url from 'url';\nimport fs from 'fs';\nimport * as state from '../shared/State';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { curlirizeMessage, printMessage } from '../ops/utils/Console';\nimport _curlirize from '../ext/axios-curlirize/curlirize';\nimport { randomUUID } from 'crypto';\nimport { setupPollyForFrodoLib } from '../utils/SetupPollyForFrodoLib';\n\nif (process.env.FRODO_MOCK) {\n setupPollyForFrodoLib();\n}\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nconst transactionId = `frodo-${randomUUID()}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {any} appropriate httpsAgent\n */\nfunction getHttpsAgent() {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !state.getAllowInsecureConnection(),\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = url.parse(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !state.getAllowInsecureConnection();\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Customize curlirize output\n * @param request axios request object\n */\nfunction curlirize(request) {\n _curlirize(request, (result, err) => {\n const { command } = result;\n if (err) {\n printMessage(err, 'error');\n } else {\n curlirizeMessage(command);\n }\n });\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi(requestOverride = {}) {\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n // if (storage.session.getBearerToken()) {\n // requestDetails.headers[\n // 'Authorization'\n // ] = `Bearer ${storage.session.getBearerToken()}`;\n // }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': state.getLogApiKey(),\n 'X-API-Secret': state.getLogApiSecret(),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an Axios instance for the Identity Cloud Environment API\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateEnvApi(resource, requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a release (Github or Npm) Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateReleaseApi(baseUrl, requestOverride = {}) {\n const requestDetails = {\n baseURL: baseUrl,\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import util from 'util';
|
|
2
2
|
import _ from 'lodash';
|
|
3
|
-
import { generateAmApi } from
|
|
4
|
-
import { getCurrentRealmPath } from
|
|
5
|
-
import * as state from
|
|
3
|
+
import { generateAmApi } from "./BaseApi.js";
|
|
4
|
+
import { getCurrentRealmPath } from "./utils/ApiUtils.js";
|
|
5
|
+
import * as state from "../shared/State.js";
|
|
6
6
|
const circleOfTrustByIdURLTemplate = '%s/json%s/realm-config/federation/circlesoftrust/%s';
|
|
7
7
|
const createCircleOfTrustURLTemplate = '%s/json%s/realm-config/federation/circlesoftrust/?_action=create';
|
|
8
8
|
const queryAllCirclesOfTrustURLTemplate = '%s/json%s/realm-config/federation/circlesoftrust?_queryFilter=true';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CirclesOfTrustApi.js","names":["util","_","generateAmApi","getCurrentRealmPath","state","circleOfTrustByIdURLTemplate","createCircleOfTrustURLTemplate","queryAllCirclesOfTrustURLTemplate","apiVersion","getApiConfig","path","getCirclesOfTrust","urlString","format","getHost","data","get","withCredentials","getCircleOfTrust","cotId","createCircleOfTrust","cotData","postData","cloneDeep","post","updateCircleOfTrust","put"],"sources":["../../src/api/CirclesOfTrustApi.ts"],"sourcesContent":["import util from 'util';\nimport _ from 'lodash';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst circleOfTrustByIdURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust/%s';\nconst createCircleOfTrustURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust/?_action=create';\nconst queryAllCirclesOfTrustURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n return {\n path: `/json${getCurrentRealmPath()}/realm-config/federation/circlesoftrust`,\n apiVersion,\n };\n};\n\n/**\n * Get all SAML2 circles of trust\n * @returns {Promise} a promise that resolves to an array of circles of trust objects\n */\nexport async function getCirclesOfTrust() {\n const urlString = util.format(\n queryAllCirclesOfTrustURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get SAML2 circle of trust by id/name\n * @param {String} cotId Circle of trust id/name\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function getCircleOfTrust(cotId) {\n const urlString = util.format(\n circleOfTrustByIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n cotId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Create a SAML2 circle of trust\n * @param {Object} cotData Object representing a SAML circle of trust\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function createCircleOfTrust(cotData) {\n const postData = _.cloneDeep(cotData);\n const urlString = util.format(\n createCircleOfTrustURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n postData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Update SAML2 circle of trust\n * @param {String} cotId Entity provider location (hosted or remote)\n * @param {Object} cotData Object representing a SAML2 circle of trust\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function updateCircleOfTrust(cotId, cotData) {\n const urlString = util.format(\n circleOfTrustByIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n cotId\n );\n const { data } = await generateAmApi(getApiConfig()).put(urlString, cotData, {\n withCredentials: true,\n });\n return data;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,OAAOC,CAAC,MAAM,QAAQ;
|
|
1
|
+
{"version":3,"file":"CirclesOfTrustApi.js","names":["util","_","generateAmApi","getCurrentRealmPath","state","circleOfTrustByIdURLTemplate","createCircleOfTrustURLTemplate","queryAllCirclesOfTrustURLTemplate","apiVersion","getApiConfig","path","getCirclesOfTrust","urlString","format","getHost","data","get","withCredentials","getCircleOfTrust","cotId","createCircleOfTrust","cotData","postData","cloneDeep","post","updateCircleOfTrust","put"],"sources":["../../src/api/CirclesOfTrustApi.ts"],"sourcesContent":["import util from 'util';\nimport _ from 'lodash';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst circleOfTrustByIdURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust/%s';\nconst createCircleOfTrustURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust/?_action=create';\nconst queryAllCirclesOfTrustURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n return {\n path: `/json${getCurrentRealmPath()}/realm-config/federation/circlesoftrust`,\n apiVersion,\n };\n};\n\n/**\n * Get all SAML2 circles of trust\n * @returns {Promise} a promise that resolves to an array of circles of trust objects\n */\nexport async function getCirclesOfTrust() {\n const urlString = util.format(\n queryAllCirclesOfTrustURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get SAML2 circle of trust by id/name\n * @param {String} cotId Circle of trust id/name\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function getCircleOfTrust(cotId) {\n const urlString = util.format(\n circleOfTrustByIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n cotId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Create a SAML2 circle of trust\n * @param {Object} cotData Object representing a SAML circle of trust\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function createCircleOfTrust(cotData) {\n const postData = _.cloneDeep(cotData);\n const urlString = util.format(\n createCircleOfTrustURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n postData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Update SAML2 circle of trust\n * @param {String} cotId Entity provider location (hosted or remote)\n * @param {Object} cotData Object representing a SAML2 circle of trust\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function updateCircleOfTrust(cotId, cotData) {\n const urlString = util.format(\n circleOfTrustByIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n cotId\n );\n const { data } = await generateAmApi(getApiConfig()).put(urlString, cotData, {\n withCredentials: true,\n });\n return data;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,OAAOC,CAAC,MAAM,QAAQ;AAAC,SACdC,aAAa;AAAA,SACbC,mBAAmB;AAAA,OACrB,KAAKC,KAAK;AAEjB,MAAMC,4BAA4B,GAChC,qDAAqD;AACvD,MAAMC,8BAA8B,GAClC,kEAAkE;AACpE,MAAMC,iCAAiC,GACrC,oEAAoE;AACtE,MAAMC,UAAU,GAAG,2BAA2B;AAC9C,MAAMC,YAAY,GAAGA,CAAA,KAAM;EACzB,OAAO;IACLC,IAAI,EAAG,QAAOP,mBAAmB,CAAC,CAAE,yCAAwC;IAC5EK;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,eAAeG,iBAAiBA,CAAA,EAAG;EACxC,MAAMC,SAAS,GAAGZ,IAAI,CAACa,MAAM,CAC3BN,iCAAiC,EACjCH,KAAK,CAACU,OAAO,CAAC,CAAC,EACfX,mBAAmB,CAAC,CACtB,CAAC;EACD,MAAM;IAAEY;EAAK,CAAC,GAAG,MAAMb,aAAa,CAACO,YAAY,CAAC,CAAC,CAAC,CAACO,GAAG,CAACJ,SAAS,EAAE;IAClEK,eAAe,EAAE;EACnB,CAAC,CAAC;EACF,OAAOF,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeG,gBAAgBA,CAACC,KAAK,EAAE;EAC5C,MAAMP,SAAS,GAAGZ,IAAI,CAACa,MAAM,CAC3BR,4BAA4B,EAC5BD,KAAK,CAACU,OAAO,CAAC,CAAC,EACfX,mBAAmB,CAAC,CAAC,EACrBgB,KACF,CAAC;EACD,MAAM;IAAEJ;EAAK,CAAC,GAAG,MAAMb,aAAa,CAACO,YAAY,CAAC,CAAC,CAAC,CAACO,GAAG,CAACJ,SAAS,EAAE;IAClEK,eAAe,EAAE;EACnB,CAAC,CAAC;EACF,OAAOF,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeK,mBAAmBA,CAACC,OAAO,EAAE;EACjD,MAAMC,QAAQ,GAAGrB,CAAC,CAACsB,SAAS,CAACF,OAAO,CAAC;EACrC,MAAMT,SAAS,GAAGZ,IAAI,CAACa,MAAM,CAC3BP,8BAA8B,EAC9BF,KAAK,CAACU,OAAO,CAAC,CAAC,EACfX,mBAAmB,CAAC,CACtB,CAAC;EACD,MAAM;IAAEY;EAAK,CAAC,GAAG,MAAMb,aAAa,CAACO,YAAY,CAAC,CAAC,CAAC,CAACe,IAAI,CACvDZ,SAAS,EACTU,QAAQ,EACR;IACEL,eAAe,EAAE;EACnB,CACF,CAAC;EACD,OAAOF,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeU,mBAAmBA,CAACN,KAAK,EAAEE,OAAO,EAAE;EACxD,MAAMT,SAAS,GAAGZ,IAAI,CAACa,MAAM,CAC3BR,4BAA4B,EAC5BD,KAAK,CAACU,OAAO,CAAC,CAAC,EACfX,mBAAmB,CAAC,CAAC,EACrBgB,KACF,CAAC;EACD,MAAM;IAAEJ;EAAK,CAAC,GAAG,MAAMb,aAAa,CAACO,YAAY,CAAC,CAAC,CAAC,CAACiB,GAAG,CAACd,SAAS,EAAES,OAAO,EAAE;IAC3EJ,eAAe,EAAE;EACnB,CAAC,CAAC;EACF,OAAOF,IAAI;AACb"}
|
package/esm/api/IdmConfigApi.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import util from 'util';
|
|
2
|
-
import { generateIdmApi } from
|
|
3
|
-
import { getTenantURL } from
|
|
4
|
-
import * as state from
|
|
2
|
+
import { generateIdmApi } from "./BaseApi.js";
|
|
3
|
+
import { getTenantURL } from "./utils/ApiUtils.js";
|
|
4
|
+
import * as state from "../shared/State.js";
|
|
5
5
|
const idmAllConfigURLTemplate = '%s/openidm/config';
|
|
6
6
|
const idmConfigURLTemplate = '%s/openidm/config/%s';
|
|
7
7
|
const idmConfigEntityQueryTemplate = '%s/openidm/config?_queryFilter=%s';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdmConfigApi.js","names":["util","generateIdmApi","getTenantURL","state","idmAllConfigURLTemplate","idmConfigURLTemplate","idmConfigEntityQueryTemplate","idmManagedObjectURLTemplate","getAllConfigEntities","urlString","format","getHost","data","get","getConfigEntitiesByType","type","encodeURIComponent","getConfigEntity","entityId","putConfigEntity","entityData","put","error","Error","deleteConfigEntity","delete","withCredentials","queryAllManagedObjectsByType","fields","pageCookie","undefined","fieldsParam","length","join","urlTemplate"],"sources":["../../src/api/IdmConfigApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst idmAllConfigURLTemplate = '%s/openidm/config';\nconst idmConfigURLTemplate = '%s/openidm/config/%s';\nconst idmConfigEntityQueryTemplate = '%s/openidm/config?_queryFilter=%s';\nconst idmManagedObjectURLTemplate =\n '%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000';\n\n/**\n * Get all IDM config entities\n * @returns {Promise} a promise that resolves to all IDM config entities\n */\nexport async function getAllConfigEntities() {\n const urlString = util.format(\n idmAllConfigURLTemplate,\n getTenantURL(state.getHost())\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get IDM config entities by type\n * @param {string} type the desired type of config entity\n * @returns {Promise} a promise that resolves to an object containing all IDM config entities of the desired type\n */\nexport async function getConfigEntitiesByType(type) {\n const urlString = util.format(\n idmConfigEntityQueryTemplate,\n getTenantURL(state.getHost()),\n encodeURIComponent(`_id sw '${type}'`)\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get an IDM config entity\n * @param {string} entityId the desired config entity\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function getConfigEntity(entityId) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Put IDM config entity\n * @param {string} entityId config entity id\n * @param {string} entityData config entity object\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function putConfigEntity(\n entityId: string,\n entityData: string | object\n) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n try {\n const { data } = await generateIdmApi().put(urlString, entityData);\n return data;\n } catch (error) {\n throw Error(`Could not put config entity ${entityId}: ${error}`);\n }\n}\n\n/**\n * Delete IDM config entity\n * @param {string} entityId config entity id\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function deleteConfigEntity(entityId: string) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi().delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Query managed objects\n * @param {string} type managed object type\n * @param {string[]} fields fields to retrieve\n * @param {string} pageCookie paged results cookie\n * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(\n type: string,\n fields: string[] = [],\n pageCookie: string = undefined\n): Promise<{\n result: unknown[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: string;\n totalPagedResults: number;\n remainingPagedResults: number;\n}> {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${idmManagedObjectURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(\n pageCookie\n )}`\n : `${idmManagedObjectURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getTenantURL(state.getHost()),\n type\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;
|
|
1
|
+
{"version":3,"file":"IdmConfigApi.js","names":["util","generateIdmApi","getTenantURL","state","idmAllConfigURLTemplate","idmConfigURLTemplate","idmConfigEntityQueryTemplate","idmManagedObjectURLTemplate","getAllConfigEntities","urlString","format","getHost","data","get","getConfigEntitiesByType","type","encodeURIComponent","getConfigEntity","entityId","putConfigEntity","entityData","put","error","Error","deleteConfigEntity","delete","withCredentials","queryAllManagedObjectsByType","fields","pageCookie","undefined","fieldsParam","length","join","urlTemplate"],"sources":["../../src/api/IdmConfigApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst idmAllConfigURLTemplate = '%s/openidm/config';\nconst idmConfigURLTemplate = '%s/openidm/config/%s';\nconst idmConfigEntityQueryTemplate = '%s/openidm/config?_queryFilter=%s';\nconst idmManagedObjectURLTemplate =\n '%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000';\n\n/**\n * Get all IDM config entities\n * @returns {Promise} a promise that resolves to all IDM config entities\n */\nexport async function getAllConfigEntities() {\n const urlString = util.format(\n idmAllConfigURLTemplate,\n getTenantURL(state.getHost())\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get IDM config entities by type\n * @param {string} type the desired type of config entity\n * @returns {Promise} a promise that resolves to an object containing all IDM config entities of the desired type\n */\nexport async function getConfigEntitiesByType(type) {\n const urlString = util.format(\n idmConfigEntityQueryTemplate,\n getTenantURL(state.getHost()),\n encodeURIComponent(`_id sw '${type}'`)\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get an IDM config entity\n * @param {string} entityId the desired config entity\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function getConfigEntity(entityId) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Put IDM config entity\n * @param {string} entityId config entity id\n * @param {string} entityData config entity object\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function putConfigEntity(\n entityId: string,\n entityData: string | object\n) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n try {\n const { data } = await generateIdmApi().put(urlString, entityData);\n return data;\n } catch (error) {\n throw Error(`Could not put config entity ${entityId}: ${error}`);\n }\n}\n\n/**\n * Delete IDM config entity\n * @param {string} entityId config entity id\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function deleteConfigEntity(entityId: string) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi().delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Query managed objects\n * @param {string} type managed object type\n * @param {string[]} fields fields to retrieve\n * @param {string} pageCookie paged results cookie\n * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(\n type: string,\n fields: string[] = [],\n pageCookie: string = undefined\n): Promise<{\n result: unknown[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: string;\n totalPagedResults: number;\n remainingPagedResults: number;\n}> {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${idmManagedObjectURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(\n pageCookie\n )}`\n : `${idmManagedObjectURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getTenantURL(state.getHost()),\n type\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n"],"mappings":"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"}
|
package/esm/api/IdmSystemApi.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import util from 'util';
|
|
2
|
-
import { generateIdmApi } from
|
|
3
|
-
import { getTenantURL } from
|
|
4
|
-
import * as state from
|
|
2
|
+
import { generateIdmApi } from "./BaseApi.js";
|
|
3
|
+
import { getTenantURL } from "./utils/ApiUtils.js";
|
|
4
|
+
import * as state from "../shared/State.js";
|
|
5
5
|
const testConnectorServersURLTemplate = '%s/openidm/system?_action=testConnectorServers';
|
|
6
6
|
/**
|
|
7
7
|
* Test connector servers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdmSystemApi.js","names":["util","generateIdmApi","getTenantURL","state","testConnectorServersURLTemplate","testConnectorServers","urlString","format","getHost","data","post"],"sources":["../../src/api/IdmSystemApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst testConnectorServersURLTemplate =\n '%s/openidm/system?_action=testConnectorServers';\n\nexport interface ConnectorServerStatusInterface {\n name: string;\n type: string;\n ok: boolean;\n}\n\nexport interface TestConnectorServersInterface {\n openicf: ConnectorServerStatusInterface[];\n}\n\n/**\n * Test connector servers\n * @returns {Promise<TestConnectorServersInterface>} a promise that resolves to a TestConnectorServersInterface object\n */\nexport async function testConnectorServers(): Promise<TestConnectorServersInterface> {\n const urlString = util.format(\n testConnectorServersURLTemplate,\n getTenantURL(state.getHost())\n );\n const { data } = await generateIdmApi().post(urlString);\n return data as TestConnectorServersInterface;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;
|
|
1
|
+
{"version":3,"file":"IdmSystemApi.js","names":["util","generateIdmApi","getTenantURL","state","testConnectorServersURLTemplate","testConnectorServers","urlString","format","getHost","data","post"],"sources":["../../src/api/IdmSystemApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst testConnectorServersURLTemplate =\n '%s/openidm/system?_action=testConnectorServers';\n\nexport interface ConnectorServerStatusInterface {\n name: string;\n type: string;\n ok: boolean;\n}\n\nexport interface TestConnectorServersInterface {\n openicf: ConnectorServerStatusInterface[];\n}\n\n/**\n * Test connector servers\n * @returns {Promise<TestConnectorServersInterface>} a promise that resolves to a TestConnectorServersInterface object\n */\nexport async function testConnectorServers(): Promise<TestConnectorServersInterface> {\n const urlString = util.format(\n testConnectorServersURLTemplate,\n getTenantURL(state.getHost())\n );\n const { data } = await generateIdmApi().post(urlString);\n return data as TestConnectorServersInterface;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AAAC,SACfC,cAAc;AAAA,SACdC,YAAY;AAAA,OACd,KAAKC,KAAK;AAEjB,MAAMC,+BAA+B,GACnC,gDAAgD;AAYlD;AACA;AACA;AACA;AACA,OAAO,eAAeC,oBAAoBA,CAAA,EAA2C;EACnF,MAAMC,SAAS,GAAGN,IAAI,CAACO,MAAM,CAC3BH,+BAA+B,EAC/BF,YAAY,CAACC,KAAK,CAACK,OAAO,CAAC,CAAC,CAC9B,CAAC;EACD,MAAM;IAAEC;EAAK,CAAC,GAAG,MAAMR,cAAc,CAAC,CAAC,CAACS,IAAI,CAACJ,SAAS,CAAC;EACvD,OAAOG,IAAI;AACb"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import util from 'util';
|
|
2
|
-
import { generateIdmApi } from
|
|
3
|
-
import { getTenantURL } from
|
|
4
|
-
import * as state from
|
|
2
|
+
import { generateIdmApi } from "./BaseApi.js";
|
|
3
|
+
import { getTenantURL } from "./utils/ApiUtils.js";
|
|
4
|
+
import * as state from "../shared/State.js";
|
|
5
5
|
const managedObjectURLTemplate = '%s/openidm/managed/%s';
|
|
6
6
|
const createManagedObjectURLTemplate = '%s/openidm/managed/%s?_action=create';
|
|
7
7
|
const managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedObjectApi.js","names":["util","generateIdmApi","getTenantURL","state","managedObjectURLTemplate","createManagedObjectURLTemplate","managedObjectByIdURLTemplate","managedObjectQueryAllURLTemplate","getManagedObject","type","id","fields","fieldsParam","join","urlString","format","getHost","data","get","createManagedObject","moType","moData","post","putManagedObject","put","queryAllManagedObjectsByType","pageCookie","length","urlTemplate"],"sources":["../../src/api/ManagedObjectApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport * as state from '../shared/State';\nimport { IdObjectSkeletonInterface } from './ApiTypes';\n\nconst managedObjectURLTemplate = '%s/openidm/managed/%s';\nconst createManagedObjectURLTemplate = '%s/openidm/managed/%s?_action=create';\nconst managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';\nconst managedObjectQueryAllURLTemplate = `${managedObjectURLTemplate}?_queryFilter=true&_pageSize=10000`;\n\n/**\n * Get managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {string[]} id array of fields to include\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an ObjectSkeletonInterface\n */\nexport async function getManagedObject(\n type: string,\n id: string,\n fields: string[] = ['*']\n): Promise<IdObjectSkeletonInterface> {\n const fieldsParam = `_fields=${fields.join(',')}`;\n const urlString = util.format(\n `${managedObjectByIdURLTemplate}?${fieldsParam}`,\n getTenantURL(state.getHost()),\n type,\n id\n );\n const { data } = await generateIdmApi().get(urlString);\n return data as IdObjectSkeletonInterface;\n}\n\n/**\n * Create managed object with server-generated id\n * @param {string} moType managed object type\n * @param {any} moData managed object data\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function createManagedObject(\n moType: string,\n moData\n): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n createManagedObjectURLTemplate,\n getTenantURL(state.getHost()),\n moType\n );\n const { data } = await generateIdmApi().post(urlString, moData);\n return data;\n}\n\n/**\n * Create or update managed object\n * @param {String} id managed object id\n * @param {String} data managed object\n * @returns {Promise} a promise that resolves to an object containing a managed object\n */\nexport async function putManagedObject(type, id, data) {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getTenantURL(state.getHost()),\n type,\n id\n );\n return generateIdmApi().put(urlString, data);\n}\n\n/**\n * Query managed objects\n * @param {String} type managed object type\n * @param {String} fields fields to retrieve\n * @param {String} pageCookie paged results cookie\n * @returns {Promise} a promise that resolves to an object containing managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(type, fields, pageCookie) {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${managedObjectQueryAllURLTemplate}${fieldsParam}&_pagedResultsCookie=${pageCookie}`\n : `${managedObjectQueryAllURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getTenantURL(state.getHost()),\n type\n );\n return generateIdmApi().get(urlString);\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;
|
|
1
|
+
{"version":3,"file":"ManagedObjectApi.js","names":["util","generateIdmApi","getTenantURL","state","managedObjectURLTemplate","createManagedObjectURLTemplate","managedObjectByIdURLTemplate","managedObjectQueryAllURLTemplate","getManagedObject","type","id","fields","fieldsParam","join","urlString","format","getHost","data","get","createManagedObject","moType","moData","post","putManagedObject","put","queryAllManagedObjectsByType","pageCookie","length","urlTemplate"],"sources":["../../src/api/ManagedObjectApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport * as state from '../shared/State';\nimport { IdObjectSkeletonInterface } from './ApiTypes';\n\nconst managedObjectURLTemplate = '%s/openidm/managed/%s';\nconst createManagedObjectURLTemplate = '%s/openidm/managed/%s?_action=create';\nconst managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';\nconst managedObjectQueryAllURLTemplate = `${managedObjectURLTemplate}?_queryFilter=true&_pageSize=10000`;\n\n/**\n * Get managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {string[]} id array of fields to include\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an ObjectSkeletonInterface\n */\nexport async function getManagedObject(\n type: string,\n id: string,\n fields: string[] = ['*']\n): Promise<IdObjectSkeletonInterface> {\n const fieldsParam = `_fields=${fields.join(',')}`;\n const urlString = util.format(\n `${managedObjectByIdURLTemplate}?${fieldsParam}`,\n getTenantURL(state.getHost()),\n type,\n id\n );\n const { data } = await generateIdmApi().get(urlString);\n return data as IdObjectSkeletonInterface;\n}\n\n/**\n * Create managed object with server-generated id\n * @param {string} moType managed object type\n * @param {any} moData managed object data\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function createManagedObject(\n moType: string,\n moData\n): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n createManagedObjectURLTemplate,\n getTenantURL(state.getHost()),\n moType\n );\n const { data } = await generateIdmApi().post(urlString, moData);\n return data;\n}\n\n/**\n * Create or update managed object\n * @param {String} id managed object id\n * @param {String} data managed object\n * @returns {Promise} a promise that resolves to an object containing a managed object\n */\nexport async function putManagedObject(type, id, data) {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getTenantURL(state.getHost()),\n type,\n id\n );\n return generateIdmApi().put(urlString, data);\n}\n\n/**\n * Query managed objects\n * @param {String} type managed object type\n * @param {String} fields fields to retrieve\n * @param {String} pageCookie paged results cookie\n * @returns {Promise} a promise that resolves to an object containing managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(type, fields, pageCookie) {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${managedObjectQueryAllURLTemplate}${fieldsParam}&_pagedResultsCookie=${pageCookie}`\n : `${managedObjectQueryAllURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getTenantURL(state.getHost()),\n type\n );\n return generateIdmApi().get(urlString);\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AAAC,SACfC,cAAc;AAAA,SACdC,YAAY;AAAA,OACd,KAAKC,KAAK;AAGjB,MAAMC,wBAAwB,GAAG,uBAAuB;AACxD,MAAMC,8BAA8B,GAAG,sCAAsC;AAC7E,MAAMC,4BAA4B,GAAG,0BAA0B;AAC/D,MAAMC,gCAAgC,GAAI,GAAEH,wBAAyB,oCAAmC;;AAExG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeI,gBAAgBA,CACpCC,IAAY,EACZC,EAAU,EACVC,MAAgB,GAAG,CAAC,GAAG,CAAC,EACY;EACpC,MAAMC,WAAW,GAAI,WAAUD,MAAM,CAACE,IAAI,CAAC,GAAG,CAAE,EAAC;EACjD,MAAMC,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC1B,GAAET,4BAA6B,IAAGM,WAAY,EAAC,EAChDV,YAAY,CAACC,KAAK,CAACa,OAAO,CAAC,CAAC,CAAC,EAC7BP,IAAI,EACJC,EACF,CAAC;EACD,MAAM;IAAEO;EAAK,CAAC,GAAG,MAAMhB,cAAc,CAAC,CAAC,CAACiB,GAAG,CAACJ,SAAS,CAAC;EACtD,OAAOG,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeE,mBAAmBA,CACvCC,MAAc,EACdC,MAAM,EAC8B;EACpC,MAAMP,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC3BV,8BAA8B,EAC9BH,YAAY,CAACC,KAAK,CAACa,OAAO,CAAC,CAAC,CAAC,EAC7BI,MACF,CAAC;EACD,MAAM;IAAEH;EAAK,CAAC,GAAG,MAAMhB,cAAc,CAAC,CAAC,CAACqB,IAAI,CAACR,SAAS,EAAEO,MAAM,CAAC;EAC/D,OAAOJ,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeM,gBAAgBA,CAACd,IAAI,EAAEC,EAAE,EAAEO,IAAI,EAAE;EACrD,MAAMH,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC3BT,4BAA4B,EAC5BJ,YAAY,CAACC,KAAK,CAACa,OAAO,CAAC,CAAC,CAAC,EAC7BP,IAAI,EACJC,EACF,CAAC;EACD,OAAOT,cAAc,CAAC,CAAC,CAACuB,GAAG,CAACV,SAAS,EAAEG,IAAI,CAAC;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeQ,4BAA4BA,CAAChB,IAAI,EAAEE,MAAM,EAAEe,UAAU,EAAE;EAC3E,MAAMd,WAAW,GACfD,MAAM,CAACgB,MAAM,GAAG,CAAC,GAAI,YAAWhB,MAAM,CAACE,IAAI,CAAC,GAAG,CAAE,EAAC,GAAG,cAAc;EACrE,MAAMe,WAAW,GAAGF,UAAU,GACzB,GAAEnB,gCAAiC,GAAEK,WAAY,wBAAuBc,UAAW,EAAC,GACpF,GAAEnB,gCAAiC,GAAEK,WAAY,EAAC;EACvD,MAAME,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC3Ba,WAAW,EACX1B,YAAY,CAACC,KAAK,CAACa,OAAO,CAAC,CAAC,CAAC,EAC7BP,IACF,CAAC;EACD,OAAOR,cAAc,CAAC,CAAC,CAACiB,GAAG,CAACJ,SAAS,CAAC;AACxC"}
|
package/esm/api/NodeApi.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import util from 'util';
|
|
2
|
-
import { deleteDeepByKey, getCurrentRealmPath } from
|
|
3
|
-
import { generateAmApi } from
|
|
4
|
-
import * as state from
|
|
2
|
+
import { deleteDeepByKey, getCurrentRealmPath } from "./utils/ApiUtils.js";
|
|
3
|
+
import { generateAmApi } from "./BaseApi.js";
|
|
4
|
+
import * as state from "../shared/State.js";
|
|
5
5
|
const queryAllNodeTypesURLTemplate = '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=getAllTypes';
|
|
6
6
|
const queryAllNodesByTypeURLTemplate = '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s?_queryFilter=true';
|
|
7
7
|
const queryAllNodesURLTemplate = '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=nextdescendents';
|
package/esm/api/NodeApi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeApi.js","names":["util","deleteDeepByKey","getCurrentRealmPath","generateAmApi","state","queryAllNodeTypesURLTemplate","queryAllNodesByTypeURLTemplate","queryAllNodesURLTemplate","nodeURLTemplate","apiVersion","getNodeApiConfig","configPath","path","getNodeTypes","urlString","format","getHost","data","post","withCredentials","headers","getNodes","getNodesByType","nodeType","get","getNode","nodeId","putNode","nodeData","cleanData","put","deleteNode","delete"],"sources":["../../src/api/NodeApi.ts"],"sourcesContent":["import util from 'util';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport { generateAmApi } from './BaseApi';\nimport * as state from '../shared/State';\n\nconst queryAllNodeTypesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=getAllTypes';\nconst queryAllNodesByTypeURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s?_queryFilter=true';\nconst queryAllNodesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=nextdescendents';\nconst nodeURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s/%s';\n\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getNodeApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/authentication/authenticationtrees`,\n apiVersion,\n };\n};\n\n/**\n * Get all node types\n * @returns {Promise} a promise that resolves to an array of node type objects\n */\nexport async function getNodeTypes() {\n const urlString = util.format(\n queryAllNodeTypesURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getNodeApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n headers: { 'Accept-Encoding': 'gzip, deflate, br' },\n }\n );\n return data;\n}\n\n/**\n * Get all nodes\n * @returns {Promise} a promise that resolves to an object containing an array of node objects\n */\nexport async function getNodes() {\n const urlString = util.format(\n queryAllNodesURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getNodeApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n headers: { 'Accept-Encoding': 'gzip, deflate, br' },\n }\n );\n return data;\n}\n\n/**\n * Get all nodes by type\n * @param {string} nodeType node type\n * @returns {Promise} a promise that resolves to an object containing an array of node objects of the requested type\n */\nexport async function getNodesByType(nodeType: string) {\n const urlString = util.format(\n queryAllNodesByTypeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n nodeType\n );\n const { data } = await generateAmApi(getNodeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @returns {Promise} a promise that resolves to a node object\n */\nexport async function getNode(nodeId: string, nodeType: string) {\n const urlString = util.format(\n nodeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Put node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @param {Object} nodeData node object\n * @returns {Promise} a promise that resolves to an object containing a node object\n */\nexport async function putNode(nodeId: string, nodeType: string, nodeData) {\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const cleanData = deleteDeepByKey(nodeData, '-encrypted');\n const urlString = util.format(\n nodeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).put(\n urlString,\n cleanData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Delete node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @returns {Promise} a promise that resolves to an object containing a node object\n */\nexport async function deleteNode(nodeId: string, nodeType: string) {\n const urlString = util.format(\n nodeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;
|
|
1
|
+
{"version":3,"file":"NodeApi.js","names":["util","deleteDeepByKey","getCurrentRealmPath","generateAmApi","state","queryAllNodeTypesURLTemplate","queryAllNodesByTypeURLTemplate","queryAllNodesURLTemplate","nodeURLTemplate","apiVersion","getNodeApiConfig","configPath","path","getNodeTypes","urlString","format","getHost","data","post","withCredentials","headers","getNodes","getNodesByType","nodeType","get","getNode","nodeId","putNode","nodeData","cleanData","put","deleteNode","delete"],"sources":["../../src/api/NodeApi.ts"],"sourcesContent":["import util from 'util';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport { generateAmApi } from './BaseApi';\nimport * as state from '../shared/State';\n\nconst queryAllNodeTypesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=getAllTypes';\nconst queryAllNodesByTypeURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s?_queryFilter=true';\nconst queryAllNodesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=nextdescendents';\nconst nodeURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s/%s';\n\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getNodeApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/authentication/authenticationtrees`,\n apiVersion,\n };\n};\n\n/**\n * Get all node types\n * @returns {Promise} a promise that resolves to an array of node type objects\n */\nexport async function getNodeTypes() {\n const urlString = util.format(\n queryAllNodeTypesURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getNodeApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n headers: { 'Accept-Encoding': 'gzip, deflate, br' },\n }\n );\n return data;\n}\n\n/**\n * Get all nodes\n * @returns {Promise} a promise that resolves to an object containing an array of node objects\n */\nexport async function getNodes() {\n const urlString = util.format(\n queryAllNodesURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getNodeApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n headers: { 'Accept-Encoding': 'gzip, deflate, br' },\n }\n );\n return data;\n}\n\n/**\n * Get all nodes by type\n * @param {string} nodeType node type\n * @returns {Promise} a promise that resolves to an object containing an array of node objects of the requested type\n */\nexport async function getNodesByType(nodeType: string) {\n const urlString = util.format(\n queryAllNodesByTypeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n nodeType\n );\n const { data } = await generateAmApi(getNodeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @returns {Promise} a promise that resolves to a node object\n */\nexport async function getNode(nodeId: string, nodeType: string) {\n const urlString = util.format(\n nodeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Put node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @param {Object} nodeData node object\n * @returns {Promise} a promise that resolves to an object containing a node object\n */\nexport async function putNode(nodeId: string, nodeType: string, nodeData) {\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const cleanData = deleteDeepByKey(nodeData, '-encrypted');\n const urlString = util.format(\n nodeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).put(\n urlString,\n cleanData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Delete node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @returns {Promise} a promise that resolves to an object containing a node object\n */\nexport async function deleteNode(nodeId: string, nodeType: string) {\n const urlString = util.format(\n nodeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AAAC,SACfC,eAAe,EAAEC,mBAAmB;AAAA,SACpCC,aAAa;AAAA,OACf,KAAKC,KAAK;AAEjB,MAAMC,4BAA4B,GAChC,qFAAqF;AACvF,MAAMC,8BAA8B,GAClC,sFAAsF;AACxF,MAAMC,wBAAwB,GAC5B,yFAAyF;AAC3F,MAAMC,eAAe,GACnB,uEAAuE;AAEzE,MAAMC,UAAU,GAAG,2BAA2B;AAC9C,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAC7B,MAAMC,UAAU,GAAGT,mBAAmB,CAAC,CAAC;EACxC,OAAO;IACLU,IAAI,EAAG,GAAED,UAAW,qCAAoC;IACxDF;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,eAAeI,YAAYA,CAAA,EAAG;EACnC,MAAMC,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC3BV,4BAA4B,EAC5BD,KAAK,CAACY,OAAO,CAAC,CAAC,EACfd,mBAAmB,CAAC,CACtB,CAAC;EACD,MAAM;IAAEe;EAAK,CAAC,GAAG,MAAMd,aAAa,CAACO,gBAAgB,CAAC,CAAC,CAAC,CAACQ,IAAI,CAC3DJ,SAAS,EACT,CAAC,CAAC,EACF;IACEK,eAAe,EAAE,IAAI;IACrBC,OAAO,EAAE;MAAE,iBAAiB,EAAE;IAAoB;EACpD,CACF,CAAC;EACD,OAAOH,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeI,QAAQA,CAAA,EAAG;EAC/B,MAAMP,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC3BR,wBAAwB,EACxBH,KAAK,CAACY,OAAO,CAAC,CAAC,EACfd,mBAAmB,CAAC,CACtB,CAAC;EACD,MAAM;IAAEe;EAAK,CAAC,GAAG,MAAMd,aAAa,CAACO,gBAAgB,CAAC,CAAC,CAAC,CAACQ,IAAI,CAC3DJ,SAAS,EACT,CAAC,CAAC,EACF;IACEK,eAAe,EAAE,IAAI;IACrBC,OAAO,EAAE;MAAE,iBAAiB,EAAE;IAAoB;EACpD,CACF,CAAC;EACD,OAAOH,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeK,cAAcA,CAACC,QAAgB,EAAE;EACrD,MAAMT,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC3BT,8BAA8B,EAC9BF,KAAK,CAACY,OAAO,CAAC,CAAC,EACfd,mBAAmB,CAAC,CAAC,EACrBqB,QACF,CAAC;EACD,MAAM;IAAEN;EAAK,CAAC,GAAG,MAAMd,aAAa,CAACO,gBAAgB,CAAC,CAAC,CAAC,CAACc,GAAG,CAACV,SAAS,EAAE;IACtEK,eAAe,EAAE;EACnB,CAAC,CAAC;EACF,OAAOF,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeQ,OAAOA,CAACC,MAAc,EAAEH,QAAgB,EAAE;EAC9D,MAAMT,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC3BP,eAAe,EACfJ,KAAK,CAACY,OAAO,CAAC,CAAC,EACfd,mBAAmB,CAAC,CAAC,EACrBqB,QAAQ,EACRG,MACF,CAAC;EACD,MAAM;IAAET;EAAK,CAAC,GAAG,MAAMd,aAAa,CAACO,gBAAgB,CAAC,CAAC,CAAC,CAACc,GAAG,CAACV,SAAS,EAAE;IACtEK,eAAe,EAAE;EACnB,CAAC,CAAC;EACF,OAAOF,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeU,OAAOA,CAACD,MAAc,EAAEH,QAAgB,EAAEK,QAAQ,EAAE;EACxE;EACA;EACA,MAAMC,SAAS,GAAG5B,eAAe,CAAC2B,QAAQ,EAAE,YAAY,CAAC;EACzD,MAAMd,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC3BP,eAAe,EACfJ,KAAK,CAACY,OAAO,CAAC,CAAC,EACfd,mBAAmB,CAAC,CAAC,EACrBqB,QAAQ,EACRG,MACF,CAAC;EACD,MAAM;IAAET;EAAK,CAAC,GAAG,MAAMd,aAAa,CAACO,gBAAgB,CAAC,CAAC,CAAC,CAACoB,GAAG,CAC1DhB,SAAS,EACTe,SAAS,EACT;IACEV,eAAe,EAAE;EACnB,CACF,CAAC;EACD,OAAOF,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAec,UAAUA,CAACL,MAAc,EAAEH,QAAgB,EAAE;EACjE,MAAMT,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC3BP,eAAe,EACfJ,KAAK,CAACY,OAAO,CAAC,CAAC,EACfd,mBAAmB,CAAC,CAAC,EACrBqB,QAAQ,EACRG,MACF,CAAC;EACD,MAAM;IAAET;EAAK,CAAC,GAAG,MAAMd,aAAa,CAACO,gBAAgB,CAAC,CAAC,CAAC,CAACsB,MAAM,CAAClB,SAAS,EAAE;IACzEK,eAAe,EAAE;EACnB,CAAC,CAAC;EACF,OAAOF,IAAI;AACb"}
|
package/esm/api/NodeApi.test.js
CHANGED
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
* Note: FRODO_DEBUG=1 is optional and enables debug logging for some output
|
|
30
30
|
* in case things don't function as expected
|
|
31
31
|
*/
|
|
32
|
-
import { NodeRaw } from
|
|
33
|
-
import { autoSetupPolly } from
|
|
32
|
+
import { NodeRaw } from "../index.js";
|
|
33
|
+
import { autoSetupPolly } from "../utils/AutoSetupPolly.js";
|
|
34
34
|
autoSetupPolly();
|
|
35
35
|
describe('NodeApi', () => {
|
|
36
36
|
const node1 = {
|