@rockcarver/frodo-lib 0.16.2-9 → 0.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +222 -1
- package/cjs/api/AgentApi.js +14 -61
- package/cjs/api/AgentApi.js.map +1 -1
- package/cjs/api/AgentApi.test.js.map +1 -1
- package/cjs/api/ApiTypes.js +0 -5
- package/cjs/api/ApiTypes.js.map +1 -1
- package/cjs/api/AuthenticateApi.js +9 -20
- package/cjs/api/AuthenticateApi.js.map +1 -1
- package/cjs/api/AuthenticateApi.test.js.map +1 -0
- package/cjs/api/BaseApi.js +82 -124
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/CirclesOfTrustApi.js +8 -32
- package/cjs/api/CirclesOfTrustApi.js.map +1 -1
- package/cjs/api/IdmConfigApi.js +9 -34
- package/cjs/api/IdmConfigApi.js.map +1 -1
- package/cjs/api/LogApi.js +8 -31
- package/cjs/api/LogApi.js.map +1 -1
- package/cjs/api/ManagedObjectApi.js +34 -31
- package/cjs/api/ManagedObjectApi.js.map +1 -1
- package/cjs/api/NodeApi.js +10 -41
- package/cjs/api/NodeApi.js.map +1 -1
- package/cjs/api/NodeApi.test.js.map +1 -1
- package/cjs/api/OAuth2ClientApi.js +7 -26
- package/cjs/api/OAuth2ClientApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.js +28 -34
- package/cjs/api/OAuth2OIDCApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.test.js.map +1 -0
- package/cjs/api/OAuth2ProviderApi.js +5 -15
- package/cjs/api/OAuth2ProviderApi.js.map +1 -1
- package/cjs/api/RealmApi.js +8 -34
- package/cjs/api/RealmApi.js.map +1 -1
- package/cjs/api/Saml2Api.js +16 -67
- package/cjs/api/Saml2Api.js.map +1 -1
- package/cjs/api/ScriptApi.js +8 -30
- package/cjs/api/ScriptApi.js.map +1 -1
- package/cjs/api/SecretsApi.js +14 -64
- package/cjs/api/SecretsApi.js.map +1 -1
- package/cjs/api/SecretsApi.test.js.map +1 -1
- package/cjs/api/ServerInfoApi.js +6 -21
- package/cjs/api/ServerInfoApi.js.map +1 -1
- package/cjs/api/ServiceApi.js +49 -47
- package/cjs/api/ServiceApi.js.map +1 -1
- package/cjs/api/SocialIdentityProvidersApi.js +9 -36
- package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
- package/cjs/api/StartupApi.js +5 -24
- package/cjs/api/StartupApi.js.map +1 -1
- package/cjs/api/StartupApi.test.js.map +1 -1
- package/cjs/api/TreeApi.js +8 -30
- package/cjs/api/TreeApi.js.map +1 -1
- package/cjs/api/TreeApi.test.js.map +1 -1
- package/cjs/api/VariablesApi.js +9 -37
- package/cjs/api/VariablesApi.js.map +1 -1
- package/cjs/api/VariablesApi.test.js.map +1 -1
- package/cjs/api/utils/ApiUtils.js +47 -57
- package/cjs/api/utils/ApiUtils.js.map +1 -1
- package/cjs/api/utils/ApiUtils.test.js.map +1 -1
- package/cjs/api/utils/Base64.js +5 -15
- package/cjs/api/utils/Base64.js.map +1 -1
- package/cjs/ext/axios-curlirize/curlirize.js +2 -9
- package/cjs/ext/axios-curlirize/curlirize.js.map +1 -1
- package/cjs/ext/axios-curlirize/lib/CurlHelper.js +7 -22
- package/cjs/ext/axios-curlirize/lib/CurlHelper.js.map +1 -1
- package/cjs/index.js +30 -89
- package/cjs/index.js.map +1 -1
- package/cjs/ops/AdminOps.js +27 -165
- package/cjs/ops/AdminOps.js.map +1 -1
- package/cjs/ops/AgentOps.js +2 -159
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/AgentOps.test.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +266 -226
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.test.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +13 -91
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +220 -136
- package/cjs/ops/ConnectionProfileOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.js +35 -379
- package/cjs/ops/EmailTemplateOps.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
- package/cjs/ops/IdmOps.js +52 -426
- package/cjs/ops/IdmOps.js.map +1 -1
- package/cjs/ops/IdmOps.test.js.map +1 -1
- package/cjs/ops/IdpOps.js +11 -94
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/IdpOps.test.js.map +1 -1
- package/cjs/ops/JoseOps.js +81 -0
- package/cjs/ops/JoseOps.js.map +1 -0
- package/cjs/ops/JoseOps.test.js.map +1 -0
- package/cjs/ops/JourneyOps.js +139 -370
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/JourneyOps.test.js.map +1 -1
- package/cjs/ops/LogOps.js +14 -47
- package/cjs/ops/LogOps.js.map +1 -1
- package/cjs/ops/ManagedObjectOps.js +4 -12
- package/cjs/ops/ManagedObjectOps.js.map +1 -1
- package/cjs/ops/NodeOps.js +9 -67
- package/cjs/ops/NodeOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +10 -40
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/OpsTypes.js +0 -5
- package/cjs/ops/OpsTypes.js.map +1 -1
- package/cjs/ops/OrganizationOps.js +6 -25
- package/cjs/ops/OrganizationOps.js.map +1 -1
- package/cjs/ops/RealmOps.js +0 -19
- package/cjs/ops/RealmOps.js.map +1 -1
- package/cjs/ops/Saml2Ops.js +11 -107
- package/cjs/ops/Saml2Ops.js.map +1 -1
- package/cjs/ops/Saml2Ops.test.js.map +1 -1
- package/cjs/ops/ScriptOps.js +26 -73
- package/cjs/ops/ScriptOps.js.map +1 -1
- package/cjs/ops/SecretsOps.js +2 -58
- package/cjs/ops/SecretsOps.js.map +1 -1
- package/cjs/ops/ServiceAccountOps.js +61 -0
- package/cjs/ops/ServiceAccountOps.js.map +1 -0
- package/cjs/ops/ServiceAccountOps.test.js.map +1 -0
- package/cjs/ops/ServiceOps.js +55 -101
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/StartupOps.js +2 -23
- package/cjs/ops/StartupOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js +230 -436
- package/cjs/ops/ThemeOps.js.map +1 -1
- package/cjs/ops/ThemeOps.test.js.map +1 -0
- package/cjs/ops/VariablesOps.js +0 -38
- package/cjs/ops/VariablesOps.js.map +1 -1
- package/cjs/ops/utils/Console.js +29 -62
- package/cjs/ops/utils/Console.js.map +1 -1
- package/cjs/ops/utils/DataProtection.js +13 -47
- package/cjs/ops/utils/DataProtection.js.map +1 -1
- package/cjs/ops/utils/DataProtection.test.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +36 -74
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.test.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.js +27 -43
- package/cjs/ops/utils/OpsUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
- package/cjs/ops/utils/ValidationUtils.js +0 -13
- package/cjs/ops/utils/ValidationUtils.js.map +1 -1
- package/cjs/ops/utils/ValidationUtils.test.js.map +1 -1
- package/cjs/ops/utils/Version.js +2 -12
- package/cjs/ops/utils/Version.js.map +1 -1
- package/cjs/ops/utils/Version.test.js.map +1 -1
- package/cjs/ops/utils/Wordwrap.js +1 -2
- package/cjs/ops/utils/Wordwrap.js.map +1 -1
- package/cjs/ops/utils/Wordwrap.test.js.map +1 -0
- package/cjs/shared/State.js +239 -0
- package/cjs/shared/State.js.map +1 -0
- package/cjs/shared/State.test.js.map +1 -0
- package/cjs/storage/StaticStorage.js.map +1 -1
- package/cjs/test/mocks/AuthenticateApi/step/default_steps.json +88 -0
- package/cjs/test/mocks/ForgeRockApiMockEngine.js +161 -83
- package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
- package/cjs/test/mocks/IdmConfigApi/getConfigEntity/managed.json +4420 -0
- package/cjs/test/mocks/OAuth2OIDCApi/accessToken/body.json +6 -0
- package/cjs/test/mocks/OAuth2OIDCApi/accessToken/headers.json +19 -0
- package/cjs/test/mocks/OAuth2OIDCApi/authorize/headers.json +38 -0
- package/cjs/test/mocks/ServerInfoApi/getServerInfo/info.json +25 -0
- package/cjs/test/mocks/ServerInfoApi/getServerVersionInfo/version.json +8 -0
- package/cjs/utils/AutoSetupPolly.js +79 -0
- package/cjs/utils/AutoSetupPolly.js.map +1 -0
- package/cjs/utils/SetupJest.js +6 -0
- package/cjs/utils/SetupJest.js.map +1 -0
- package/cjs/{test/mocks → utils}/snapshotResolve.js +10 -12
- package/cjs/utils/snapshotResolve.js.map +1 -0
- package/esm/api/AgentApi.mjs +19 -21
- package/esm/api/AgentApi.test.mjs +6 -15
- package/esm/api/ApiTypes.mjs +0 -5
- package/esm/api/AuthenticateApi.mjs +7 -10
- package/esm/api/AuthenticateApi.test.mjs +39 -0
- package/esm/api/BaseApi.mjs +96 -81
- package/esm/api/CirclesOfTrustApi.mjs +9 -12
- package/esm/api/IdmConfigApi.mjs +11 -12
- package/esm/api/LogApi.mjs +6 -10
- package/esm/api/ManagedObjectApi.mjs +23 -8
- package/esm/api/NodeApi.mjs +13 -15
- package/esm/api/NodeApi.test.mjs +13 -17
- package/esm/api/OAuth2ClientApi.mjs +7 -9
- package/esm/api/OAuth2OIDCApi.mjs +15 -9
- package/esm/api/OAuth2OIDCApi.test.mjs +53 -0
- package/esm/api/OAuth2ProviderApi.mjs +3 -5
- package/esm/api/RealmApi.mjs +10 -13
- package/esm/api/Saml2Api.mjs +25 -29
- package/esm/api/ScriptApi.mjs +9 -11
- package/esm/api/SecretsApi.mjs +21 -24
- package/esm/api/SecretsApi.test.mjs +9 -31
- package/esm/api/ServerInfoApi.mjs +5 -9
- package/esm/api/ServiceApi.mjs +53 -26
- package/esm/api/SocialIdentityProvidersApi.mjs +11 -13
- package/esm/api/StartupApi.mjs +5 -10
- package/esm/api/StartupApi.test.mjs +4 -7
- package/esm/api/TreeApi.mjs +9 -11
- package/esm/api/TreeApi.test.mjs +24 -61
- package/esm/api/VariablesApi.mjs +11 -13
- package/esm/api/VariablesApi.test.mjs +80 -222
- package/esm/api/utils/ApiUtils.mjs +45 -48
- package/esm/api/utils/ApiUtils.test.mjs +33 -32
- package/esm/api/utils/Base64.mjs +5 -9
- package/esm/ext/axios-curlirize/curlirize.mjs +2 -7
- package/esm/ext/axios-curlirize/lib/CurlHelper.mjs +7 -20
- package/esm/index.mjs +23 -13
- package/esm/ops/AdminOps.mjs +33 -119
- package/esm/ops/AgentOps.mjs +37 -80
- package/esm/ops/AgentOps.test.mjs +5 -45
- package/esm/ops/AuthenticateOps.mjs +242 -175
- package/esm/ops/AuthenticateOps.test.mjs +7 -9
- package/esm/ops/CirclesOfTrustOps.mjs +24 -61
- package/esm/ops/ConnectionProfileOps.mjs +192 -82
- package/esm/ops/ConnectionProfileOps.test.mjs +19 -19
- package/esm/ops/EmailTemplateOps.mjs +18 -276
- package/esm/ops/EmailTemplateOps.test.mjs +19 -44
- package/esm/ops/IdmOps.mjs +30 -327
- package/esm/ops/IdmOps.test.mjs +47 -54
- package/esm/ops/IdpOps.mjs +21 -59
- package/esm/ops/IdpOps.test.mjs +5 -5
- package/esm/ops/JoseOps.mjs +41 -0
- package/esm/ops/JoseOps.test.mjs +137 -0
- package/esm/ops/JourneyOps.mjs +146 -289
- package/esm/ops/JourneyOps.test.mjs +29 -27
- package/esm/ops/LogOps.mjs +15 -25
- package/esm/ops/ManagedObjectOps.mjs +6 -6
- package/esm/ops/NodeOps.mjs +9 -47
- package/esm/ops/OAuth2ClientOps.mjs +13 -19
- package/esm/ops/OpsTypes.mjs +1 -3
- package/esm/ops/OrganizationOps.mjs +7 -14
- package/esm/ops/RealmOps.mjs +4 -7
- package/esm/ops/Saml2Ops.mjs +28 -62
- package/esm/ops/Saml2Ops.test.mjs +20 -23
- package/esm/ops/ScriptOps.mjs +29 -47
- package/esm/ops/SecretsOps.mjs +15 -31
- package/esm/ops/ServiceAccountOps.mjs +41 -0
- package/esm/ops/ServiceAccountOps.test.mjs +51 -0
- package/esm/ops/ServiceOps.mjs +66 -83
- package/esm/ops/StartupOps.mjs +4 -13
- package/esm/ops/ThemeOps.mjs +189 -298
- package/esm/{api/ThemeApi.test.mjs → ops/ThemeOps.test.mjs} +91 -96
- package/esm/ops/VariablesOps.mjs +9 -18
- package/esm/ops/utils/Console.mjs +28 -46
- package/esm/ops/utils/DataProtection.mjs +15 -28
- package/esm/ops/utils/DataProtection.test.mjs +8 -8
- package/esm/ops/utils/ExportImportUtils.mjs +34 -43
- package/esm/ops/utils/ExportImportUtils.test.mjs +20 -18
- package/esm/ops/utils/OpsUtils.mjs +27 -21
- package/esm/ops/utils/OpsUtils.test.mjs +155 -27
- package/esm/ops/utils/ValidationUtils.mjs +0 -9
- package/esm/ops/utils/Version.mjs +2 -3
- package/esm/ops/utils/Version.test.mjs +0 -2
- package/esm/ops/utils/Wordwrap.mjs +1 -1
- package/esm/ops/utils/Wordwrap.test.mjs +19 -0
- package/esm/shared/State.mjs +164 -0
- package/esm/shared/State.test.mjs +249 -0
- package/esm/test/mocks/AuthenticateApi/step/default_steps.json +88 -0
- package/esm/test/mocks/ForgeRockApiMockEngine.mjs +147 -31
- package/esm/test/mocks/IdmConfigApi/getConfigEntity/managed.json +4420 -0
- package/esm/test/mocks/OAuth2OIDCApi/accessToken/body.json +6 -0
- package/esm/test/mocks/OAuth2OIDCApi/accessToken/headers.json +19 -0
- package/esm/test/mocks/OAuth2OIDCApi/authorize/headers.json +38 -0
- package/esm/test/mocks/ServerInfoApi/getServerInfo/info.json +25 -0
- package/esm/test/mocks/ServerInfoApi/getServerVersionInfo/version.json +8 -0
- package/esm/utils/AutoSetupPolly.mjs +72 -0
- package/esm/utils/SetupJest.mjs +3 -0
- package/esm/{test/mocks → utils}/snapshotResolve.mjs +10 -12
- package/package.json +36 -26
- package/types/api/AgentApi.d.ts.map +1 -1
- package/types/api/ApiTypes.d.ts +15 -16
- package/types/api/ApiTypes.d.ts.map +1 -1
- package/types/api/AuthenticateApi.d.ts +1 -1
- package/types/api/AuthenticateApi.d.ts.map +1 -1
- package/types/api/BaseApi.d.ts +2 -0
- package/types/api/BaseApi.d.ts.map +1 -1
- package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
- package/types/api/IdmConfigApi.d.ts.map +1 -1
- package/types/api/LogApi.d.ts.map +1 -1
- package/types/api/ManagedObjectApi.d.ts +9 -1
- package/types/api/ManagedObjectApi.d.ts.map +1 -1
- package/types/api/NodeApi.d.ts.map +1 -1
- package/types/api/OAuth2ClientApi.d.ts.map +1 -1
- package/types/api/OAuth2OIDCApi.d.ts +4 -2
- package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
- package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
- package/types/api/RealmApi.d.ts.map +1 -1
- package/types/api/Saml2Api.d.ts.map +1 -1
- package/types/api/ScriptApi.d.ts.map +1 -1
- package/types/api/SecretsApi.d.ts.map +1 -1
- package/types/api/ServerInfoApi.d.ts.map +1 -1
- package/types/api/ServiceApi.d.ts +14 -7
- package/types/api/ServiceApi.d.ts.map +1 -1
- package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
- package/types/api/StartupApi.d.ts.map +1 -1
- package/types/api/TreeApi.d.ts.map +1 -1
- package/types/api/VariablesApi.d.ts.map +1 -1
- package/types/api/utils/ApiUtils.d.ts +1 -0
- package/types/api/utils/ApiUtils.d.ts.map +1 -1
- package/types/index.d.ts +11 -5
- package/types/index.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts +10 -2
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/ConnectionProfileOps.d.ts +49 -21
- package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
- package/types/ops/EmailTemplateOps.d.ts +14 -33
- package/types/ops/EmailTemplateOps.d.ts.map +1 -1
- package/types/ops/IdmOps.d.ts +29 -37
- package/types/ops/IdmOps.d.ts.map +1 -1
- package/types/ops/JoseOps.d.ts +33 -0
- package/types/ops/JoseOps.d.ts.map +1 -0
- package/types/ops/JourneyOps.d.ts.map +1 -1
- package/types/ops/LogOps.d.ts.map +1 -1
- package/types/ops/NodeOps.d.ts.map +1 -1
- package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
- package/types/ops/OpsTypes.d.ts +1 -1
- package/types/ops/OpsTypes.d.ts.map +1 -1
- package/types/ops/OrganizationOps.d.ts.map +1 -1
- package/types/ops/ScriptOps.d.ts.map +1 -1
- package/types/ops/ServiceAccountOps.d.ts +20 -0
- package/types/ops/ServiceAccountOps.d.ts.map +1 -0
- package/types/ops/ServiceOps.d.ts +18 -10
- package/types/ops/ServiceOps.d.ts.map +1 -1
- package/types/ops/ThemeOps.d.ts +35 -50
- package/types/ops/ThemeOps.d.ts.map +1 -1
- package/types/ops/utils/Console.d.ts +1 -1
- package/types/ops/utils/Console.d.ts.map +1 -1
- package/types/ops/utils/DataProtection.d.ts.map +1 -1
- package/types/ops/utils/ExportImportUtils.d.ts +5 -2
- package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
- package/types/ops/utils/OpsUtils.d.ts +6 -0
- package/types/ops/utils/OpsUtils.d.ts.map +1 -1
- package/types/ops/utils/Wordwrap.d.ts.map +1 -1
- package/types/shared/State.d.ts +223 -0
- package/types/shared/State.d.ts.map +1 -0
- package/types/test/mocks/ForgeRockApiMockEngine.d.ts +19 -1
- package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -1
- package/types/utils/AutoSetupPolly.d.ts +1 -0
- package/types/utils/AutoSetupPolly.d.ts.map +1 -0
- package/types/utils/SetupJest.d.ts +1 -0
- package/types/utils/SetupJest.d.ts.map +1 -0
- package/types/utils/snapshotResolve.d.ts +1 -0
- package/types/utils/snapshotResolve.d.ts.map +1 -0
- package/cjs/api/EmailTemplateApi.js +0 -73
- package/cjs/api/EmailTemplateApi.js.map +0 -1
- package/cjs/api/ThemeApi.js +0 -367
- package/cjs/api/ThemeApi.js.map +0 -1
- package/cjs/api/ThemeApi.test.js.map +0 -1
- package/cjs/storage/SessionStorage.js +0 -91
- package/cjs/storage/SessionStorage.js.map +0 -1
- package/cjs/test/mocks/snapshotResolve.js.map +0 -1
- package/esm/api/EmailTemplateApi.mjs +0 -34
- package/esm/api/ThemeApi.mjs +0 -271
- package/esm/storage/SessionStorage.mjs +0 -79
- package/types/api/EmailTemplateApi.d.ts +0 -22
- package/types/api/EmailTemplateApi.d.ts.map +0 -1
- package/types/api/ThemeApi.d.ts +0 -56
- package/types/api/ThemeApi.d.ts.map +0 -1
- package/types/storage/SessionStorage.d.ts +0 -71
- package/types/storage/SessionStorage.d.ts.map +0 -1
- package/types/test/mocks/snapshotResolve.d.ts +0 -1
- package/types/test/mocks/snapshotResolve.d.ts.map +0 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"access_token": "eyJ0eXAiOiJKV1QiLCJraWQiOiJKSSt2QkJYWDd5ellQT3N4ZFdvWE16S2x1Q0E9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJjNWYzY2YzNS00Y2MxLTQyZjktODBiMy01OWUxY2E4NDI1MTAiLCJjdHMiOiJPQVVUSDJfU1RBVEVMRVNTX0dSQU5UIiwiYXV0aF9sZXZlbCI6MCwiYXVkaXRUcmFja2luZ0lkIjoiMjdiNDZkMmYtYmUxOC00Yzg4LWJkZTktYmRhMjQxODNhODg0LTIxNTY5OSIsInN1Ym5hbWUiOiJjNWYzY2YzNS00Y2MxLTQyZjktODBiMy01OWUxY2E4NDI1MTAiLCJpc3MiOiJodHRwczovL29wZW5hbS12b2xrZXItZGV2LmZvcmdlYmxvY2tzLmNvbTo0NDMvYW0vb2F1dGgyIiwidG9rZW5OYW1lIjoiYWNjZXNzX3Rva2VuIiwidG9rZW5fdHlwZSI6IkJlYXJlciIsImF1dGhHcmFudElkIjoiWFlxeVg5LUVuTmtaVW5DZVBnX2RIazVBdUNJIiwiYXVkIjoiaWRtQWRtaW5DbGllbnQiLCJuYmYiOjE2NjkzOTg1OTQsImdyYW50X3R5cGUiOiJhdXRob3JpemF0aW9uX2NvZGUiLCJzY29wZSI6WyJmcjppZG06KiJdLCJhdXRoX3RpbWUiOjE2NjkzOTg1NjQsInJlYWxtIjoiLyIsImV4cCI6MTY2OTQwMjE5NCwiaWF0IjoxNjY5Mzk4NTk0LCJleHBpcmVzX2luIjozNjAwLCJqdGkiOiJ0SGM1TEIzZ09ZaVJ2QzRfNVZvTFhlN1kzUlEifQ.FwYul4CSukUuXzIRF1G00uS-Bj5vwW7A98WsiwnmIPII3teLdcDM0OLAoTBpARtTCFxf8bSgleo0aznENjEIU3Y5Br0aE2iT5kT8nLhVGv4FputIgfr0wE2XySGtCVSft2LnuQZ8wmoV4RUGmO2p5FsiiOdzMVQu5k8xmlF9nb78GdpP0haqNnOi3Gck7nWWMFRp_oyNcvzWL79ZFQQ8oQPI2iIexN4PssPzDEsKhieTWzHCQEEL3L3ajgNJDYpM57kYB686vFs6YhYIoFQTQx71rx3x1QZdQruXQ5V1h25qQ0BB-4OVfo2fuqej6nLy0i_5XWjqCFASsxUOmpeHVg",
|
|
3
|
+
"scope": "fr:idm:*",
|
|
4
|
+
"token_type": "Bearer",
|
|
5
|
+
"expires_in": 3599
|
|
6
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
[
|
|
2
|
+
{ "key": "x-frame-options", "value": "SAMEORIGIN" },
|
|
3
|
+
{ "key": "x-content-type-options", "value": "nosniff" },
|
|
4
|
+
{ "key": "cache-control", "value": "no-store" },
|
|
5
|
+
{ "key": "pragma", "value": "no-cache" },
|
|
6
|
+
{ "key": "content-type", "value": "application/json;charset=UTF-8" },
|
|
7
|
+
{ "key": "content-length", "value": "1282" },
|
|
8
|
+
{ "key": "date", "value": "Fri, 25 Nov 2022 17:49:54 GMT" },
|
|
9
|
+
{ "key": "x-forgerock-transactionid", "value": "volker-at_PKCE-1669398592" },
|
|
10
|
+
{
|
|
11
|
+
"key": "strict-transport-security",
|
|
12
|
+
"value": "max-age=31536000; includeSubDomains; preload;"
|
|
13
|
+
},
|
|
14
|
+
{ "key": "Via", "value": "1.1 google" },
|
|
15
|
+
{
|
|
16
|
+
"key": "Alt-Svc",
|
|
17
|
+
"value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
[
|
|
2
|
+
{ "key": "x-frame-options", "value": "SAMEORIGIN" },
|
|
3
|
+
{ "key": "x-content-type-options", "value": "nosniff" },
|
|
4
|
+
{ "key": "cache-control", "value": "no-store" },
|
|
5
|
+
{
|
|
6
|
+
"key": "location",
|
|
7
|
+
"value": "https://openam-volker-dev.forgeblocks.com/platform/appAuthHelperRedirect.html?code=18mxu6ACkxVRJdmW6QjpUL01h8c&iss=https%3A%2F%2Fopenam-volker-dev.forgeblocks.com%3A443%2Fam%2Foauth2&client_id=idmAdminClient"
|
|
8
|
+
},
|
|
9
|
+
{ "key": "pragma", "value": "no-cache" },
|
|
10
|
+
{
|
|
11
|
+
"key": "set-cookie",
|
|
12
|
+
"value": "OAUTH_REQUEST_ATTRIBUTES=DELETED; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Domain=.mytest.run; Secure; HttpOnly; SameSite=none"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"key": "set-cookie",
|
|
16
|
+
"value": "OAUTH_REQUEST_ATTRIBUTES=DELETED; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Domain=openam-volker-dev.forgeblocks.com; Secure; HttpOnly; SameSite=none"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"key": "set-cookie",
|
|
20
|
+
"value": "OAUTH_REQUEST_ATTRIBUTES=DELETED; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Domain=.scheuber.io; Secure; HttpOnly; SameSite=none"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"key": "set-cookie",
|
|
24
|
+
"value": "OAUTH_REQUEST_ATTRIBUTES=DELETED; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Domain=.mytestrun.com; Secure; HttpOnly; SameSite=none"
|
|
25
|
+
},
|
|
26
|
+
{ "key": "content-length", "value": "0" },
|
|
27
|
+
{ "key": "date", "value": "Fri, 25 Nov 2022 16:26:00 GMT" },
|
|
28
|
+
{ "key": "x-forgerock-transactionid", "value": "volker-authZ-1669393558" },
|
|
29
|
+
{
|
|
30
|
+
"key": "strict-transport-security",
|
|
31
|
+
"value": "max-age=31536000; includeSubDomains; preload;"
|
|
32
|
+
},
|
|
33
|
+
{ "key": "Via", "value": "1.1 google" },
|
|
34
|
+
{
|
|
35
|
+
"key": "Alt-Svc",
|
|
36
|
+
"value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_id": "*",
|
|
3
|
+
"_rev": "825060247",
|
|
4
|
+
"domains": [],
|
|
5
|
+
"protectedUserAttributes": ["telephoneNumber", "mail"],
|
|
6
|
+
"cookieName": "4ad7d57003aee4f",
|
|
7
|
+
"secureCookie": true,
|
|
8
|
+
"forgotPassword": "false",
|
|
9
|
+
"forgotUsername": "false",
|
|
10
|
+
"kbaEnabled": "false",
|
|
11
|
+
"selfRegistration": "false",
|
|
12
|
+
"lang": "en-US",
|
|
13
|
+
"successfulUserRegistrationDestination": "default",
|
|
14
|
+
"socialImplementations": [],
|
|
15
|
+
"referralsEnabled": "false",
|
|
16
|
+
"zeroPageLogin": {
|
|
17
|
+
"enabled": false,
|
|
18
|
+
"refererWhitelist": [],
|
|
19
|
+
"allowedWithoutReferer": true
|
|
20
|
+
},
|
|
21
|
+
"realm": "/",
|
|
22
|
+
"xuiUserSessionValidationEnabled": true,
|
|
23
|
+
"fileBasedConfiguration": true,
|
|
24
|
+
"userIdAttributes": []
|
|
25
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_id": "version",
|
|
3
|
+
"_rev": "-126497850",
|
|
4
|
+
"version": "7.3.0-2022-8-SNAPSHOT",
|
|
5
|
+
"fullVersion": "ForgeRock Access Management 7.3.0-2022-8-SNAPSHOT Build 3ec5d7df1472451f3bd7bbd28e5ac3ce09fa4c5c (2022-November-22 10:22)",
|
|
6
|
+
"revision": "3ec5d7df1472451f3bd7bbd28e5ac3ce09fa4c5c",
|
|
7
|
+
"date": "2022-November-22 10:22"
|
|
8
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { fileURLToPath } from 'url';
|
|
3
|
+
import pollyJest from 'setup-polly-jest';
|
|
4
|
+
import { Polly } from '@pollyjs/core';
|
|
5
|
+
import { MODES } from '@pollyjs/utils';
|
|
6
|
+
import NodeHttpAdapter from '@pollyjs/adapter-node-http';
|
|
7
|
+
import FSPersister from '@pollyjs/persister-fs';
|
|
8
|
+
import { getTokens } from '../ops/AuthenticateOps';
|
|
9
|
+
import { state } from '../index';
|
|
10
|
+
const {
|
|
11
|
+
setupPolly
|
|
12
|
+
} = pollyJest;
|
|
13
|
+
Polly.register(NodeHttpAdapter);
|
|
14
|
+
Polly.register(FSPersister);
|
|
15
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
16
|
+
state.setHost('https://openam-frodo-dev.forgeblocks.com/am');
|
|
17
|
+
state.setRealm('alpha');
|
|
18
|
+
let recordIfMissing = true;
|
|
19
|
+
let mode = MODES.REPLAY;
|
|
20
|
+
|
|
21
|
+
// resolve "/home/sandeepc/work/ForgeRock/sources/frodo-lib/esm/api" to
|
|
22
|
+
// "/home/sandeepc/work/ForgeRock/sources/frodo-lib/src/test/recordings"
|
|
23
|
+
const recordingsDir = __dirname.replace(/^(.*\/frodo-\w{3})(.*)$/gi, '$1/src/test/mock-recordings');
|
|
24
|
+
switch (process.env.FRODO_POLLY_MODE) {
|
|
25
|
+
case 'record':
|
|
26
|
+
mode = MODES.RECORD;
|
|
27
|
+
await getTokens();
|
|
28
|
+
break;
|
|
29
|
+
case 'replay':
|
|
30
|
+
mode = MODES.REPLAY;
|
|
31
|
+
state.default.session.setCookieName('cookieName');
|
|
32
|
+
state.default.session.setCookieValue('cookieValue');
|
|
33
|
+
break;
|
|
34
|
+
case 'offline':
|
|
35
|
+
mode = MODES.REPLAY;
|
|
36
|
+
recordIfMissing = false;
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
export default function autoSetupPolly() {
|
|
40
|
+
return setupPolly({
|
|
41
|
+
adapters: ['node-http'],
|
|
42
|
+
mode,
|
|
43
|
+
recordIfMissing,
|
|
44
|
+
flushRequestsOnStop: true,
|
|
45
|
+
logLevel: 'warn',
|
|
46
|
+
recordFailedRequests: true,
|
|
47
|
+
persister: 'fs',
|
|
48
|
+
persisterOptions: {
|
|
49
|
+
fs: {
|
|
50
|
+
recordingsDir
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
matchRequestsBy: {
|
|
54
|
+
method: true,
|
|
55
|
+
headers: false,
|
|
56
|
+
// do not match headers, because "Authorization" header is sent only at recording time
|
|
57
|
+
body: true,
|
|
58
|
+
order: false,
|
|
59
|
+
url: {
|
|
60
|
+
protocol: true,
|
|
61
|
+
username: false,
|
|
62
|
+
password: false,
|
|
63
|
+
hostname: true,
|
|
64
|
+
port: false,
|
|
65
|
+
pathname: true,
|
|
66
|
+
query: true,
|
|
67
|
+
hash: true
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=AutoSetupPolly.js.map
|
|
@@ -1,32 +1,30 @@
|
|
|
1
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
2
|
-
const path = require('path');
|
|
3
|
-
|
|
4
1
|
module.exports = {
|
|
5
2
|
resolveSnapshotPath: (testPath, snapshotExtension) => {
|
|
3
|
+
// console.log(`testPath in = ${testPath}`);
|
|
6
4
|
let snapshotFilePath = '';
|
|
7
|
-
|
|
8
5
|
if (testPath.indexOf('cjs') !== -1) {
|
|
9
6
|
snapshotFilePath = testPath.replace('cjs', 'src').concat(snapshotExtension);
|
|
10
7
|
} else {
|
|
11
8
|
snapshotFilePath = testPath.replace('esm', 'src').concat(snapshotExtension);
|
|
12
9
|
}
|
|
13
|
-
|
|
10
|
+
snapshotFilePath = snapshotFilePath.replace(/(.*\/src)\/(.*)\/(.*)\.snap/g, '$1/test/snapshots/$2/$3.snap');
|
|
11
|
+
// console.log(`snapshotFilePath out = ${snapshotFilePath}`);
|
|
14
12
|
return snapshotFilePath;
|
|
15
13
|
},
|
|
16
14
|
// resolves from snapshot to test path
|
|
17
15
|
resolveTestPath: (snapshotFilePath, snapshotExtension) => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (snapshotFilePath.indexOf('
|
|
21
|
-
testFilePath =
|
|
16
|
+
// console.log(`snapshotFilePath in = ${snapshotFilePath}`);
|
|
17
|
+
let testFilePath = snapshotFilePath.replace('/test/snapshots/', '/');
|
|
18
|
+
if (snapshotFilePath.indexOf('mjs') !== -1) {
|
|
19
|
+
testFilePath = testFilePath.replace('src', 'esm');
|
|
22
20
|
} else {
|
|
23
|
-
testFilePath =
|
|
21
|
+
testFilePath = testFilePath.replace('src', 'cjs');
|
|
24
22
|
}
|
|
25
|
-
|
|
26
23
|
testFilePath = testFilePath.substring(0, testFilePath.indexOf(snapshotExtension));
|
|
24
|
+
// console.log(`testFilePath out = ${testFilePath}`);
|
|
27
25
|
return testFilePath;
|
|
28
26
|
},
|
|
29
27
|
// Example test path, used for preflight consistency check of the implementation above
|
|
30
|
-
testPathForConsistencyCheck: '
|
|
28
|
+
testPathForConsistencyCheck: '/home/sandeepc/work/ForgeRock/sources/frodo-lib/cjs/ops/IdmOps.test.js'
|
|
31
29
|
};
|
|
32
30
|
//# sourceMappingURL=snapshotResolve.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rockcarver/frodo-lib",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.1",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.mjs",
|
|
@@ -15,12 +15,16 @@
|
|
|
15
15
|
"scripts": {
|
|
16
16
|
"test": "npx gulp && node --no-warnings --experimental-vm-modules --experimental-specifier-resolution=node node_modules/jest/bin/jest.js --silent",
|
|
17
17
|
"test:only": "node --no-warnings --experimental-vm-modules --experimental-specifier-resolution=node node_modules/jest/bin/jest.js --silent",
|
|
18
|
+
"test:record": "npm run test:record:esm && npm run test:update:cjs",
|
|
19
|
+
"test:record:esm": "FRODO_POLLY_MODE=record node --no-warnings --experimental-vm-modules --experimental-specifier-resolution=node node_modules/jest/bin/jest.js --silent esm -u",
|
|
20
|
+
"test:update:cjs": "node --no-warnings --experimental-vm-modules --experimental-specifier-resolution=node node_modules/jest/bin/jest.js --silent cjs -u",
|
|
18
21
|
"test:debug": "node --no-warnings --experimental-vm-modules --experimental-specifier-resolution=node node_modules/jest/bin/jest.js --verbose=true --silent=false",
|
|
19
22
|
"lint": "npx eslint --ext .ts --ignore-path .gitignore .",
|
|
20
23
|
"build": "npx gulp",
|
|
21
24
|
"watch": "npx gulp watch"
|
|
22
25
|
},
|
|
23
26
|
"jest": {
|
|
27
|
+
"testRunner": "jest-jasmine2",
|
|
24
28
|
"roots": [
|
|
25
29
|
"<rootDir>/esm/",
|
|
26
30
|
"<rootDir>/cjs/"
|
|
@@ -33,8 +37,8 @@
|
|
|
33
37
|
"/node_modules/",
|
|
34
38
|
"/dist/"
|
|
35
39
|
],
|
|
36
|
-
"snapshotResolver": "<rootDir>/src/
|
|
37
|
-
"verbose":
|
|
40
|
+
"snapshotResolver": "<rootDir>/src/utils/snapshotResolve.ts",
|
|
41
|
+
"verbose": false
|
|
38
42
|
},
|
|
39
43
|
"description": "A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.",
|
|
40
44
|
"keywords": [
|
|
@@ -85,60 +89,66 @@
|
|
|
85
89
|
],
|
|
86
90
|
"license": "MIT",
|
|
87
91
|
"dependencies": {
|
|
88
|
-
"@types/esprima": "^4.0.3",
|
|
89
92
|
"agentkeepalive": "^4.2.1",
|
|
90
|
-
"axios": "
|
|
93
|
+
"axios": "0.27.2",
|
|
94
|
+
"axios-mock-adapter": "^1.21.2",
|
|
91
95
|
"axios-retry": "^3.3.1",
|
|
92
|
-
"cli-table3": "^0.6.2",
|
|
93
96
|
"colors": "^1.4.0",
|
|
94
97
|
"esprima": "^4.0.1",
|
|
95
98
|
"fs-extra": "^10.0.0",
|
|
96
99
|
"https-proxy-agent": "^5.0.1",
|
|
97
100
|
"lodash": "^4.17.21",
|
|
101
|
+
"node-jose": "^2.1.1",
|
|
98
102
|
"properties-reader": "^2.2.0",
|
|
99
103
|
"qs": "^6.10.3",
|
|
100
104
|
"readline-sync": "^1.4.10",
|
|
101
105
|
"replaceall": "^0.1.6",
|
|
102
106
|
"slugify": "^1.6.5",
|
|
103
|
-
"uuid": "^
|
|
107
|
+
"uuid": "^9.0.0"
|
|
104
108
|
},
|
|
105
109
|
"devDependencies": {
|
|
106
|
-
"@babel/core": "^7.
|
|
107
|
-
"@babel/eslint-parser": "^7.
|
|
110
|
+
"@babel/core": "^7.20.2",
|
|
111
|
+
"@babel/eslint-parser": "^7.19.1",
|
|
108
112
|
"@babel/plugin-proposal-export-namespace-from": "^7.18.9",
|
|
109
|
-
"@babel/plugin-syntax-import-assertions": "^7.
|
|
110
|
-
"@babel/plugin-transform-modules-commonjs": "^7.
|
|
111
|
-
"@babel/preset-env": "^7.
|
|
113
|
+
"@babel/plugin-syntax-import-assertions": "^7.20.0",
|
|
114
|
+
"@babel/plugin-transform-modules-commonjs": "^7.19.6",
|
|
115
|
+
"@babel/preset-env": "^7.20.2",
|
|
112
116
|
"@babel/preset-typescript": "^7.18.6",
|
|
113
117
|
"@jest/globals": "^29.0.1",
|
|
118
|
+
"@pollyjs/adapter-node-http": "^6.0.5",
|
|
119
|
+
"@pollyjs/core": "^6.0.5",
|
|
120
|
+
"@pollyjs/persister-fs": "^6.0.5",
|
|
114
121
|
"@types/colors": "^1.2.1",
|
|
122
|
+
"@types/esprima": "^4.0.3",
|
|
115
123
|
"@types/fs-extra": "^9.0.13",
|
|
116
|
-
"@types/jest": "^29.2.
|
|
117
|
-
"@types/lodash": "^4.14.
|
|
124
|
+
"@types/jest": "^29.2.3",
|
|
125
|
+
"@types/lodash": "^4.14.189",
|
|
118
126
|
"@types/mock-fs": "^4.13.1",
|
|
119
|
-
"@types/node": "^18.
|
|
127
|
+
"@types/node": "^18.11.9",
|
|
120
128
|
"@types/properties-reader": "^2.1.1",
|
|
121
|
-
"@types/uuid": "^
|
|
122
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
123
|
-
"@typescript-eslint/parser": "^5.
|
|
124
|
-
"
|
|
125
|
-
"babel-jest": "^28.1.3",
|
|
129
|
+
"@types/uuid": "^9.0.0",
|
|
130
|
+
"@typescript-eslint/eslint-plugin": "^5.44.0",
|
|
131
|
+
"@typescript-eslint/parser": "^5.44.0",
|
|
132
|
+
"babel-jest": "^29.3.1",
|
|
126
133
|
"babel-plugin-transform-import-meta": "^2.1.1",
|
|
127
|
-
"
|
|
128
|
-
"
|
|
134
|
+
"cli-table3": "^0.6.3",
|
|
135
|
+
"del": "6.1.1",
|
|
136
|
+
"eslint": "^8.28.0",
|
|
129
137
|
"eslint-config-prettier": "^8.4.0",
|
|
130
138
|
"eslint-plugin-import": "^2.25.4",
|
|
131
|
-
"eslint-plugin-jest": "^
|
|
139
|
+
"eslint-plugin-jest": "^27.1.5",
|
|
132
140
|
"eslint-plugin-prettier": "^4.2.1",
|
|
133
141
|
"gulp": "^4.0.2",
|
|
134
142
|
"gulp-babel": "^8.0.0",
|
|
135
143
|
"gulp-rename": "^2.0.0",
|
|
136
144
|
"gulp-sourcemaps": "^3.0.0",
|
|
137
145
|
"gulp-typescript": "^6.0.0-alpha.1",
|
|
138
|
-
"jest": "^29.
|
|
146
|
+
"jest": "^29.3.1",
|
|
147
|
+
"jest-jasmine2": "^29.3.1",
|
|
139
148
|
"map-stream": "^0.0.7",
|
|
140
|
-
"mock-fs": "^5.
|
|
149
|
+
"mock-fs": "^5.2.0",
|
|
141
150
|
"prettier": "^2.7.1",
|
|
142
|
-
"
|
|
151
|
+
"setup-polly-jest": "^0.11.0",
|
|
152
|
+
"typescript": "^4.9.3"
|
|
143
153
|
}
|
|
144
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/api/AgentApi.ts"],"names":[],"mappings":"AA0BA;;;GAGG;AACH,wBAAsB,aAAa,iBAYlC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,gBAatD;AAED;;;GAGG;AACH,wBAAsB,SAAS,iBAgB9B;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,gBAalD;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAc5E;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAc3E;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,KAAA,gBAoBV;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,gBAehB","file":"AgentApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport
|
|
1
|
+
{"version":3,"sources":["../src/api/AgentApi.ts"],"names":[],"mappings":"AA0BA;;;GAGG;AACH,wBAAsB,aAAa,iBAYlC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,gBAatD;AAED;;;GAGG;AACH,wBAAsB,SAAS,iBAgB9B;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,gBAalD;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAc5E;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAc3E;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,KAAA,gBAoBV;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,gBAehB","file":"AgentApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport * as state from '../shared/State';\nimport { debugMessage } from '../ops/utils/Console';\n\nconst getAgentTypesURLTemplate =\n '%s/json%s/realm-config/agents?_action=getAllTypes';\nconst getAllAgentsURLTemplate =\n '%s/json%s/realm-config/agents?_action=nextdescendents';\nconst queryAgentURLTemplate =\n \"%s/json%s/realm-config/agents?_queryFilter=_id+eq+'%s'\";\nconst queryAgentByTypeURLTemplate =\n \"%s/json%s/realm-config/agents/%s?_queryFilter=_id+eq+'%s'\";\nconst agentURLTemplate = '%s/json%s/realm-config/agents/%s/%s';\nconst agentListURLTemplate =\n '%s/json%s/realm-config/agents/%s?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/agents`,\n apiVersion,\n };\n};\n\n/**\n * Get agent types\n * @returns {Promise} a promise that resolves to an object containing an array of agent types\n */\nexport async function getAgentTypes() {\n debugMessage(`AgentApi.getAgentTypes: start`);\n const urlString = util.format(\n getAgentTypesURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.getAgentTypes: end`);\n return data;\n}\n\n/**\n * Get agents\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @returns {Promise} a promise that resolves to an object containing an array of agent objects of the specified type\n */\nexport async function getAgentsByType(agentType: string) {\n debugMessage(`AgentApi.getAgentsByType: start`);\n const urlString = util.format(\n agentListURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.getAgentsByType: end`);\n return data;\n}\n\n/**\n * Get all agents\n * @returns {Promise} a promise that resolves to an object containing an array of agent objects\n */\nexport async function getAgents() {\n debugMessage(`AgentApi.getAgents: start`);\n const urlString = util.format(\n getAllAgentsURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n }\n );\n debugMessage(`AgentApi.getAgents: end`);\n return data;\n}\n\n/**\n * Find agent by id\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an array with one or zero agent objects\n */\nexport async function findAgentById(agentId: string) {\n debugMessage(`AgentApi.findAgentById: start`);\n const urlString = util.format(\n queryAgentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.findAgentById: end`);\n return data.result;\n}\n\n/**\n * Find agent by id\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an array with one or zero agent objects\n */\nexport async function findAgentByTypeAndId(agentType: string, agentId: string) {\n debugMessage(`AgentApi.findAgentById: start`);\n const urlString = util.format(\n queryAgentByTypeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.findAgentById: end`);\n return data.result;\n}\n\n/**\n * Get agent\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an object containing an agent object of the specified type\n */\nexport async function getAgentByTypeAndId(agentType: string, agentId: string) {\n debugMessage(`AgentApi.getAgentByTypeAndId: start`);\n const urlString = util.format(\n agentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.getAgentByTypeAndId: end`);\n return data;\n}\n\n/**\n * Put agent\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @param {Object} agentData agent object\n * @returns {Promise} a promise that resolves to an object containing an agent object\n */\nexport async function putAgentByTypeAndId(\n agentType: string,\n agentId: string,\n agentData\n) {\n debugMessage(`AgentApi.putAgentByTypeAndId: start`);\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const agent = deleteDeepByKey(agentData, '-encrypted');\n delete agent._provider;\n delete agent._rev;\n const urlString = util.format(\n agentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).put(urlString, agent, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.putAgentByTypeAndId: end`);\n return data;\n}\n\n/**\n * Delete agent\n * @param agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param agentId agent id\n * @returns a promise that resolves to an object containing an agent object\n */\nexport async function deleteAgentByTypeAndId(\n agentType: string,\n agentId: string\n) {\n debugMessage(`AgentApi.deleteAgentByTypeAndId: start`);\n const urlString = util.format(\n agentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.deleteAgentByTypeAndId: end`);\n return data;\n}\n"]}
|
package/types/api/ApiTypes.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
interface ObjectSkeletonInterface {
|
|
1
|
+
export interface ObjectSkeletonInterface {
|
|
2
2
|
_id: string;
|
|
3
3
|
_rev?: number;
|
|
4
4
|
[k: string]: string | number | boolean | string[] | ObjectSkeletonInterface;
|
|
@@ -18,46 +18,46 @@ export interface InnerNodeRefSkeletonInterface {
|
|
|
18
18
|
displayName: string;
|
|
19
19
|
nodeType: string;
|
|
20
20
|
}
|
|
21
|
-
export
|
|
21
|
+
export type TreeSkeleton = ObjectSkeletonInterface & {
|
|
22
22
|
entryNodeId: string;
|
|
23
23
|
nodes: Record<string, NodeRefSkeletonInterface>;
|
|
24
24
|
identityResource?: string;
|
|
25
25
|
uiConfig?: UiConfigInterface;
|
|
26
26
|
enabled?: boolean;
|
|
27
27
|
};
|
|
28
|
-
export
|
|
28
|
+
export type AmServiceType = ObjectSkeletonInterface & {
|
|
29
29
|
name: string;
|
|
30
30
|
};
|
|
31
|
-
export
|
|
31
|
+
export type NodeSkeleton = ObjectSkeletonInterface & {
|
|
32
32
|
_type: AmServiceType;
|
|
33
33
|
nodes?: InnerNodeRefSkeletonInterface[];
|
|
34
34
|
tree?: string;
|
|
35
35
|
identityResource?: string;
|
|
36
36
|
};
|
|
37
|
-
export
|
|
37
|
+
export type SocialIdpSkeleton = ObjectSkeletonInterface & {
|
|
38
38
|
_type: AmServiceType;
|
|
39
39
|
enabled: boolean;
|
|
40
40
|
};
|
|
41
|
-
export
|
|
41
|
+
export type AmServiceSkeleton = ObjectSkeletonInterface & {
|
|
42
42
|
_type: AmServiceType;
|
|
43
43
|
[key: string]: any;
|
|
44
44
|
};
|
|
45
|
-
export
|
|
45
|
+
export type AgentSkeleton = ObjectSkeletonInterface & {
|
|
46
46
|
_type: AmServiceType;
|
|
47
47
|
};
|
|
48
|
-
export
|
|
48
|
+
export type EmailTemplateSkeleton = ObjectSkeletonInterface & {
|
|
49
49
|
defaultLocale?: string;
|
|
50
50
|
displayName?: string;
|
|
51
51
|
enabled?: boolean;
|
|
52
52
|
from: string;
|
|
53
53
|
subject: Record<string, string>;
|
|
54
54
|
};
|
|
55
|
-
export
|
|
55
|
+
export type ThemeSkeleton = ObjectSkeletonInterface & {
|
|
56
56
|
name: string;
|
|
57
57
|
isDefault: boolean;
|
|
58
58
|
linkedTrees: string[];
|
|
59
59
|
};
|
|
60
|
-
export
|
|
60
|
+
export type UiThemeRealmObject = ObjectSkeletonInterface & {
|
|
61
61
|
name: string;
|
|
62
62
|
realm: Map<string, ThemeSkeleton[]>;
|
|
63
63
|
};
|
|
@@ -81,7 +81,7 @@ export declare enum ScriptContext {
|
|
|
81
81
|
SAML2_IDP_ATTRIBUTE_MAPPER = "SAML2_IDP_ATTRIBUTE_MAPPER",
|
|
82
82
|
OAUTH2_MAY_ACT = "OAUTH2_MAY_ACT"
|
|
83
83
|
}
|
|
84
|
-
export
|
|
84
|
+
export type ScriptSkeleton = ObjectSkeletonInterface & {
|
|
85
85
|
name: string;
|
|
86
86
|
description: string;
|
|
87
87
|
isDefault: boolean;
|
|
@@ -97,12 +97,12 @@ export declare enum Saml2ProiderLocation {
|
|
|
97
97
|
HOSTED = "hosted",
|
|
98
98
|
REMOTE = "remote"
|
|
99
99
|
}
|
|
100
|
-
export
|
|
100
|
+
export type Saml2ProviderStub = ObjectSkeletonInterface & {
|
|
101
101
|
entityId: string;
|
|
102
102
|
location: Saml2ProiderLocation;
|
|
103
103
|
roles: string[];
|
|
104
104
|
};
|
|
105
|
-
export
|
|
105
|
+
export type Saml2ProviderSkeleton = ObjectSkeletonInterface & {
|
|
106
106
|
entityId: string;
|
|
107
107
|
entityLocation: Saml2ProiderLocation;
|
|
108
108
|
serviceProvider: unknown;
|
|
@@ -110,12 +110,12 @@ export declare type Saml2ProviderSkeleton = ObjectSkeletonInterface & {
|
|
|
110
110
|
attributeQueryProvider: unknown;
|
|
111
111
|
xacmlPolicyEnforcementPoint: unknown;
|
|
112
112
|
};
|
|
113
|
-
export
|
|
113
|
+
export type CircleOfTrustSkeleton = ObjectSkeletonInterface & {
|
|
114
114
|
_type: AmServiceType;
|
|
115
115
|
status: string;
|
|
116
116
|
trustedProviders: string[];
|
|
117
117
|
};
|
|
118
|
-
export
|
|
118
|
+
export type PagedResult<Result> = {
|
|
119
119
|
result: Result[];
|
|
120
120
|
resultCount: number;
|
|
121
121
|
pagedResultsCookie: string;
|
|
@@ -123,4 +123,3 @@ export declare type PagedResult<Result> = {
|
|
|
123
123
|
totalPagedResults: number;
|
|
124
124
|
remainingPagedResults: number;
|
|
125
125
|
};
|
|
126
|
-
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/api/ApiTypes.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"sources":["../src/api/ApiTypes.ts"],"names":[],"mappings":"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","file":"ApiTypes.d.ts","sourcesContent":["export interface ObjectSkeletonInterface {\n _id: string;\n _rev?: number;\n [k: string]: string | number | boolean | string[] | ObjectSkeletonInterface;\n}\n\nexport interface UiConfigInterface {\n categories: string;\n}\n\nexport interface NodeRefSkeletonInterface {\n connections: Record<string, string>;\n displayName: string;\n nodeType: string;\n x: number;\n y: number;\n}\n\nexport interface InnerNodeRefSkeletonInterface {\n _id: string;\n displayName: string;\n nodeType: string;\n}\n\nexport type TreeSkeleton = ObjectSkeletonInterface & {\n entryNodeId: string;\n nodes: Record<string, NodeRefSkeletonInterface>;\n identityResource?: string;\n uiConfig?: UiConfigInterface;\n enabled?: boolean;\n};\n\nexport type AmServiceType = ObjectSkeletonInterface & {\n name: string;\n};\n\nexport type NodeSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n nodes?: InnerNodeRefSkeletonInterface[];\n tree?: string;\n identityResource?: string;\n};\n\nexport type SocialIdpSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n enabled: boolean;\n};\n\nexport type AmServiceSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\nexport type AgentSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n};\n\nexport type EmailTemplateSkeleton = ObjectSkeletonInterface & {\n defaultLocale?: string;\n displayName?: string;\n enabled?: boolean;\n from: string;\n subject: Record<string, string>;\n};\n\nexport type ThemeSkeleton = ObjectSkeletonInterface & {\n name: string;\n isDefault: boolean;\n linkedTrees: string[];\n};\n\nexport type UiThemeRealmObject = ObjectSkeletonInterface & {\n name: string;\n realm: Map<string, ThemeSkeleton[]>;\n};\n\nexport enum ScriptLanguage {\n GROOVY = 'GROOVY',\n JAVASCRIPT = 'JAVASCRIPT',\n}\n\nexport enum ScriptContext {\n OAUTH2_ACCESS_TOKEN_MODIFICATION = 'OAUTH2_ACCESS_TOKEN_MODIFICATION',\n AUTHENTICATION_CLIENT_SIDE = 'AUTHENTICATION_CLIENT_SIDE',\n AUTHENTICATION_TREE_DECISION_NODE = 'AUTHENTICATION_TREE_DECISION_NODE',\n AUTHENTICATION_SERVER_SIDE = 'AUTHENTICATION_SERVER_SIDE',\n SOCIAL_IDP_PROFILE_TRANSFORMATION = 'SOCIAL_IDP_PROFILE_TRANSFORMATION',\n OAUTH2_VALIDATE_SCOPE = 'OAUTH2_VALIDATE_SCOPE',\n CONFIG_PROVIDER_NODE = 'CONFIG_PROVIDER_NODE',\n OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER = 'OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER',\n OAUTH2_EVALUATE_SCOPE = 'OAUTH2_EVALUATE_SCOPE',\n POLICY_CONDITION = 'POLICY_CONDITION',\n OIDC_CLAIMS = 'OIDC_CLAIMS',\n SAML2_IDP_ADAPTER = 'SAML2_IDP_ADAPTER',\n SAML2_IDP_ATTRIBUTE_MAPPER = 'SAML2_IDP_ATTRIBUTE_MAPPER',\n OAUTH2_MAY_ACT = 'OAUTH2_MAY_ACT',\n}\n\nexport type ScriptSkeleton = ObjectSkeletonInterface & {\n name: string;\n description: string;\n isDefault: boolean;\n script: string;\n language: ScriptLanguage;\n context: ScriptContext;\n createdBy: string;\n creationDate: number;\n lastModifiedBy: string;\n lastModifiedDate: number;\n};\n\nexport enum Saml2ProiderLocation {\n HOSTED = 'hosted',\n REMOTE = 'remote',\n}\n\nexport type Saml2ProviderStub = ObjectSkeletonInterface & {\n entityId: string;\n location: Saml2ProiderLocation;\n roles: string[];\n};\n\nexport type Saml2ProviderSkeleton = ObjectSkeletonInterface & {\n entityId: string;\n entityLocation: Saml2ProiderLocation;\n serviceProvider: unknown;\n identityProvider: unknown;\n attributeQueryProvider: unknown;\n xacmlPolicyEnforcementPoint: unknown;\n};\n\nexport type CircleOfTrustSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n status: string;\n trustedProviders: string[];\n};\n\nexport type PagedResult<Result> = {\n result: Result[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: 'EXACT';\n totalPagedResults: number;\n remainingPagedResults: number;\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare function getRealmUrl(realm: any): string;
|
|
2
|
-
export declare function step(
|
|
2
|
+
export declare function step(body?: {}, config?: {}): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/api/AuthenticateApi.ts"],"names":[],"mappings":"AAcA,wBAAgB,WAAW,CAAC,KAAK,KAAA,UAUhC;AAED,wBAAsB,IAAI,CAAC,IAAI,KAAK,EAAE,MAAM,KAAK,
|
|
1
|
+
{"version":3,"sources":["../src/api/AuthenticateApi.ts"],"names":[],"mappings":"AAcA,wBAAgB,WAAW,CAAC,KAAK,KAAA,UAUhC;AAED,wBAAsB,IAAI,CAAC,IAAI,KAAK,EAAE,MAAM,KAAK,gBAehD","file":"AuthenticateApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport * as state from '../shared/State';\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\nconst realmPathTemplate = '/realms/%s';\n\nexport function getRealmUrl(realm) {\n let localRealm = realm;\n if (localRealm.startsWith('/') && localRealm.length > 1) {\n localRealm = localRealm.substring(1);\n }\n let realmPath = util.format(realmPathTemplate, 'root');\n if (localRealm !== '/') {\n realmPath += util.format(realmPathTemplate, localRealm);\n }\n return realmPath;\n}\n\nexport async function step(body = {}, config = {}) {\n const urlString = state.getAuthenticationService()\n ? util.format(\n authenticateWithServiceUrlTemplate,\n state.getHost(),\n getRealmUrl('/'),\n state.getAuthenticationService()\n )\n : util.format(authenticateUrlTemplate, state.getHost(), getRealmUrl('/'));\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n body,\n config\n );\n return data;\n}\n"]}
|
package/types/api/BaseApi.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/api/BaseApi.ts"],"names":[],"mappings":"AAsGA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCAwC3D;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCAuC/D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,KAAK,iCA4BlD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,KAAK,iCA6BtD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,KAAK,iCAwBlD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCA+B5D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,KAAA,EAAE,eAAe,KAAK,iCAsB/D","file":"BaseApi.d.ts","sourcesContent":["import Agent from 'agentkeepalive';\nimport axios, { AxiosProxyConfig } from 'axios';\nimport axiosRetry from 'axios-retry';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport url from 'url';\nimport fs from 'fs';\nimport storage from '../storage/SessionStorage';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { curlirizeMessage, printMessage } from '../ops/utils/Console';\nimport _curlirize from '../ext/axios-curlirize/curlirize';\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}`;\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: !storage.session.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 = !storage.session.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 '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\n ...(storage.session.getCookieName() &&\n storage.session.getCookieValue() && {\n Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`,\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 ...storage.session.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 (storage.session.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 // 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\n ...(storage.session.getCookieName() &&\n storage.session.getCookieValue() && {\n Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`,\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 ...storage.session.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 (storage.session.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 'Content-Type': 'application/json',\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 (storage.session.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 };\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 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 (storage.session.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': storage.session.getLogApiKey(),\n 'X-API-Secret': storage.session.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 (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an ESV Axios API instance for Environment Secrets and Variables\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 generateESVApi(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 };\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 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 (storage.session.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 (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/api/BaseApi.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAe7C,eAAO,MAAM,gBAAgB,aAGd,CAAC;AA+FhB;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCA+C3D;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCA8C/D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,KAAK,iCAiClD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,KAAK,iCA2BtD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,KAAK,iCAwBlD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCA6B5D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,KAAA,EAAE,eAAe,KAAK,iCAsB/D","file":"BaseApi.d.ts","sourcesContent":["import axios, { AxiosProxyConfig } from 'axios';\nimport MockAdapter from 'axios-mock-adapter';\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 { mockAll } from '../test/mocks/ForgeRockApiMockEngine';\n\n// this has to be the first statement after the imports for mocking to work\nexport const FrodoMockAdapter =\n process.env.FRODO_MOCK || process.env.frodo_mock\n ? new MockAdapter(axios)\n : undefined;\n\nif (FrodoMockAdapter) mockAll(FrodoMockAdapter);\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 ESV Axios API instance for Environment Secrets and Variables\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 generateESVApi(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"]}
|