@rockcarver/frodo-lib 2.0.0-13 → 2.0.0-15
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.map +1 -1
- package/cjs/api/AuthenticateApi.js.map +1 -1
- package/cjs/api/BaseApi.js +1 -1
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/CirclesOfTrustApi.js.map +1 -1
- package/cjs/api/IdmConfigApi.js.map +1 -1
- package/cjs/api/IdmSystemApi.js.map +1 -1
- package/cjs/api/ManagedObjectApi.js.map +1 -1
- package/cjs/api/NodeApi.js.map +1 -1
- package/cjs/api/OAuth2ClientApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.test.js +2 -2
- package/cjs/api/OAuth2OIDCApi.test.js.map +1 -1
- package/cjs/api/OAuth2ProviderApi.js.map +1 -1
- package/cjs/api/PoliciesApi.js.map +1 -1
- package/cjs/api/PolicySetApi.js.map +1 -1
- package/cjs/api/RealmApi.js.map +1 -1
- package/cjs/api/ResourceTypesApi.js.map +1 -1
- package/cjs/api/Saml2Api.js.map +1 -1
- package/cjs/api/ScriptApi.js.map +1 -1
- package/cjs/api/ServerInfoApi.js.map +1 -1
- package/cjs/api/ServiceApi.js.map +1 -1
- package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
- package/cjs/api/TreeApi.js.map +1 -1
- package/cjs/api/cloud/AdminFederationProvidersApi.js.map +1 -1
- package/cjs/api/cloud/EnvInfoApi.js.map +1 -1
- package/cjs/api/cloud/FeatureApi.js.map +1 -1
- package/cjs/api/cloud/LogApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.js.map +1 -1
- package/cjs/api/cloud/StartupApi.js.map +1 -1
- package/cjs/api/cloud/VariablesApi.js.map +1 -1
- package/cjs/api/utils/ApiUtils.js.map +1 -1
- package/cjs/api/utils/Base64.js +4 -4
- package/cjs/api/utils/Base64.js.map +1 -1
- package/cjs/index.js +12 -10
- package/cjs/index.js.map +1 -1
- package/cjs/lib/FrodoLib.js +181 -22
- package/cjs/lib/FrodoLib.js.map +1 -1
- package/cjs/lib/FrodoLib.test.js +9 -9
- package/cjs/lib/FrodoLib.test.js.map +1 -1
- package/cjs/ops/AdminOps.js.map +1 -1
- package/cjs/ops/AgentOps.js +35 -35
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +10 -12
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +14 -14
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +2 -2
- package/cjs/ops/ConnectionProfileOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.test.js +5 -5
- package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.js.map +1 -1
- package/cjs/ops/IdmOps.js.map +1 -1
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/InfoOps.js +3 -4
- package/cjs/ops/InfoOps.js.map +1 -1
- package/cjs/ops/JoseOps.js +30 -0
- package/cjs/ops/JoseOps.js.map +1 -1
- package/cjs/ops/JourneyOps.js +41 -43
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/JourneyOps.test.js +3 -2
- package/cjs/ops/JourneyOps.test.js.map +1 -1
- package/cjs/ops/ManagedObjectOps.js.map +1 -1
- package/cjs/ops/NodeOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +19 -19
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/OAuth2OidcOps.js.map +1 -1
- package/cjs/ops/OAuth2ProviderOps.js.map +1 -1
- package/cjs/ops/OpsTypes.js.map +1 -1
- package/cjs/ops/OrganizationOps.js.map +1 -1
- package/cjs/ops/PolicyOps.js +29 -29
- package/cjs/ops/PolicyOps.js.map +1 -1
- package/cjs/ops/PolicySetOps.js +27 -27
- package/cjs/ops/PolicySetOps.js.map +1 -1
- package/cjs/ops/RealmOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.js +23 -23
- package/cjs/ops/ResourceTypeOps.js.map +1 -1
- package/cjs/ops/Saml2Ops.js +11 -11
- package/cjs/ops/Saml2Ops.js.map +1 -1
- package/cjs/ops/Saml2Ops.test.js +3 -2
- package/cjs/ops/Saml2Ops.test.js.map +1 -1
- package/cjs/ops/ScriptOps.js +3 -3
- package/cjs/ops/ScriptOps.js.map +1 -1
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js.map +1 -1
- package/cjs/ops/cloud/AdminFederationOps.js.map +1 -1
- package/cjs/ops/cloud/FeatureOps.js.map +1 -1
- package/cjs/ops/cloud/LogOps.js.map +1 -1
- package/cjs/ops/cloud/SecretsOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.js +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/cjs/ops/cloud/StartupOps.js.map +1 -1
- package/cjs/ops/cloud/VariablesOps.js.map +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 +2 -2
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.js +105 -25
- package/cjs/ops/utils/OpsUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.test.js +6 -5
- package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
- package/cjs/ops/utils/ScriptValidationUtils.js +33 -2
- package/cjs/ops/utils/ScriptValidationUtils.js.map +1 -1
- package/cjs/ops/utils/ScriptValidationUtils.test.js +1 -1
- package/cjs/ops/utils/ScriptValidationUtils.test.js.map +1 -1
- package/cjs/ops/utils/{Version.js → VersionUtils.js} +1 -1
- package/cjs/ops/utils/VersionUtils.js.map +1 -0
- package/cjs/ops/utils/{Version.test.js → VersionUtils.test.js} +3 -3
- package/cjs/ops/utils/VersionUtils.test.js.map +1 -0
- package/cjs/shared/Constants.js +34 -0
- package/cjs/shared/Constants.js.map +1 -0
- package/cjs/shared/State.js +477 -220
- package/cjs/shared/State.js.map +1 -1
- package/cjs/utils/SetupPollyForFrodoLib.js.map +1 -1
- package/esm/api/AgentApi.js.map +1 -1
- package/esm/api/AuthenticateApi.js.map +1 -1
- package/esm/api/BaseApi.js +2 -2
- package/esm/api/BaseApi.js.map +1 -1
- package/esm/api/CirclesOfTrustApi.js.map +1 -1
- package/esm/api/IdmConfigApi.js.map +1 -1
- package/esm/api/IdmSystemApi.js.map +1 -1
- package/esm/api/ManagedObjectApi.js.map +1 -1
- package/esm/api/NodeApi.js.map +1 -1
- package/esm/api/OAuth2ClientApi.js.map +1 -1
- package/esm/api/OAuth2OIDCApi.js.map +1 -1
- package/esm/api/OAuth2OIDCApi.test.js +2 -2
- package/esm/api/OAuth2OIDCApi.test.js.map +1 -1
- package/esm/api/OAuth2ProviderApi.js.map +1 -1
- package/esm/api/PoliciesApi.js.map +1 -1
- package/esm/api/PolicySetApi.js.map +1 -1
- package/esm/api/RealmApi.js.map +1 -1
- package/esm/api/ResourceTypesApi.js.map +1 -1
- package/esm/api/Saml2Api.js.map +1 -1
- package/esm/api/ScriptApi.js.map +1 -1
- package/esm/api/ServerInfoApi.js.map +1 -1
- package/esm/api/ServiceApi.js.map +1 -1
- package/esm/api/SocialIdentityProvidersApi.js.map +1 -1
- package/esm/api/TreeApi.js.map +1 -1
- package/esm/api/cloud/AdminFederationProvidersApi.js.map +1 -1
- package/esm/api/cloud/EnvInfoApi.js.map +1 -1
- package/esm/api/cloud/FeatureApi.js.map +1 -1
- package/esm/api/cloud/LogApi.js.map +1 -1
- package/esm/api/cloud/SecretsApi.js.map +1 -1
- package/esm/api/cloud/StartupApi.js.map +1 -1
- package/esm/api/cloud/VariablesApi.js.map +1 -1
- package/esm/api/utils/ApiUtils.js.map +1 -1
- package/esm/api/utils/Base64.js +4 -4
- package/esm/api/utils/Base64.js.map +1 -1
- package/esm/index.js +2 -1
- package/esm/index.js.map +1 -1
- package/esm/lib/FrodoLib.js +164 -19
- package/esm/lib/FrodoLib.js.map +1 -1
- package/esm/lib/FrodoLib.test.js +10 -10
- package/esm/lib/FrodoLib.test.js.map +1 -1
- package/esm/ops/AdminOps.js.map +1 -1
- package/esm/ops/AgentOps.js.map +1 -1
- package/esm/ops/AuthenticateOps.js +10 -10
- package/esm/ops/AuthenticateOps.js.map +1 -1
- package/esm/ops/CirclesOfTrustOps.js.map +1 -1
- package/esm/ops/ConnectionProfileOps.js +2 -2
- package/esm/ops/ConnectionProfileOps.js.map +1 -1
- package/esm/ops/ConnectionProfileOps.test.js +5 -5
- package/esm/ops/ConnectionProfileOps.test.js.map +1 -1
- package/esm/ops/EmailTemplateOps.js.map +1 -1
- package/esm/ops/IdmOps.js.map +1 -1
- package/esm/ops/IdpOps.js.map +1 -1
- package/esm/ops/InfoOps.js +2 -2
- package/esm/ops/InfoOps.js.map +1 -1
- package/esm/ops/JoseOps.js +20 -0
- package/esm/ops/JoseOps.js.map +1 -1
- package/esm/ops/JourneyOps.js +10 -11
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/ops/JourneyOps.test.js +2 -2
- package/esm/ops/JourneyOps.test.js.map +1 -1
- package/esm/ops/ManagedObjectOps.js.map +1 -1
- package/esm/ops/NodeOps.js.map +1 -1
- package/esm/ops/OAuth2ClientOps.js.map +1 -1
- package/esm/ops/OAuth2OidcOps.js.map +1 -1
- package/esm/ops/OAuth2ProviderOps.js.map +1 -1
- package/esm/ops/OpsTypes.js.map +1 -1
- package/esm/ops/OrganizationOps.js.map +1 -1
- package/esm/ops/PolicyOps.js.map +1 -1
- package/esm/ops/PolicySetOps.js.map +1 -1
- package/esm/ops/RealmOps.js.map +1 -1
- package/esm/ops/ResourceTypeOps.js.map +1 -1
- package/esm/ops/Saml2Ops.js.map +1 -1
- package/esm/ops/Saml2Ops.test.js +2 -2
- package/esm/ops/Saml2Ops.test.js.map +1 -1
- package/esm/ops/ScriptOps.js.map +1 -1
- package/esm/ops/ServiceOps.js.map +1 -1
- package/esm/ops/ThemeOps.js.map +1 -1
- package/esm/ops/cloud/AdminFederationOps.js.map +1 -1
- package/esm/ops/cloud/FeatureOps.js.map +1 -1
- package/esm/ops/cloud/LogOps.js.map +1 -1
- package/esm/ops/cloud/SecretsOps.js.map +1 -1
- package/esm/ops/cloud/ServiceAccountOps.js +1 -1
- package/esm/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/esm/ops/cloud/StartupOps.js.map +1 -1
- package/esm/ops/cloud/VariablesOps.js.map +1 -1
- 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 +2 -2
- package/esm/ops/utils/DataProtection.test.js.map +1 -1
- package/esm/ops/utils/ExportImportUtils.js +2 -2
- package/esm/ops/utils/ExportImportUtils.js.map +1 -1
- package/esm/ops/utils/OpsUtils.js +96 -22
- package/esm/ops/utils/OpsUtils.js.map +1 -1
- package/esm/ops/utils/OpsUtils.test.js +5 -5
- package/esm/ops/utils/OpsUtils.test.js.map +1 -1
- package/esm/ops/utils/ScriptValidationUtils.js +28 -0
- package/esm/ops/utils/ScriptValidationUtils.js.map +1 -1
- package/esm/ops/utils/ScriptValidationUtils.test.js +2 -2
- package/esm/ops/utils/ScriptValidationUtils.test.js.map +1 -1
- package/esm/ops/utils/{Version.js → VersionUtils.js} +1 -1
- package/esm/ops/utils/VersionUtils.js.map +1 -0
- package/esm/ops/utils/{Version.test.js → VersionUtils.test.js} +2 -2
- package/esm/ops/utils/VersionUtils.test.js.map +1 -0
- package/esm/shared/Constants.js +27 -0
- package/esm/shared/Constants.js.map +1 -0
- package/esm/shared/State.js +481 -226
- package/esm/shared/State.js.map +1 -1
- package/esm/utils/SetupPollyForFrodoLib.js.map +1 -1
- package/package.json +5 -2
- package/types/api/AgentApi.d.ts +1 -1
- package/types/api/AgentApi.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 +1 -1
- package/types/api/BaseApi.d.ts.map +1 -1
- package/types/api/CirclesOfTrustApi.d.ts +1 -1
- package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
- package/types/api/IdmConfigApi.d.ts +1 -1
- package/types/api/IdmConfigApi.d.ts.map +1 -1
- package/types/api/IdmSystemApi.d.ts +1 -1
- package/types/api/IdmSystemApi.d.ts.map +1 -1
- package/types/api/ManagedObjectApi.d.ts +1 -1
- package/types/api/ManagedObjectApi.d.ts.map +1 -1
- package/types/api/NodeApi.d.ts +1 -1
- package/types/api/NodeApi.d.ts.map +1 -1
- package/types/api/OAuth2ClientApi.d.ts +1 -1
- package/types/api/OAuth2ClientApi.d.ts.map +1 -1
- package/types/api/OAuth2OIDCApi.d.ts +1 -1
- package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
- package/types/api/OAuth2ProviderApi.d.ts +1 -1
- package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
- package/types/api/PoliciesApi.d.ts +1 -1
- package/types/api/PoliciesApi.d.ts.map +1 -1
- package/types/api/PolicySetApi.d.ts +1 -1
- package/types/api/PolicySetApi.d.ts.map +1 -1
- package/types/api/RealmApi.d.ts +1 -1
- package/types/api/RealmApi.d.ts.map +1 -1
- package/types/api/ResourceTypesApi.d.ts +1 -1
- package/types/api/ResourceTypesApi.d.ts.map +1 -1
- package/types/api/Saml2Api.d.ts +1 -1
- package/types/api/Saml2Api.d.ts.map +1 -1
- package/types/api/ScriptApi.d.ts +1 -1
- package/types/api/ScriptApi.d.ts.map +1 -1
- package/types/api/ServerInfoApi.d.ts +1 -1
- package/types/api/ServerInfoApi.d.ts.map +1 -1
- package/types/api/ServiceApi.d.ts +1 -1
- package/types/api/ServiceApi.d.ts.map +1 -1
- package/types/api/SocialIdentityProvidersApi.d.ts +1 -1
- package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
- package/types/api/TreeApi.d.ts +1 -1
- package/types/api/TreeApi.d.ts.map +1 -1
- package/types/api/cloud/AdminFederationProvidersApi.d.ts +1 -1
- package/types/api/cloud/AdminFederationProvidersApi.d.ts.map +1 -1
- package/types/api/cloud/EnvInfoApi.d.ts +1 -1
- package/types/api/cloud/EnvInfoApi.d.ts.map +1 -1
- package/types/api/cloud/FeatureApi.d.ts +1 -1
- package/types/api/cloud/FeatureApi.d.ts.map +1 -1
- package/types/api/cloud/LogApi.d.ts +1 -1
- package/types/api/cloud/LogApi.d.ts.map +1 -1
- package/types/api/cloud/SecretsApi.d.ts +1 -1
- package/types/api/cloud/SecretsApi.d.ts.map +1 -1
- package/types/api/cloud/StartupApi.d.ts +1 -1
- package/types/api/cloud/StartupApi.d.ts.map +1 -1
- package/types/api/cloud/VariablesApi.d.ts +1 -1
- package/types/api/cloud/VariablesApi.d.ts.map +1 -1
- package/types/api/utils/ApiUtils.d.ts +1 -1
- package/types/api/utils/ApiUtils.d.ts.map +1 -1
- package/types/api/utils/Base64.d.ts +6 -6
- package/types/api/utils/Base64.d.ts.map +1 -1
- package/types/index.d.ts +2 -1
- package/types/index.d.ts.map +1 -1
- package/types/lib/FrodoLib.d.ts +224 -370
- package/types/lib/FrodoLib.d.ts.map +1 -1
- package/types/ops/AdminOps.d.ts +3 -2
- package/types/ops/AdminOps.d.ts.map +1 -1
- package/types/ops/AgentOps.d.ts +3 -2
- package/types/ops/AgentOps.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts +3 -2
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/CirclesOfTrustOps.d.ts +3 -2
- package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
- package/types/ops/ConnectionProfileOps.d.ts +3 -2
- package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
- package/types/ops/EmailTemplateOps.d.ts +3 -2
- package/types/ops/EmailTemplateOps.d.ts.map +1 -1
- package/types/ops/IdmOps.d.ts +3 -2
- package/types/ops/IdmOps.d.ts.map +1 -1
- package/types/ops/IdpOps.d.ts +3 -2
- package/types/ops/IdpOps.d.ts.map +1 -1
- package/types/ops/InfoOps.d.ts +3 -2
- package/types/ops/InfoOps.d.ts.map +1 -1
- package/types/ops/JoseOps.d.ts +17 -1
- package/types/ops/JoseOps.d.ts.map +1 -1
- package/types/ops/JourneyOps.d.ts +16 -10
- package/types/ops/JourneyOps.d.ts.map +1 -1
- package/types/ops/ManagedObjectOps.d.ts +3 -2
- package/types/ops/ManagedObjectOps.d.ts.map +1 -1
- package/types/ops/NodeOps.d.ts +3 -2
- package/types/ops/NodeOps.d.ts.map +1 -1
- package/types/ops/OAuth2ClientOps.d.ts +3 -2
- package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
- package/types/ops/OAuth2OidcOps.d.ts +6 -5
- package/types/ops/OAuth2OidcOps.d.ts.map +1 -1
- package/types/ops/OAuth2ProviderOps.d.ts +3 -2
- package/types/ops/OAuth2ProviderOps.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 +3 -2
- package/types/ops/OrganizationOps.d.ts.map +1 -1
- package/types/ops/PolicyOps.d.ts +3 -2
- package/types/ops/PolicyOps.d.ts.map +1 -1
- package/types/ops/PolicySetOps.d.ts +3 -2
- package/types/ops/PolicySetOps.d.ts.map +1 -1
- package/types/ops/RealmOps.d.ts +3 -2
- package/types/ops/RealmOps.d.ts.map +1 -1
- package/types/ops/ResourceTypeOps.d.ts +3 -2
- package/types/ops/ResourceTypeOps.d.ts.map +1 -1
- package/types/ops/Saml2Ops.d.ts +3 -2
- package/types/ops/Saml2Ops.d.ts.map +1 -1
- package/types/ops/ScriptOps.d.ts +3 -2
- package/types/ops/ScriptOps.d.ts.map +1 -1
- package/types/ops/ServiceOps.d.ts +4 -3
- package/types/ops/ServiceOps.d.ts.map +1 -1
- package/types/ops/ThemeOps.d.ts +3 -2
- package/types/ops/ThemeOps.d.ts.map +1 -1
- package/types/ops/cloud/AdminFederationOps.d.ts +3 -2
- package/types/ops/cloud/AdminFederationOps.d.ts.map +1 -1
- package/types/ops/cloud/FeatureOps.d.ts +3 -2
- package/types/ops/cloud/FeatureOps.d.ts.map +1 -1
- package/types/ops/cloud/LogOps.d.ts +3 -2
- package/types/ops/cloud/LogOps.d.ts.map +1 -1
- package/types/ops/cloud/SecretsOps.d.ts +3 -2
- package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
- package/types/ops/cloud/ServiceAccountOps.d.ts +7 -6
- package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -1
- package/types/ops/cloud/StartupOps.d.ts +3 -2
- package/types/ops/cloud/StartupOps.d.ts.map +1 -1
- package/types/ops/cloud/VariablesOps.d.ts +3 -2
- package/types/ops/cloud/VariablesOps.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 +1 -1
- package/types/ops/utils/DataProtection.d.ts.map +1 -1
- package/types/ops/utils/ExportImportUtils.d.ts +3 -2
- package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
- package/types/ops/utils/OpsUtils.d.ts +73 -17
- package/types/ops/utils/OpsUtils.d.ts.map +1 -1
- package/types/ops/utils/ScriptValidationUtils.d.ts +20 -1
- package/types/ops/utils/ScriptValidationUtils.d.ts.map +1 -1
- package/types/ops/utils/{Version.d.ts → VersionUtils.d.ts} +4 -4
- package/types/ops/utils/VersionUtils.d.ts.map +1 -0
- package/types/shared/Constants.d.ts +34 -0
- package/types/shared/Constants.d.ts.map +1 -0
- package/types/shared/State.d.ts +38 -38
- package/types/shared/State.d.ts.map +1 -1
- package/types/utils/SetupPollyForFrodoLib.d.ts +1 -1
- package/types/utils/SetupPollyForFrodoLib.d.ts.map +1 -1
- package/cjs/lib/Frodo.js +0 -85
- package/cjs/lib/Frodo.js.map +0 -1
- package/cjs/ops/utils/Version.js.map +0 -1
- package/cjs/ops/utils/Version.test.js.map +0 -1
- package/cjs/ops/utils/Wordwrap.js +0 -12
- package/cjs/ops/utils/Wordwrap.js.map +0 -1
- package/cjs/ops/utils/Wordwrap.test.js +0 -22
- package/cjs/ops/utils/Wordwrap.test.js.map +0 -1
- package/cjs/storage/StaticStorage.js +0 -31
- package/cjs/storage/StaticStorage.js.map +0 -1
- package/esm/lib/Frodo.js +0 -59
- package/esm/lib/Frodo.js.map +0 -1
- package/esm/ops/utils/Version.js.map +0 -1
- package/esm/ops/utils/Version.test.js.map +0 -1
- package/esm/ops/utils/Wordwrap.js +0 -5
- package/esm/ops/utils/Wordwrap.js.map +0 -1
- package/esm/ops/utils/Wordwrap.test.js +0 -19
- package/esm/ops/utils/Wordwrap.test.js.map +0 -1
- package/esm/storage/StaticStorage.js +0 -15
- package/esm/storage/StaticStorage.js.map +0 -1
- package/types/lib/Frodo.d.ts +0 -1159
- package/types/lib/Frodo.d.ts.map +0 -1
- package/types/ops/utils/Version.d.ts.map +0 -1
- package/types/ops/utils/Wordwrap.d.ts +0 -2
- package/types/ops/utils/Wordwrap.d.ts.map +0 -1
- package/types/storage/StaticStorage.d.ts +0 -15
- package/types/storage/StaticStorage.d.ts.map +0 -1
package/cjs/ops/ThemeOps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeOps.js","names":["THEMEREALM_ID","exports","_default","state","getThemes","_asyncToGenerator","getTheme","themeId","_arguments","arguments","realm","length","undefined","getRealm","getThemeByName","themeName","_arguments2","putTheme","themeData","_arguments3","putThemeByName","_arguments4","putThemes","themeMap","deleteTheme","_arguments5","deleteThemeByName","_arguments6","deleteThemes","_arguments7","default","getRealmThemes","_ref","themes","_x","_getThemes","apply","_ref2","getCurrentRealmName","getConfigEntity","entityId","_x2","_getTheme","_ref3","found","filter","theme","_id","Error","concat","_x3","_getThemeByName","_ref4","name","_x4","_putTheme","_ref5","data","isNew","realmThemes","map","isDefault","push","putConfigEntity","entityData","_x5","_putThemeByName","_ref6","_x6","_putThemes","_ref7","debugMessage","message","allThemeIDs","Object","keys","existingThemeIDs","defaultThemeId","newThemeIDs","id","includes","forEach","updatedThemes","Map","_x7","_deleteTheme","_ref8","deletedThemes","finalThemes","undeletedThemes","_x8","_deleteThemeByName","_ref9","_x9","_deleteThemes","_ref10"],"sources":["../../src/ops/ThemeOps.ts"],"sourcesContent":["import { ThemeSkeleton, UiThemeRealmObject } from '../api/ApiTypes';\nimport { getConfigEntity, putConfigEntity } from '../api/IdmConfigApi';\nimport { getCurrentRealmName } from '../api/utils/ApiUtils';\nimport { debugMessage } from '../ops/utils/Console';\nimport State from '../shared/State';\n\nexport const THEMEREALM_ID = 'ui/themerealm';\n\nexport default (state: State) => {\n return {\n /**\n * Get all themes\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton[]>} a promise that resolves to an array of themes\n */\n async getThemes(): Promise<ThemeSkeleton[]> {\n return getThemes({ state });\n },\n\n /**\n * Get theme by id\n * @param {string} themeId theme id\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\n async getTheme(\n themeId: string,\n realm: string = state.getRealm()\n ): Promise<ThemeSkeleton> {\n return getTheme({ themeId, realm, state });\n },\n\n /**\n * Get theme by name\n * @param {string} themeName theme name\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\n async getThemeByName(\n themeName: string,\n realm: string = state.getRealm()\n ): Promise<ThemeSkeleton> {\n return getThemeByName({ themeName, realm, state });\n },\n\n /**\n * Put theme by id\n * @param {string} themeId theme id\n * @param {ThemeSkeleton} themeData theme object\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\n async putTheme(\n themeId: string,\n themeData: ThemeSkeleton,\n realm: string = state.getRealm()\n ): Promise<ThemeSkeleton> {\n return putTheme({ themeId, themeData, realm, state });\n },\n\n /**\n * Put theme by name\n * @param {String} themeName theme name\n * @param {ThemeSkeleton} themeData theme object\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\n async putThemeByName(\n themeName: string,\n themeData: ThemeSkeleton,\n realm: string = state.getRealm()\n ): Promise<ThemeSkeleton> {\n return putThemeByName({ themeName, themeData, realm, state });\n },\n\n /**\n * Put all themes\n * @param {Map<string, ThemeSkeleton>} allThemesData themes object containing all themes for all realms\n * @param {string} realm realm name\n * @returns {Promise<Map<string, ThemeSkeleton>>} a promise that resolves to a themes object\n */\n async putThemes(\n themeMap: Map<string, ThemeSkeleton>\n ): Promise<Map<string, ThemeSkeleton>> {\n return putThemes({ themeMap, state });\n },\n\n /**\n * Delete theme by id\n * @param {string} themeId theme id\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a themes object\n */\n async deleteTheme(\n themeId: string,\n realm: string = state.getRealm()\n ): Promise<ThemeSkeleton> {\n return deleteTheme({ themeId, realm, state });\n },\n\n /**\n * Delete theme by name\n * @param {string} themeName theme name\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a themes object\n */\n async deleteThemeByName(\n themeName: string,\n realm: string = state.getRealm()\n ): Promise<ThemeSkeleton> {\n return deleteThemeByName({ themeName, realm, state });\n },\n\n /**\n * Delete all themes\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton[]>} a promise that resolves to an array of themes\n */\n async deleteThemes(\n realm: string = state.getRealm()\n ): Promise<ThemeSkeleton[]> {\n return deleteThemes({ realm, state });\n },\n };\n};\n\n/**\n * Get realm themes\n * @param {UiThemeRealmObject} themes object containing themes\n * @param {string} realm realm name\n * @returns {ThemeSkeleton[]} array of theme pertaining to the current realm\n */\nfunction getRealmThemes({\n themes,\n realm,\n}: {\n themes: UiThemeRealmObject;\n realm: string;\n}): ThemeSkeleton[] {\n if (themes.realm && themes.realm[realm]) {\n return themes.realm[realm];\n }\n return [];\n}\n\n/**\n * Get all themes\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton[]>} a promise that resolves to an array of themes\n */\nexport async function getThemes({\n realm = null,\n state,\n}: {\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton[]> {\n realm = realm ? realm : getCurrentRealmName(state);\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n return getRealmThemes({ themes, realm });\n}\n\n/**\n * Get theme by id\n * @param {string} themeId theme id\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\nexport async function getTheme({\n themeId,\n realm,\n state,\n}: {\n themeId: string;\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton> {\n realm ? realm : getCurrentRealmName(state);\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n const found = getRealmThemes({ themes, realm }).filter(\n (theme) => theme._id === themeId\n );\n if (found.length === 1) {\n return found[0];\n }\n if (found.length > 1) {\n throw new Error(\n `Multiple themes with id '${themeId}' found in realm '${realm}'!`\n );\n }\n throw new Error(`Theme with id '${themeId}' not found in realm '${realm}'!`);\n}\n\n/**\n * Get theme by name\n * @param {string} themeName theme name\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\nexport async function getThemeByName({\n themeName,\n realm,\n state,\n}: {\n themeName: string;\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton> {\n realm ? realm : getCurrentRealmName(state);\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n const found = getRealmThemes({ themes, realm }).filter(\n (theme) => theme.name === themeName\n );\n if (found.length === 1) {\n return found[0];\n }\n if (found.length > 1) {\n throw new Error(\n `Multiple themes with the name '${themeName}' found in realm '${realm}'!`\n );\n }\n throw new Error(`Theme '${themeName}' not found in realm '${realm}'!`);\n}\n\n/**\n * Put theme by id\n * @param {string} themeId theme id\n * @param {ThemeSkeleton} themeData theme object\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\nexport async function putTheme({\n themeId,\n themeData,\n realm,\n state,\n}: {\n themeId: string;\n themeData: ThemeSkeleton;\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton> {\n realm ? realm : getCurrentRealmName(state);\n const data = themeData;\n data._id = themeId;\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n let isNew = true;\n const realmThemes = getRealmThemes({ themes, realm }).map((theme) => {\n if (theme._id === themeId) {\n isNew = false;\n return data;\n }\n if (data.isDefault) theme.isDefault = false;\n return theme;\n });\n if (isNew) {\n realmThemes.push(data);\n }\n themes.realm[realm] = realmThemes;\n const found = getRealmThemes({\n themes: await putConfigEntity({\n entityId: THEMEREALM_ID,\n entityData: themes,\n state,\n }),\n realm,\n }).filter((theme) => theme._id === themeId);\n if (found.length === 1) {\n return found[0];\n }\n if (found.length > 1) {\n throw new Error(\n `Multiple themes with id '${themeId}' found in realm '${realm}'!`\n );\n }\n throw new Error(`Theme with id '${themeId}' not saved in realm '${realm}'!`);\n}\n\n/**\n * Put theme by name\n * @param {String} themeName theme name\n * @param {ThemeSkeleton} themeData theme object\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\nexport async function putThemeByName({\n themeName,\n themeData,\n realm,\n state,\n}: {\n themeName: string;\n themeData: ThemeSkeleton;\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton> {\n realm ? realm : getCurrentRealmName(state);\n const data = themeData;\n data.name = themeName;\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n let isNew = true;\n const realmThemes = getRealmThemes({ themes, realm }).map((theme) => {\n if (theme.name === themeName) {\n isNew = false;\n return data;\n }\n if (data.isDefault) theme.isDefault = false;\n return theme;\n });\n if (isNew) {\n realmThemes.push(data);\n }\n themes['realm'][realm] = realmThemes;\n const found = getRealmThemes({\n themes: await putConfigEntity({\n entityId: THEMEREALM_ID,\n entityData: themes,\n state,\n }),\n realm,\n }).filter((theme) => theme.name === themeName);\n if (found.length === 1) {\n return found[0];\n }\n if (found.length > 1) {\n throw new Error(\n `Multiple themes '${themeName}' found in realm '${realm}'!`\n );\n }\n throw new Error(`Theme '${themeName}' not saved in realm '${realm}'!`);\n}\n\n/**\n * Put all themes\n * @param {Map<string, ThemeSkeleton>} allThemesData themes object containing all themes for all realms\n * @param {string} realm realm name\n * @returns {Promise<Map<string, ThemeSkeleton>>} a promise that resolves to a themes object\n */\nexport async function putThemes({\n themeMap,\n realm = null,\n state,\n}: {\n themeMap: Map<string, ThemeSkeleton>;\n realm?: string;\n state: State;\n}): Promise<Map<string, ThemeSkeleton>> {\n debugMessage({ message: `ThemeApi.putThemes: start`, state });\n realm = realm ? realm : getCurrentRealmName(state);\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n const allThemeIDs = Object.keys(themeMap);\n const existingThemeIDs = [];\n let defaultThemeId = null;\n // update existing themes\n let realmThemes = getRealmThemes({ themes, realm }).map((theme) => {\n if (themeMap[theme._id]) {\n debugMessage({\n message: `Update theme: ${theme._id} - ${theme.name}`,\n state,\n });\n existingThemeIDs.push(theme._id);\n // remember the id of the last default theme\n if (themeMap[theme._id].isDefault) defaultThemeId = theme._id;\n return themeMap[theme._id];\n }\n return theme;\n });\n const newThemeIDs = allThemeIDs.filter(\n (id) => !existingThemeIDs.includes(id)\n );\n // add new themes\n newThemeIDs.forEach((themeId) => {\n debugMessage({\n message: `Add theme: ${themeMap[themeId]._id} - ${themeMap[themeId].name}`,\n state,\n });\n // remember the id of the last default theme\n if (themeMap[themeId].isDefault) defaultThemeId = themeId;\n realmThemes.push(themeMap[themeId]);\n });\n // if we imported a default theme, flag all the other themes as not default\n if (defaultThemeId) {\n realmThemes = realmThemes.map((theme) => {\n theme.isDefault = theme._id === defaultThemeId;\n return theme;\n });\n }\n themes.realm[realm] = realmThemes;\n const updatedThemes = new Map(\n getRealmThemes({\n themes: await putConfigEntity({\n entityId: THEMEREALM_ID,\n entityData: themes,\n state,\n }),\n realm,\n }).map((theme) => [theme._id, theme])\n );\n debugMessage({ message: updatedThemes, state });\n debugMessage({ message: `ThemeApi.putThemes: finished`, state });\n return updatedThemes;\n}\n\n/**\n * Delete theme by id\n * @param {string} themeId theme id\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a themes object\n */\nexport async function deleteTheme({\n themeId,\n realm,\n state,\n}: {\n themeId: string;\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton> {\n realm ? realm : getCurrentRealmName(state);\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n const realmThemes = getRealmThemes({ themes, realm });\n const deletedThemes: ThemeSkeleton[] = [];\n const finalThemes = realmThemes.filter((theme) => {\n if (theme._id !== themeId) {\n return true;\n }\n deletedThemes.push(theme);\n return false;\n });\n if (realmThemes.length === finalThemes.length)\n throw new Error(`'${themeId}' not found in realm '${realm}'`);\n themes.realm[realm] = realmThemes;\n const undeletedThemes = getRealmThemes({\n themes: await putConfigEntity({\n entityId: THEMEREALM_ID,\n entityData: themes,\n state,\n }),\n realm,\n }).filter((theme) => deletedThemes.includes(theme));\n if (deletedThemes.length > 0 && undeletedThemes.length === 0) {\n return deletedThemes[0];\n }\n throw new Error(\n `Theme(s) with id(s) '${undeletedThemes.map(\n (theme) => theme._id\n )}' not deleted from realm '${realm}'!`\n );\n}\n\n/**\n * Delete theme by name\n * @param {string} themeName theme name\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a themes object\n */\nexport async function deleteThemeByName({\n themeName,\n realm,\n state,\n}: {\n themeName: string;\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton> {\n realm ? realm : getCurrentRealmName(state);\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n const realmThemes = getRealmThemes({ themes, realm });\n const deletedThemes: ThemeSkeleton[] = [];\n const finalThemes = realmThemes.filter((theme) => {\n if (theme.name !== themeName) {\n return true;\n }\n deletedThemes.push(theme);\n return false;\n });\n if (realmThemes.length === finalThemes.length)\n throw new Error(`'${themeName}' not found in realm '${realm}'`);\n themes.realm[realm] = finalThemes;\n const undeletedThemes = getRealmThemes({\n themes: await putConfigEntity({\n entityId: THEMEREALM_ID,\n entityData: themes,\n state,\n }),\n realm,\n }).filter((theme) => deletedThemes.includes(theme));\n if (deletedThemes.length > 0 && undeletedThemes.length === 0) {\n return deletedThemes[0];\n }\n throw new Error(\n `Theme(s) with id(s) '${undeletedThemes.map(\n (theme) => theme._id\n )}' not deleted from realm '${realm}'!`\n );\n}\n\n/**\n * Delete all themes\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton[]>} a promise that resolves to an array of themes\n */\nexport async function deleteThemes({\n realm,\n state,\n}: {\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton[]> {\n realm ? realm : getCurrentRealmName(state);\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n const realmThemes = themes.realm[realm];\n if (!realmThemes)\n throw new Error(`No theme configuration found for realm '${realm}'`);\n const deletedThemes: ThemeSkeleton[] = [];\n for (const theme of realmThemes) {\n deletedThemes.push(theme);\n }\n themes.realm[realm] = [];\n await putConfigEntity({ entityId: THEMEREALM_ID, entityData: themes, state });\n return deletedThemes;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThemeOps.js","names":["THEMEREALM_ID","exports","_default","state","getThemes","_asyncToGenerator","getTheme","themeId","_arguments","arguments","realm","length","undefined","getRealm","getThemeByName","themeName","_arguments2","putTheme","themeData","_arguments3","putThemeByName","_arguments4","putThemes","themeMap","deleteTheme","_arguments5","deleteThemeByName","_arguments6","deleteThemes","_arguments7","default","getRealmThemes","_ref","themes","_x","_getThemes","apply","_ref2","getCurrentRealmName","getConfigEntity","entityId","_x2","_getTheme","_ref3","found","filter","theme","_id","Error","concat","_x3","_getThemeByName","_ref4","name","_x4","_putTheme","_ref5","data","isNew","realmThemes","map","isDefault","push","putConfigEntity","entityData","_x5","_putThemeByName","_ref6","_x6","_putThemes","_ref7","debugMessage","message","allThemeIDs","Object","keys","existingThemeIDs","defaultThemeId","newThemeIDs","id","includes","forEach","updatedThemes","Map","_x7","_deleteTheme","_ref8","deletedThemes","finalThemes","undeletedThemes","_x8","_deleteThemeByName","_ref9","_x9","_deleteThemes","_ref10"],"sources":["../../src/ops/ThemeOps.ts"],"sourcesContent":["import { ThemeSkeleton, UiThemeRealmObject } from '../api/ApiTypes';\nimport { getConfigEntity, putConfigEntity } from '../api/IdmConfigApi';\nimport { getCurrentRealmName } from '../api/utils/ApiUtils';\nimport { debugMessage } from '../ops/utils/Console';\nimport { State } from '../shared/State';\n\nexport const THEMEREALM_ID = 'ui/themerealm';\n\nexport type Theme = {\n /**\n * Get all themes\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton[]>} a promise that resolves to an array of themes\n */\n getThemes(): Promise<ThemeSkeleton[]>;\n /**\n * Get theme by id\n * @param {string} themeId theme id\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\n getTheme(themeId: string, realm?: string): Promise<ThemeSkeleton>;\n /**\n * Get theme by name\n * @param {string} themeName theme name\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\n getThemeByName(themeName: string, realm?: string): Promise<ThemeSkeleton>;\n /**\n * Put theme by id\n * @param {string} themeId theme id\n * @param {ThemeSkeleton} themeData theme object\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\n putTheme(\n themeId: string,\n themeData: ThemeSkeleton,\n realm?: string\n ): Promise<ThemeSkeleton>;\n /**\n * Put theme by name\n * @param {String} themeName theme name\n * @param {ThemeSkeleton} themeData theme object\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\n putThemeByName(\n themeName: string,\n themeData: ThemeSkeleton,\n realm?: string\n ): Promise<ThemeSkeleton>;\n /**\n * Put all themes\n * @param {Map<string, ThemeSkeleton>} allThemesData themes object containing all themes for all realms\n * @param {string} realm realm name\n * @returns {Promise<Map<string, ThemeSkeleton>>} a promise that resolves to a themes object\n */\n putThemes(\n themeMap: Map<string, ThemeSkeleton>\n ): Promise<Map<string, ThemeSkeleton>>;\n /**\n * Delete theme by id\n * @param {string} themeId theme id\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a themes object\n */\n deleteTheme(themeId: string, realm?: string): Promise<ThemeSkeleton>;\n /**\n * Delete theme by name\n * @param {string} themeName theme name\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a themes object\n */\n deleteThemeByName(themeName: string, realm?: string): Promise<ThemeSkeleton>;\n /**\n * Delete all themes\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton[]>} a promise that resolves to an array of themes\n */\n deleteThemes(realm?: string): Promise<ThemeSkeleton[]>;\n};\n\nexport default (state: State): Theme => {\n return {\n /**\n * Get all themes\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton[]>} a promise that resolves to an array of themes\n */\n async getThemes(): Promise<ThemeSkeleton[]> {\n return getThemes({ state });\n },\n\n /**\n * Get theme by id\n * @param {string} themeId theme id\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\n async getTheme(\n themeId: string,\n realm: string = state.getRealm()\n ): Promise<ThemeSkeleton> {\n return getTheme({ themeId, realm, state });\n },\n\n /**\n * Get theme by name\n * @param {string} themeName theme name\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\n async getThemeByName(\n themeName: string,\n realm: string = state.getRealm()\n ): Promise<ThemeSkeleton> {\n return getThemeByName({ themeName, realm, state });\n },\n\n /**\n * Put theme by id\n * @param {string} themeId theme id\n * @param {ThemeSkeleton} themeData theme object\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\n async putTheme(\n themeId: string,\n themeData: ThemeSkeleton,\n realm: string = state.getRealm()\n ): Promise<ThemeSkeleton> {\n return putTheme({ themeId, themeData, realm, state });\n },\n\n /**\n * Put theme by name\n * @param {String} themeName theme name\n * @param {ThemeSkeleton} themeData theme object\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\n async putThemeByName(\n themeName: string,\n themeData: ThemeSkeleton,\n realm: string = state.getRealm()\n ): Promise<ThemeSkeleton> {\n return putThemeByName({ themeName, themeData, realm, state });\n },\n\n /**\n * Put all themes\n * @param {Map<string, ThemeSkeleton>} allThemesData themes object containing all themes for all realms\n * @param {string} realm realm name\n * @returns {Promise<Map<string, ThemeSkeleton>>} a promise that resolves to a themes object\n */\n async putThemes(\n themeMap: Map<string, ThemeSkeleton>\n ): Promise<Map<string, ThemeSkeleton>> {\n return putThemes({ themeMap, state });\n },\n\n /**\n * Delete theme by id\n * @param {string} themeId theme id\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a themes object\n */\n async deleteTheme(\n themeId: string,\n realm: string = state.getRealm()\n ): Promise<ThemeSkeleton> {\n return deleteTheme({ themeId, realm, state });\n },\n\n /**\n * Delete theme by name\n * @param {string} themeName theme name\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a themes object\n */\n async deleteThemeByName(\n themeName: string,\n realm: string = state.getRealm()\n ): Promise<ThemeSkeleton> {\n return deleteThemeByName({ themeName, realm, state });\n },\n\n /**\n * Delete all themes\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton[]>} a promise that resolves to an array of themes\n */\n async deleteThemes(\n realm: string = state.getRealm()\n ): Promise<ThemeSkeleton[]> {\n return deleteThemes({ realm, state });\n },\n };\n};\n\n/**\n * Get realm themes\n * @param {UiThemeRealmObject} themes object containing themes\n * @param {string} realm realm name\n * @returns {ThemeSkeleton[]} array of theme pertaining to the current realm\n */\nfunction getRealmThemes({\n themes,\n realm,\n}: {\n themes: UiThemeRealmObject;\n realm: string;\n}): ThemeSkeleton[] {\n if (themes.realm && themes.realm[realm]) {\n return themes.realm[realm];\n }\n return [];\n}\n\n/**\n * Get all themes\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton[]>} a promise that resolves to an array of themes\n */\nexport async function getThemes({\n realm = null,\n state,\n}: {\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton[]> {\n realm = realm ? realm : getCurrentRealmName(state);\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n return getRealmThemes({ themes, realm });\n}\n\n/**\n * Get theme by id\n * @param {string} themeId theme id\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\nexport async function getTheme({\n themeId,\n realm,\n state,\n}: {\n themeId: string;\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton> {\n realm ? realm : getCurrentRealmName(state);\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n const found = getRealmThemes({ themes, realm }).filter(\n (theme) => theme._id === themeId\n );\n if (found.length === 1) {\n return found[0];\n }\n if (found.length > 1) {\n throw new Error(\n `Multiple themes with id '${themeId}' found in realm '${realm}'!`\n );\n }\n throw new Error(`Theme with id '${themeId}' not found in realm '${realm}'!`);\n}\n\n/**\n * Get theme by name\n * @param {string} themeName theme name\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\nexport async function getThemeByName({\n themeName,\n realm,\n state,\n}: {\n themeName: string;\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton> {\n realm ? realm : getCurrentRealmName(state);\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n const found = getRealmThemes({ themes, realm }).filter(\n (theme) => theme.name === themeName\n );\n if (found.length === 1) {\n return found[0];\n }\n if (found.length > 1) {\n throw new Error(\n `Multiple themes with the name '${themeName}' found in realm '${realm}'!`\n );\n }\n throw new Error(`Theme '${themeName}' not found in realm '${realm}'!`);\n}\n\n/**\n * Put theme by id\n * @param {string} themeId theme id\n * @param {ThemeSkeleton} themeData theme object\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\nexport async function putTheme({\n themeId,\n themeData,\n realm,\n state,\n}: {\n themeId: string;\n themeData: ThemeSkeleton;\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton> {\n realm ? realm : getCurrentRealmName(state);\n const data = themeData;\n data._id = themeId;\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n let isNew = true;\n const realmThemes = getRealmThemes({ themes, realm }).map((theme) => {\n if (theme._id === themeId) {\n isNew = false;\n return data;\n }\n if (data.isDefault) theme.isDefault = false;\n return theme;\n });\n if (isNew) {\n realmThemes.push(data);\n }\n themes.realm[realm] = realmThemes;\n const found = getRealmThemes({\n themes: await putConfigEntity({\n entityId: THEMEREALM_ID,\n entityData: themes,\n state,\n }),\n realm,\n }).filter((theme) => theme._id === themeId);\n if (found.length === 1) {\n return found[0];\n }\n if (found.length > 1) {\n throw new Error(\n `Multiple themes with id '${themeId}' found in realm '${realm}'!`\n );\n }\n throw new Error(`Theme with id '${themeId}' not saved in realm '${realm}'!`);\n}\n\n/**\n * Put theme by name\n * @param {String} themeName theme name\n * @param {ThemeSkeleton} themeData theme object\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a theme object\n */\nexport async function putThemeByName({\n themeName,\n themeData,\n realm,\n state,\n}: {\n themeName: string;\n themeData: ThemeSkeleton;\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton> {\n realm ? realm : getCurrentRealmName(state);\n const data = themeData;\n data.name = themeName;\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n let isNew = true;\n const realmThemes = getRealmThemes({ themes, realm }).map((theme) => {\n if (theme.name === themeName) {\n isNew = false;\n return data;\n }\n if (data.isDefault) theme.isDefault = false;\n return theme;\n });\n if (isNew) {\n realmThemes.push(data);\n }\n themes['realm'][realm] = realmThemes;\n const found = getRealmThemes({\n themes: await putConfigEntity({\n entityId: THEMEREALM_ID,\n entityData: themes,\n state,\n }),\n realm,\n }).filter((theme) => theme.name === themeName);\n if (found.length === 1) {\n return found[0];\n }\n if (found.length > 1) {\n throw new Error(\n `Multiple themes '${themeName}' found in realm '${realm}'!`\n );\n }\n throw new Error(`Theme '${themeName}' not saved in realm '${realm}'!`);\n}\n\n/**\n * Put all themes\n * @param {Map<string, ThemeSkeleton>} allThemesData themes object containing all themes for all realms\n * @param {string} realm realm name\n * @returns {Promise<Map<string, ThemeSkeleton>>} a promise that resolves to a themes object\n */\nexport async function putThemes({\n themeMap,\n realm = null,\n state,\n}: {\n themeMap: Map<string, ThemeSkeleton>;\n realm?: string;\n state: State;\n}): Promise<Map<string, ThemeSkeleton>> {\n debugMessage({ message: `ThemeApi.putThemes: start`, state });\n realm = realm ? realm : getCurrentRealmName(state);\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n const allThemeIDs = Object.keys(themeMap);\n const existingThemeIDs = [];\n let defaultThemeId = null;\n // update existing themes\n let realmThemes = getRealmThemes({ themes, realm }).map((theme) => {\n if (themeMap[theme._id]) {\n debugMessage({\n message: `Update theme: ${theme._id} - ${theme.name}`,\n state,\n });\n existingThemeIDs.push(theme._id);\n // remember the id of the last default theme\n if (themeMap[theme._id].isDefault) defaultThemeId = theme._id;\n return themeMap[theme._id];\n }\n return theme;\n });\n const newThemeIDs = allThemeIDs.filter(\n (id) => !existingThemeIDs.includes(id)\n );\n // add new themes\n newThemeIDs.forEach((themeId) => {\n debugMessage({\n message: `Add theme: ${themeMap[themeId]._id} - ${themeMap[themeId].name}`,\n state,\n });\n // remember the id of the last default theme\n if (themeMap[themeId].isDefault) defaultThemeId = themeId;\n realmThemes.push(themeMap[themeId]);\n });\n // if we imported a default theme, flag all the other themes as not default\n if (defaultThemeId) {\n realmThemes = realmThemes.map((theme) => {\n theme.isDefault = theme._id === defaultThemeId;\n return theme;\n });\n }\n themes.realm[realm] = realmThemes;\n const updatedThemes = new Map(\n getRealmThemes({\n themes: await putConfigEntity({\n entityId: THEMEREALM_ID,\n entityData: themes,\n state,\n }),\n realm,\n }).map((theme) => [theme._id, theme])\n );\n debugMessage({ message: updatedThemes, state });\n debugMessage({ message: `ThemeApi.putThemes: finished`, state });\n return updatedThemes;\n}\n\n/**\n * Delete theme by id\n * @param {string} themeId theme id\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a themes object\n */\nexport async function deleteTheme({\n themeId,\n realm,\n state,\n}: {\n themeId: string;\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton> {\n realm ? realm : getCurrentRealmName(state);\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n const realmThemes = getRealmThemes({ themes, realm });\n const deletedThemes: ThemeSkeleton[] = [];\n const finalThemes = realmThemes.filter((theme) => {\n if (theme._id !== themeId) {\n return true;\n }\n deletedThemes.push(theme);\n return false;\n });\n if (realmThemes.length === finalThemes.length)\n throw new Error(`'${themeId}' not found in realm '${realm}'`);\n themes.realm[realm] = realmThemes;\n const undeletedThemes = getRealmThemes({\n themes: await putConfigEntity({\n entityId: THEMEREALM_ID,\n entityData: themes,\n state,\n }),\n realm,\n }).filter((theme) => deletedThemes.includes(theme));\n if (deletedThemes.length > 0 && undeletedThemes.length === 0) {\n return deletedThemes[0];\n }\n throw new Error(\n `Theme(s) with id(s) '${undeletedThemes.map(\n (theme) => theme._id\n )}' not deleted from realm '${realm}'!`\n );\n}\n\n/**\n * Delete theme by name\n * @param {string} themeName theme name\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton>} a promise that resolves to a themes object\n */\nexport async function deleteThemeByName({\n themeName,\n realm,\n state,\n}: {\n themeName: string;\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton> {\n realm ? realm : getCurrentRealmName(state);\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n const realmThemes = getRealmThemes({ themes, realm });\n const deletedThemes: ThemeSkeleton[] = [];\n const finalThemes = realmThemes.filter((theme) => {\n if (theme.name !== themeName) {\n return true;\n }\n deletedThemes.push(theme);\n return false;\n });\n if (realmThemes.length === finalThemes.length)\n throw new Error(`'${themeName}' not found in realm '${realm}'`);\n themes.realm[realm] = finalThemes;\n const undeletedThemes = getRealmThemes({\n themes: await putConfigEntity({\n entityId: THEMEREALM_ID,\n entityData: themes,\n state,\n }),\n realm,\n }).filter((theme) => deletedThemes.includes(theme));\n if (deletedThemes.length > 0 && undeletedThemes.length === 0) {\n return deletedThemes[0];\n }\n throw new Error(\n `Theme(s) with id(s) '${undeletedThemes.map(\n (theme) => theme._id\n )}' not deleted from realm '${realm}'!`\n );\n}\n\n/**\n * Delete all themes\n * @param {string} realm realm name\n * @returns {Promise<ThemeSkeleton[]>} a promise that resolves to an array of themes\n */\nexport async function deleteThemes({\n realm,\n state,\n}: {\n realm?: string;\n state: State;\n}): Promise<ThemeSkeleton[]> {\n realm ? realm : getCurrentRealmName(state);\n const themes = await getConfigEntity({ entityId: THEMEREALM_ID, state });\n const realmThemes = themes.realm[realm];\n if (!realmThemes)\n throw new Error(`No theme configuration found for realm '${realm}'`);\n const deletedThemes: ThemeSkeleton[] = [];\n for (const theme of realmThemes) {\n deletedThemes.push(theme);\n }\n themes.realm[realm] = [];\n await putConfigEntity({ entityId: THEMEREALM_ID, entityData: themes, state });\n return deletedThemes;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminFederationOps.js","names":["state","createAdminFederationExportTemplate","getAdminFederationProviders","_asyncToGenerator","getAdminFederationProvider","providerId","putProviderByTypeAndId","providerType","providerData","deleteAdminFederationProvider","exportAdminFederationProvider","exportAdminFederationProviders","importAdminFederationProvider","importData","importFirstAdminFederationProvider","importAdminFederationProviders","exports","default","_default","ADMIN_FED_CONFIG_ID_PREFIX","_ref","meta","getMetadata","config","idp","_x","_getAdminFederationProviders2","apply","arguments","_ref2","result","_getAdminFederationProviders","_x2","_getAdminFederationProvider","_ref3","response","foundProviders","filter","provider","_id","length","Error","concat","_x3","_putProviderByTypeAndId2","_ref4","debugMessage","message","_putProviderByTypeAndId","importError","_importError$response","_importError$response2","_importError$response3","status","data","validAttributes","detail","push","attribute","Object","keys","includes","_x4","_deleteAdminFederationProvider","_ref5","deleteProviderByTypeAndId","_type","_x5","_exportAdminFederationProvider","_ref6","exportData","errors","idpData","idpConfig","getConfigEntity","entityId","error","errorMessages","map","join","_x6","_exportAdminFederationProviders","_ref7","allIdpsData","_x7","_importAdminFederationProvider","_ref8","imported","idpId","configId","putConfigEntity","entityData","_x8","_importFirstAdminFederationProvider","_ref9","_x9","_importAdminFederationProviders","_ref10"],"sources":["../../../src/ops/cloud/AdminFederationOps.ts"],"sourcesContent":["import {\n deleteProviderByTypeAndId,\n getAdminFederationProviders as _getAdminFederationProviders,\n putProviderByTypeAndId as _putProviderByTypeAndId,\n} from '../../api/cloud/AdminFederationProvidersApi';\nimport { ExportMetaData } from '../OpsTypes';\nimport {\n AdminFederationConfigSkeleton,\n SocialIdpSkeleton,\n} from '../../api/ApiTypes';\nimport { getMetadata } from '../utils/ExportImportUtils';\nimport { debugMessage } from '../utils/Console';\nimport { getConfigEntity, putConfigEntity } from '../../api/IdmConfigApi';\nimport State from '../../shared/State';\n\nexport default (state: State) => {\n return {\n /**\n * Create an empty idp export template\n * @returns {AdminFederationExportInterface} an empty idp export template\n */\n createAdminFederationExportTemplate(): AdminFederationExportInterface {\n return createAdminFederationExportTemplate({ state });\n },\n\n /**\n * Get all admin federation providers\n * @returns {Promise} a promise that resolves to an object containing an array of admin federation providers\n */\n async getAdminFederationProviders() {\n return getAdminFederationProviders({ state });\n },\n\n /**\n * Get admin federation provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social admin federation object\n */\n async getAdminFederationProvider(providerId: string) {\n return getAdminFederationProvider({ providerId, state });\n },\n\n async putProviderByTypeAndId(\n providerType: string,\n providerId: string,\n providerData: SocialIdpSkeleton\n ) {\n return putProviderByTypeAndId({\n providerType,\n providerId,\n providerData,\n state,\n });\n },\n\n /**\n * Delete admin federation provider by id\n * @param {String} providerId admin federation provider id/name\n * @returns {Promise} a promise that resolves to an admin federation provider object\n */\n async deleteAdminFederationProvider(\n providerId: string\n ): Promise<SocialIdpSkeleton> {\n return deleteAdminFederationProvider({ providerId, state });\n },\n\n /**\n * Export admin federation provider by id\n * @param {string} providerId provider id/name\n * @returns {Promise<AdminFederationExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\n async exportAdminFederationProvider(\n providerId: string\n ): Promise<AdminFederationExportInterface> {\n return exportAdminFederationProvider({ providerId, state });\n },\n\n /**\n * Export all providers\n * @returns {Promise<AdminFederationExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\n async exportAdminFederationProviders(): Promise<AdminFederationExportInterface> {\n return exportAdminFederationProviders({ state });\n },\n\n /**\n * Import admin federation provider by id/name\n * @param {string} providerId provider id/name\n * @param {AdminFederationExportInterface} importData import data\n */\n async importAdminFederationProvider(\n providerId: string,\n importData: AdminFederationExportInterface\n ): Promise<SocialIdpSkeleton> {\n return importAdminFederationProvider({\n providerId,\n importData,\n state,\n });\n },\n\n /**\n * Import first provider\n * @param {AdminFederationExportInterface} importData import data\n */\n async importFirstAdminFederationProvider(\n importData: AdminFederationExportInterface\n ): Promise<SocialIdpSkeleton> {\n return importFirstAdminFederationProvider({\n importData,\n state,\n });\n },\n\n /**\n * Import all providers\n * @param {AdminFederationExportInterface} importData import data\n */\n async importAdminFederationProviders(\n importData: AdminFederationExportInterface\n ): Promise<SocialIdpSkeleton[]> {\n return importAdminFederationProviders({ importData, state });\n },\n };\n};\n\nexport interface AdminFederationExportInterface {\n meta?: ExportMetaData;\n config: Record<string, AdminFederationConfigSkeleton>;\n idp: Record<string, SocialIdpSkeleton>;\n}\n\nconst ADMIN_FED_CONFIG_ID_PREFIX = 'fidc/federation-';\n\n/**\n * Create an empty idp export template\n * @returns {AdminFederationExportInterface} an empty idp export template\n */\nexport function createAdminFederationExportTemplate({\n state,\n}: {\n state: State;\n}): AdminFederationExportInterface {\n return {\n meta: getMetadata({ state }),\n config: {},\n idp: {},\n } as AdminFederationExportInterface;\n}\n\n/**\n * Get all admin federation providers\n * @returns {Promise} a promise that resolves to an object containing an array of admin federation providers\n */\nexport async function getAdminFederationProviders({ state }: { state: State }) {\n const { result } = await _getAdminFederationProviders({ state });\n return result;\n}\n\n/**\n * Get admin federation provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social admin federation object\n */\nexport async function getAdminFederationProvider({\n providerId,\n state,\n}: {\n providerId: string;\n state: State;\n}) {\n const response = await getAdminFederationProviders({ state });\n const foundProviders = response.filter(\n (provider) => provider._id === providerId\n );\n switch (foundProviders.length) {\n case 1:\n return foundProviders[0];\n case 0:\n throw new Error(`Provider '${providerId}' not found`);\n default:\n throw new Error(\n `${foundProviders.length} providers '${providerId}' found`\n );\n }\n}\n\nexport async function putProviderByTypeAndId({\n providerType,\n providerId,\n providerData,\n state,\n}: {\n providerType: string;\n providerId: string;\n providerData: SocialIdpSkeleton;\n state: State;\n}) {\n debugMessage({\n message: `AdminFederationOps.putProviderByTypeAndId: start`,\n state,\n });\n try {\n const response = await _putProviderByTypeAndId({\n providerType,\n providerId,\n providerData,\n state,\n });\n debugMessage({\n message: `AdminFederationOps.putProviderByTypeAndId: end`,\n state,\n });\n return response;\n } catch (importError) {\n if (\n importError.response?.status === 400 &&\n importError.response?.data?.message === 'Invalid attribute specified.'\n ) {\n const { validAttributes } = importError.response.data.detail;\n validAttributes.push('_id', '_type');\n for (const attribute of Object.keys(providerData)) {\n if (!validAttributes.includes(attribute)) {\n debugMessage({\n message: `Removing invalid attribute: ${attribute}`,\n state,\n });\n delete providerData[attribute];\n }\n }\n const response = await _putProviderByTypeAndId({\n providerType,\n providerId,\n providerData,\n state,\n });\n debugMessage({\n message: `AdminFederationOps.putProviderByTypeAndId: end (after retry)`,\n state,\n });\n return response;\n } else {\n // re-throw unhandleable error\n throw importError;\n }\n }\n}\n\n/**\n * Delete admin federation provider by id\n * @param {String} providerId admin federation provider id/name\n * @returns {Promise<SocialIdpSkeleton>} a promise that resolves to an admin federation provider object\n */\nexport async function deleteAdminFederationProvider({\n providerId,\n state,\n}: {\n providerId: string;\n state: State;\n}): Promise<SocialIdpSkeleton> {\n const response = await getAdminFederationProviders({ state });\n const foundProviders = response.filter(\n (provider) => provider._id === providerId\n );\n switch (foundProviders.length) {\n case 1:\n return await deleteProviderByTypeAndId({\n providerType: foundProviders[0]._type._id,\n providerId: foundProviders[0]._id,\n state,\n });\n case 0:\n throw new Error(`Provider '${providerId}' not found`);\n default:\n throw new Error(\n `${foundProviders.length} providers '${providerId}' found`\n );\n }\n}\n\n/**\n * Export admin federation provider by id\n * @param {string} providerId provider id/name\n * @returns {Promise<AdminFederationExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\nexport async function exportAdminFederationProvider({\n providerId,\n state,\n}: {\n providerId: string;\n state: State;\n}): Promise<AdminFederationExportInterface> {\n debugMessage({\n message: `AdminFederationOps.exportAdminFederationProvider: start`,\n state,\n });\n const exportData = createAdminFederationExportTemplate({ state });\n const errors = [];\n try {\n const idpData = await getAdminFederationProvider({ providerId, state });\n exportData.idp[idpData._id] = idpData;\n const idpConfig = await getConfigEntity({\n entityId: `${ADMIN_FED_CONFIG_ID_PREFIX}${providerId}`,\n state,\n });\n exportData.config[idpConfig._id] = idpConfig;\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage({\n message: `AdminFederationOps.exportAdminFederationProvider: end`,\n state,\n });\n return exportData;\n}\n\n/**\n * Export all providers\n * @returns {Promise<AdminFederationExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\nexport async function exportAdminFederationProviders({\n state,\n}: {\n state: State;\n}): Promise<AdminFederationExportInterface> {\n debugMessage({\n message: `AdminFederationOps.exportAdminFederationProviders: start`,\n state,\n });\n const exportData = createAdminFederationExportTemplate({ state });\n const errors = [];\n try {\n const allIdpsData = await getAdminFederationProviders({ state });\n for (const idpData of allIdpsData) {\n try {\n exportData.idp[idpData._id] = idpData;\n const idpConfig = await getConfigEntity({\n entityId: `${ADMIN_FED_CONFIG_ID_PREFIX}${idpData._id}`,\n state,\n });\n exportData.config[idpConfig._id] = idpConfig;\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage({\n message: `AdminFederationOps.exportAdminFederationProviders: end`,\n state,\n });\n return exportData;\n}\n\n/**\n * Import admin federation provider by id/name\n * @param {string} providerId provider id/name\n * @param {AdminFederationExportInterface} importData import data\n */\nexport async function importAdminFederationProvider({\n providerId,\n importData,\n state,\n}: {\n providerId: string;\n importData: AdminFederationExportInterface;\n state: State;\n}): Promise<SocialIdpSkeleton> {\n let response = null;\n const errors = [];\n const imported = [];\n for (const idpId of Object.keys(importData.idp)) {\n if (idpId === providerId) {\n try {\n response = await putProviderByTypeAndId({\n providerType: importData.idp[idpId]._type._id,\n providerId: idpId,\n providerData: importData.idp[idpId],\n state,\n });\n const configId = `${ADMIN_FED_CONFIG_ID_PREFIX}${idpId}`;\n if (importData.config[configId]) {\n await putConfigEntity({\n entityId: configId,\n entityData: importData.config[configId],\n state,\n });\n }\n imported.push(idpId);\n } catch (error) {\n errors.push(error);\n }\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\n${providerId} not found in import data!`);\n }\n return response;\n}\n\n/**\n * Import first provider\n * @param {AdminFederationExportInterface} importData import data\n */\nexport async function importFirstAdminFederationProvider({\n importData,\n state,\n}: {\n importData: AdminFederationExportInterface;\n state: State;\n}): Promise<SocialIdpSkeleton> {\n let response = null;\n const errors = [];\n const imported = [];\n for (const idpId of Object.keys(importData.idp)) {\n try {\n response = await putProviderByTypeAndId({\n providerType: importData.idp[idpId]._type._id,\n providerId: idpId,\n providerData: importData.idp[idpId],\n state,\n });\n const configId = `${ADMIN_FED_CONFIG_ID_PREFIX}${idpId}`;\n if (importData.config[configId]) {\n await putConfigEntity({\n entityId: configId,\n entityData: importData.config[configId],\n state,\n });\n }\n imported.push(idpId);\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo providers found in import data!`);\n }\n return response;\n}\n\n/**\n * Import all providers\n * @param {AdminFederationExportInterface} importData import data\n */\nexport async function importAdminFederationProviders({\n importData,\n state,\n}: {\n importData: AdminFederationExportInterface;\n state: State;\n}): Promise<SocialIdpSkeleton[]> {\n const response = [];\n const errors = [];\n const imported = [];\n for (const idpId of Object.keys(importData.idp)) {\n try {\n response.push(\n await putProviderByTypeAndId({\n providerType: importData.idp[idpId]._type._id,\n providerId: idpId,\n providerData: importData.idp[idpId],\n state,\n })\n );\n const configId = `${ADMIN_FED_CONFIG_ID_PREFIX}${idpId}`;\n if (importData.config[configId]) {\n await putConfigEntity({\n entityId: configId,\n entityData: importData.config[configId],\n state,\n });\n }\n imported.push(idpId);\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo providers found in import data!`);\n }\n return response;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AdminFederationOps.js","names":["state","createAdminFederationExportTemplate","getAdminFederationProviders","_asyncToGenerator","getAdminFederationProvider","providerId","putProviderByTypeAndId","providerType","providerData","deleteAdminFederationProvider","exportAdminFederationProvider","exportAdminFederationProviders","importAdminFederationProvider","importData","importFirstAdminFederationProvider","importAdminFederationProviders","exports","default","_default","ADMIN_FED_CONFIG_ID_PREFIX","_ref","meta","getMetadata","config","idp","_x","_getAdminFederationProviders2","apply","arguments","_ref2","result","_getAdminFederationProviders","_x2","_getAdminFederationProvider","_ref3","response","foundProviders","filter","provider","_id","length","Error","concat","_x3","_putProviderByTypeAndId2","_ref4","debugMessage","message","_putProviderByTypeAndId","importError","_importError$response","_importError$response2","_importError$response3","status","data","validAttributes","detail","push","attribute","Object","keys","includes","_x4","_deleteAdminFederationProvider","_ref5","deleteProviderByTypeAndId","_type","_x5","_exportAdminFederationProvider","_ref6","exportData","errors","idpData","idpConfig","getConfigEntity","entityId","error","errorMessages","map","join","_x6","_exportAdminFederationProviders","_ref7","allIdpsData","_x7","_importAdminFederationProvider","_ref8","imported","idpId","configId","putConfigEntity","entityData","_x8","_importFirstAdminFederationProvider","_ref9","_x9","_importAdminFederationProviders","_ref10"],"sources":["../../../src/ops/cloud/AdminFederationOps.ts"],"sourcesContent":["import {\n deleteProviderByTypeAndId,\n getAdminFederationProviders as _getAdminFederationProviders,\n putProviderByTypeAndId as _putProviderByTypeAndId,\n} from '../../api/cloud/AdminFederationProvidersApi';\nimport { ExportMetaData } from '../OpsTypes';\nimport {\n AdminFederationConfigSkeleton,\n SocialIdpSkeleton,\n} from '../../api/ApiTypes';\nimport { getMetadata } from '../utils/ExportImportUtils';\nimport { debugMessage } from '../utils/Console';\nimport { getConfigEntity, putConfigEntity } from '../../api/IdmConfigApi';\nimport { State } from '../../shared/State';\n\nexport type AdminFederation = {\n /**\n * Create an empty idp export template\n * @returns {AdminFederationExportInterface} an empty idp export template\n */\n createAdminFederationExportTemplate(): AdminFederationExportInterface;\n /**\n * Get all admin federation providers\n * @returns {Promise} a promise that resolves to an object containing an array of admin federation providers\n */\n getAdminFederationProviders(): Promise<SocialIdpSkeleton[]>;\n /**\n * Get admin federation provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social admin federation object\n */\n getAdminFederationProvider(providerId: string): Promise<SocialIdpSkeleton>;\n putProviderByTypeAndId(\n providerType: string,\n providerId: string,\n providerData: SocialIdpSkeleton\n ): Promise<SocialIdpSkeleton>;\n /**\n * Delete admin federation provider by id\n * @param {String} providerId admin federation provider id/name\n * @returns {Promise} a promise that resolves to an admin federation provider object\n */\n deleteAdminFederationProvider(providerId: string): Promise<SocialIdpSkeleton>;\n /**\n * Export admin federation provider by id\n * @param {string} providerId provider id/name\n * @returns {Promise<AdminFederationExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\n exportAdminFederationProvider(\n providerId: string\n ): Promise<AdminFederationExportInterface>;\n /**\n * Export all providers\n * @returns {Promise<AdminFederationExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\n exportAdminFederationProviders(): Promise<AdminFederationExportInterface>;\n /**\n * Import admin federation provider by id/name\n * @param {string} providerId provider id/name\n * @param {AdminFederationExportInterface} importData import data\n */\n importAdminFederationProvider(\n providerId: string,\n importData: AdminFederationExportInterface\n ): Promise<SocialIdpSkeleton>;\n /**\n * Import first provider\n * @param {AdminFederationExportInterface} importData import data\n */\n importFirstAdminFederationProvider(\n importData: AdminFederationExportInterface\n ): Promise<SocialIdpSkeleton>;\n /**\n * Import all providers\n * @param {AdminFederationExportInterface} importData import data\n */\n importAdminFederationProviders(\n importData: AdminFederationExportInterface\n ): Promise<SocialIdpSkeleton[]>;\n};\n\nexport default (state: State): AdminFederation => {\n return {\n /**\n * Create an empty idp export template\n * @returns {AdminFederationExportInterface} an empty idp export template\n */\n createAdminFederationExportTemplate(): AdminFederationExportInterface {\n return createAdminFederationExportTemplate({ state });\n },\n\n /**\n * Get all admin federation providers\n * @returns {Promise} a promise that resolves to an object containing an array of admin federation providers\n */\n async getAdminFederationProviders() {\n return getAdminFederationProviders({ state });\n },\n\n /**\n * Get admin federation provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social admin federation object\n */\n async getAdminFederationProvider(providerId: string) {\n return getAdminFederationProvider({ providerId, state });\n },\n\n async putProviderByTypeAndId(\n providerType: string,\n providerId: string,\n providerData: SocialIdpSkeleton\n ) {\n return putProviderByTypeAndId({\n providerType,\n providerId,\n providerData,\n state,\n });\n },\n\n /**\n * Delete admin federation provider by id\n * @param {String} providerId admin federation provider id/name\n * @returns {Promise} a promise that resolves to an admin federation provider object\n */\n async deleteAdminFederationProvider(\n providerId: string\n ): Promise<SocialIdpSkeleton> {\n return deleteAdminFederationProvider({ providerId, state });\n },\n\n /**\n * Export admin federation provider by id\n * @param {string} providerId provider id/name\n * @returns {Promise<AdminFederationExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\n async exportAdminFederationProvider(\n providerId: string\n ): Promise<AdminFederationExportInterface> {\n return exportAdminFederationProvider({ providerId, state });\n },\n\n /**\n * Export all providers\n * @returns {Promise<AdminFederationExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\n async exportAdminFederationProviders(): Promise<AdminFederationExportInterface> {\n return exportAdminFederationProviders({ state });\n },\n\n /**\n * Import admin federation provider by id/name\n * @param {string} providerId provider id/name\n * @param {AdminFederationExportInterface} importData import data\n */\n async importAdminFederationProvider(\n providerId: string,\n importData: AdminFederationExportInterface\n ): Promise<SocialIdpSkeleton> {\n return importAdminFederationProvider({\n providerId,\n importData,\n state,\n });\n },\n\n /**\n * Import first provider\n * @param {AdminFederationExportInterface} importData import data\n */\n async importFirstAdminFederationProvider(\n importData: AdminFederationExportInterface\n ): Promise<SocialIdpSkeleton> {\n return importFirstAdminFederationProvider({\n importData,\n state,\n });\n },\n\n /**\n * Import all providers\n * @param {AdminFederationExportInterface} importData import data\n */\n async importAdminFederationProviders(\n importData: AdminFederationExportInterface\n ): Promise<SocialIdpSkeleton[]> {\n return importAdminFederationProviders({ importData, state });\n },\n };\n};\n\nexport interface AdminFederationExportInterface {\n meta?: ExportMetaData;\n config: Record<string, AdminFederationConfigSkeleton>;\n idp: Record<string, SocialIdpSkeleton>;\n}\n\nconst ADMIN_FED_CONFIG_ID_PREFIX = 'fidc/federation-';\n\n/**\n * Create an empty idp export template\n * @returns {AdminFederationExportInterface} an empty idp export template\n */\nexport function createAdminFederationExportTemplate({\n state,\n}: {\n state: State;\n}): AdminFederationExportInterface {\n return {\n meta: getMetadata({ state }),\n config: {},\n idp: {},\n } as AdminFederationExportInterface;\n}\n\n/**\n * Get all admin federation providers\n * @returns {Promise} a promise that resolves to an object containing an array of admin federation providers\n */\nexport async function getAdminFederationProviders({ state }: { state: State }) {\n const { result } = await _getAdminFederationProviders({ state });\n return result;\n}\n\n/**\n * Get admin federation provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social admin federation object\n */\nexport async function getAdminFederationProvider({\n providerId,\n state,\n}: {\n providerId: string;\n state: State;\n}) {\n const response = await getAdminFederationProviders({ state });\n const foundProviders = response.filter(\n (provider) => provider._id === providerId\n );\n switch (foundProviders.length) {\n case 1:\n return foundProviders[0];\n case 0:\n throw new Error(`Provider '${providerId}' not found`);\n default:\n throw new Error(\n `${foundProviders.length} providers '${providerId}' found`\n );\n }\n}\n\nexport async function putProviderByTypeAndId({\n providerType,\n providerId,\n providerData,\n state,\n}: {\n providerType: string;\n providerId: string;\n providerData: SocialIdpSkeleton;\n state: State;\n}) {\n debugMessage({\n message: `AdminFederationOps.putProviderByTypeAndId: start`,\n state,\n });\n try {\n const response = await _putProviderByTypeAndId({\n providerType,\n providerId,\n providerData,\n state,\n });\n debugMessage({\n message: `AdminFederationOps.putProviderByTypeAndId: end`,\n state,\n });\n return response;\n } catch (importError) {\n if (\n importError.response?.status === 400 &&\n importError.response?.data?.message === 'Invalid attribute specified.'\n ) {\n const { validAttributes } = importError.response.data.detail;\n validAttributes.push('_id', '_type');\n for (const attribute of Object.keys(providerData)) {\n if (!validAttributes.includes(attribute)) {\n debugMessage({\n message: `Removing invalid attribute: ${attribute}`,\n state,\n });\n delete providerData[attribute];\n }\n }\n const response = await _putProviderByTypeAndId({\n providerType,\n providerId,\n providerData,\n state,\n });\n debugMessage({\n message: `AdminFederationOps.putProviderByTypeAndId: end (after retry)`,\n state,\n });\n return response;\n } else {\n // re-throw unhandleable error\n throw importError;\n }\n }\n}\n\n/**\n * Delete admin federation provider by id\n * @param {String} providerId admin federation provider id/name\n * @returns {Promise<SocialIdpSkeleton>} a promise that resolves to an admin federation provider object\n */\nexport async function deleteAdminFederationProvider({\n providerId,\n state,\n}: {\n providerId: string;\n state: State;\n}): Promise<SocialIdpSkeleton> {\n const response = await getAdminFederationProviders({ state });\n const foundProviders = response.filter(\n (provider) => provider._id === providerId\n );\n switch (foundProviders.length) {\n case 1:\n return await deleteProviderByTypeAndId({\n providerType: foundProviders[0]._type._id,\n providerId: foundProviders[0]._id,\n state,\n });\n case 0:\n throw new Error(`Provider '${providerId}' not found`);\n default:\n throw new Error(\n `${foundProviders.length} providers '${providerId}' found`\n );\n }\n}\n\n/**\n * Export admin federation provider by id\n * @param {string} providerId provider id/name\n * @returns {Promise<AdminFederationExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\nexport async function exportAdminFederationProvider({\n providerId,\n state,\n}: {\n providerId: string;\n state: State;\n}): Promise<AdminFederationExportInterface> {\n debugMessage({\n message: `AdminFederationOps.exportAdminFederationProvider: start`,\n state,\n });\n const exportData = createAdminFederationExportTemplate({ state });\n const errors = [];\n try {\n const idpData = await getAdminFederationProvider({ providerId, state });\n exportData.idp[idpData._id] = idpData;\n const idpConfig = await getConfigEntity({\n entityId: `${ADMIN_FED_CONFIG_ID_PREFIX}${providerId}`,\n state,\n });\n exportData.config[idpConfig._id] = idpConfig;\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage({\n message: `AdminFederationOps.exportAdminFederationProvider: end`,\n state,\n });\n return exportData;\n}\n\n/**\n * Export all providers\n * @returns {Promise<AdminFederationExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\nexport async function exportAdminFederationProviders({\n state,\n}: {\n state: State;\n}): Promise<AdminFederationExportInterface> {\n debugMessage({\n message: `AdminFederationOps.exportAdminFederationProviders: start`,\n state,\n });\n const exportData = createAdminFederationExportTemplate({ state });\n const errors = [];\n try {\n const allIdpsData = await getAdminFederationProviders({ state });\n for (const idpData of allIdpsData) {\n try {\n exportData.idp[idpData._id] = idpData;\n const idpConfig = await getConfigEntity({\n entityId: `${ADMIN_FED_CONFIG_ID_PREFIX}${idpData._id}`,\n state,\n });\n exportData.config[idpConfig._id] = idpConfig;\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage({\n message: `AdminFederationOps.exportAdminFederationProviders: end`,\n state,\n });\n return exportData;\n}\n\n/**\n * Import admin federation provider by id/name\n * @param {string} providerId provider id/name\n * @param {AdminFederationExportInterface} importData import data\n */\nexport async function importAdminFederationProvider({\n providerId,\n importData,\n state,\n}: {\n providerId: string;\n importData: AdminFederationExportInterface;\n state: State;\n}): Promise<SocialIdpSkeleton> {\n let response = null;\n const errors = [];\n const imported = [];\n for (const idpId of Object.keys(importData.idp)) {\n if (idpId === providerId) {\n try {\n response = await putProviderByTypeAndId({\n providerType: importData.idp[idpId]._type._id,\n providerId: idpId,\n providerData: importData.idp[idpId],\n state,\n });\n const configId = `${ADMIN_FED_CONFIG_ID_PREFIX}${idpId}`;\n if (importData.config[configId]) {\n await putConfigEntity({\n entityId: configId,\n entityData: importData.config[configId],\n state,\n });\n }\n imported.push(idpId);\n } catch (error) {\n errors.push(error);\n }\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\n${providerId} not found in import data!`);\n }\n return response;\n}\n\n/**\n * Import first provider\n * @param {AdminFederationExportInterface} importData import data\n */\nexport async function importFirstAdminFederationProvider({\n importData,\n state,\n}: {\n importData: AdminFederationExportInterface;\n state: State;\n}): Promise<SocialIdpSkeleton> {\n let response = null;\n const errors = [];\n const imported = [];\n for (const idpId of Object.keys(importData.idp)) {\n try {\n response = await putProviderByTypeAndId({\n providerType: importData.idp[idpId]._type._id,\n providerId: idpId,\n providerData: importData.idp[idpId],\n state,\n });\n const configId = `${ADMIN_FED_CONFIG_ID_PREFIX}${idpId}`;\n if (importData.config[configId]) {\n await putConfigEntity({\n entityId: configId,\n entityData: importData.config[configId],\n state,\n });\n }\n imported.push(idpId);\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo providers found in import data!`);\n }\n return response;\n}\n\n/**\n * Import all providers\n * @param {AdminFederationExportInterface} importData import data\n */\nexport async function importAdminFederationProviders({\n importData,\n state,\n}: {\n importData: AdminFederationExportInterface;\n state: State;\n}): Promise<SocialIdpSkeleton[]> {\n const response = [];\n const errors = [];\n const imported = [];\n for (const idpId of Object.keys(importData.idp)) {\n try {\n response.push(\n await putProviderByTypeAndId({\n providerType: importData.idp[idpId]._type._id,\n providerId: idpId,\n providerData: importData.idp[idpId],\n state,\n })\n );\n const configId = `${ADMIN_FED_CONFIG_ID_PREFIX}${idpId}`;\n if (importData.config[configId]) {\n await putConfigEntity({\n entityId: configId,\n entityData: importData.config[configId],\n state,\n });\n }\n imported.push(idpId);\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo providers found in import data!`);\n }\n return response;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureOps.js","names":["state","getFeatures","_asyncToGenerator","hasFeature","featureId","exports","default","_default","_x","_getFeatures2","apply","arguments","_ref","result","_getFeatures","setFeatures","JSON","parse","stringify","error","_error$response","debugMessage","message","response","data","_x2","_hasFeature","_ref2","featureIds","map","feature","_id","includes"],"sources":["../../../src/ops/cloud/FeatureOps.ts"],"sourcesContent":["import {\n getFeatures as _getFeatures,\n FeatureInterface,\n} from '../../api/cloud/FeatureApi';\nimport State from '../../shared/State';\nimport { debugMessage } from '../utils/Console';\n\nexport default (state: State) => {\n return {\n /**\n * Get all features\n * @returns {Promise<FeatureInterface[]>} a promise that resolves to an array of feature objects\n */\n async getFeatures(): Promise<FeatureInterface[]> {\n return getFeatures({ state });\n },\n\n /**\n * Check if feature is available\n * @param {string} featureId feature id (e.g. 'service-accounts')\n * @returns {Promise<boolean>} a promise that resolves to true if the feature is available and to false otherwise\n */\n async hasFeature(featureId: string): Promise<boolean> {\n return hasFeature({ featureId, state });\n },\n };\n};\n\n/**\n * Get all features\n * @returns {Promise<FeatureInterface[]>} a promise that resolves to an array of feature objects\n */\nexport async function getFeatures({\n state,\n}: {\n state: State;\n}): Promise<FeatureInterface[]> {\n if (typeof state.getFeatures() !== 'undefined') return state.getFeatures();\n try {\n const { result } = await _getFeatures({ state });\n state.setFeatures(JSON.parse(JSON.stringify(result)));\n } catch (error) {\n debugMessage({ message: error.response?.data, state });\n state.setFeatures([]);\n }\n return state.getFeatures();\n}\n\n/**\n * Check if feature is available\n * @param {string} featureId feature id (e.g. 'service-accounts')\n * @returns {Promise<boolean>} a promise that resolves to true if the feature is available and to false otherwise\n */\nexport async function hasFeature({\n featureId,\n state,\n}: {\n featureId: string;\n state: State;\n}): Promise<boolean> {\n if (typeof state.getFeatures() === 'undefined') await getFeatures({ state });\n const featureIds = state.getFeatures().map((feature) => feature._id);\n return featureIds.includes(featureId);\n}\n"],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"FeatureOps.js","names":["state","getFeatures","_asyncToGenerator","hasFeature","featureId","exports","default","_default","_x","_getFeatures2","apply","arguments","_ref","result","_getFeatures","setFeatures","JSON","parse","stringify","error","_error$response","debugMessage","message","response","data","_x2","_hasFeature","_ref2","featureIds","map","feature","_id","includes"],"sources":["../../../src/ops/cloud/FeatureOps.ts"],"sourcesContent":["import {\n getFeatures as _getFeatures,\n FeatureInterface,\n} from '../../api/cloud/FeatureApi';\nimport { State } from '../../shared/State';\nimport { debugMessage } from '../utils/Console';\n\nexport type Feature = {\n /**\n * Get all features\n * @returns {Promise<FeatureInterface[]>} a promise that resolves to an array of feature objects\n */\n getFeatures(): Promise<FeatureInterface[]>;\n /**\n * Check if feature is available\n * @param {string} featureId feature id (e.g. 'service-accounts')\n * @returns {Promise<boolean>} a promise that resolves to true if the feature is available and to false otherwise\n */\n hasFeature(featureId: string): Promise<boolean>;\n};\n\nexport default (state: State): Feature => {\n return {\n /**\n * Get all features\n * @returns {Promise<FeatureInterface[]>} a promise that resolves to an array of feature objects\n */\n async getFeatures(): Promise<FeatureInterface[]> {\n return getFeatures({ state });\n },\n\n /**\n * Check if feature is available\n * @param {string} featureId feature id (e.g. 'service-accounts')\n * @returns {Promise<boolean>} a promise that resolves to true if the feature is available and to false otherwise\n */\n async hasFeature(featureId: string): Promise<boolean> {\n return hasFeature({ featureId, state });\n },\n };\n};\n\n/**\n * Get all features\n * @returns {Promise<FeatureInterface[]>} a promise that resolves to an array of feature objects\n */\nexport async function getFeatures({\n state,\n}: {\n state: State;\n}): Promise<FeatureInterface[]> {\n if (typeof state.getFeatures() !== 'undefined') return state.getFeatures();\n try {\n const { result } = await _getFeatures({ state });\n state.setFeatures(JSON.parse(JSON.stringify(result)));\n } catch (error) {\n debugMessage({ message: error.response?.data, state });\n state.setFeatures([]);\n }\n return state.getFeatures();\n}\n\n/**\n * Check if feature is available\n * @param {string} featureId feature id (e.g. 'service-accounts')\n * @returns {Promise<boolean>} a promise that resolves to true if the feature is available and to false otherwise\n */\nexport async function hasFeature({\n featureId,\n state,\n}: {\n featureId: string;\n state: State;\n}): Promise<boolean> {\n if (typeof state.getFeatures() === 'undefined') await getFeatures({ state });\n const featureIds = state.getFeatures().map((feature) => feature._id);\n return featureIds.includes(featureId);\n}\n"],"mappings":";;;;;;;;;;;;eAqBgBA,KAAY,IAAc;EACxC,OAAO;IACL;AACJ;AACA;AACA;IACUC,WAAWA,CAAA,EAAgC;MAAA,OAAAC,iBAAA;QAC/C,OAAOD,WAAW,CAAC;UAAED;QAAM,CAAC,CAAC;MAAC;IAChC,CAAC;IAED;AACJ;AACA;AACA;AACA;IACUG,UAAUA,CAACC,SAAiB,EAAoB;MAAA,OAAAF,iBAAA;QACpD,OAAOC,UAAU,CAAC;UAAEC,SAAS;UAAEJ;QAAM,CAAC,CAAC;MAAC;IAC1C;EACF,CAAC;AACH,CAAC;AAED;AACA;AACA;AACA;AAHAK,OAAA,CAAAC,OAAA,GAAAC,QAAA;AAAA,SAIsBN,WAAWA,CAAAO,EAAA;EAAA,OAAAC,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAgBjC;AACA;AACA;AACA;AACA;AAJA,SAAAF,cAAA;EAAAA,aAAA,GAAAP,iBAAA,CAhBO,WAAAU,IAAA,EAIyB;IAAA,IAJE;MAChCZ;IAGF,CAAC,GAAAY,IAAA;IACC,IAAI,OAAOZ,KAAK,CAACC,WAAW,CAAC,CAAC,KAAK,WAAW,EAAE,OAAOD,KAAK,CAACC,WAAW,CAAC,CAAC;IAC1E,IAAI;MACF,IAAM;QAAEY;MAAO,CAAC,SAAS,IAAAC,uBAAY,EAAC;QAAEd;MAAM,CAAC,CAAC;MAChDA,KAAK,CAACe,WAAW,CAACC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACL,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,OAAOM,KAAK,EAAE;MAAA,IAAAC,eAAA;MACd,IAAAC,qBAAY,EAAC;QAAEC,OAAO,GAAAF,eAAA,GAAED,KAAK,CAACI,QAAQ,cAAAH,eAAA,uBAAdA,eAAA,CAAgBI,IAAI;QAAExB;MAAM,CAAC,CAAC;MACtDA,KAAK,CAACe,WAAW,CAAC,EAAE,CAAC;IACvB;IACA,OAAOf,KAAK,CAACC,WAAW,CAAC,CAAC;EAC5B,CAAC;EAAA,OAAAQ,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAOqBR,UAAUA,CAAAsB,GAAA;EAAA,OAAAC,WAAA,CAAAhB,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAe,YAAA;EAAAA,WAAA,GAAAxB,iBAAA,CAAzB,WAAAyB,KAAA,EAMc;IAAA,IANY;MAC/BvB,SAAS;MACTJ;IAIF,CAAC,GAAA2B,KAAA;IACC,IAAI,OAAO3B,KAAK,CAACC,WAAW,CAAC,CAAC,KAAK,WAAW,EAAE,MAAMA,WAAW,CAAC;MAAED;IAAM,CAAC,CAAC;IAC5E,IAAM4B,UAAU,GAAG5B,KAAK,CAACC,WAAW,CAAC,CAAC,CAAC4B,GAAG,CAAEC,OAAO,IAAKA,OAAO,CAACC,GAAG,CAAC;IACpE,OAAOH,UAAU,CAACI,QAAQ,CAAC5B,SAAS,CAAC;EACvC,CAAC;EAAA,OAAAsB,WAAA,CAAAhB,KAAA,OAAAC,SAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogOps.js","names":["state","getDefaultNoiseFilter","resolveLevel","level","resolvePayloadLevel","log","getLogSources","_asyncToGenerator","getLogApiKey","keyId","getLogApiKeys","createLogApiKey","keyName","deleteLogApiKey","deleteLogApiKeys","tail","source","cookie","fetch","startTs","endTs","exports","default","_default","unfilterableNoise","miscNoise","journeysNoise","journeys","samlNoise","saml","noise","concat","numLogLevelMap","logLevelMap","SEVERE","ERROR","FATAL","WARN","WARNING","CONFIG","INFO","INFORMATION","DEBUG","FINE","FINER","FINEST","ALL","Number","isNaN","parseInt","type","payload","match","e","_x","_getLogSources","apply","arguments","_ref","sources","getSources","result","_x2","_getLogApiKeys2","_ref2","keys","_getLogApiKeys","_x3","_deleteLogApiKey2","_ref3","key","_deleteLogApiKey","_x4","_deleteLogApiKeys","_ref4","responses","errors","api_key_id","push","error","length","errorMessages","map","message","join","Error"],"sources":["../../../src/ops/cloud/LogOps.ts"],"sourcesContent":["import {\n LogApiKey,\n LogEventPayloadSkeleton,\n LogEventSkeleton,\n PagedResult,\n} from '../../api/ApiTypes';\nimport {\n createLogApiKey,\n deleteLogApiKey as _deleteLogApiKey,\n getLogApiKeys as _getLogApiKeys,\n getSources,\n tail,\n fetch,\n getLogApiKey,\n} from '../../api/cloud/LogApi';\nimport State from '../../shared/State';\n\nexport default (state: State) => {\n return {\n /**\n * Get default noise filter\n * @returns {string[]} array of default event types and loggers to be filtered out\n */\n getDefaultNoiseFilter(): string[] {\n return getDefaultNoiseFilter();\n },\n\n /**\n * Resolve log level to an array of effective log levels\n * @param level string or numeric log level: 'FATAL', 'ERROR', 'WARN', 'INFO', 'DEBUG', 'TRACE', 'ALL', 0, 1, 2, 3, 4\n * @returns {string[]} array of effective log levels\n */\n resolveLevel(level: string | number): string[] {\n return resolveLevel(level);\n },\n\n /**\n * Resolve a log event's level\n * @param {object} log log event\n * @returns {string} log level\n */\n resolvePayloadLevel(log: LogEventSkeleton): string {\n return resolvePayloadLevel(log);\n },\n\n /**\n * Get available log sources\n * @returns {Promise<string[]>} promise resolving to an array of available log sources\n */\n async getLogSources() {\n return getLogSources({ state });\n },\n\n /**\n * Get log api key\n * @returns {Promise<LogApiKey>} promise resolving to a LogApiKey objects\n */\n async getLogApiKey(keyId: string): Promise<LogApiKey> {\n return getLogApiKey({ keyId, state });\n },\n\n /**\n * Get log api keys\n * @returns {Promise<LogApiKey[]>} promise resolving to an array of LogApiKey objects\n */\n async getLogApiKeys(): Promise<LogApiKey[]> {\n return getLogApiKeys({ state });\n },\n\n /**\n * Create log api key\n * @param {string} keyName human-readable key name\n * @returns {Promise<LogApiKey>} a promise resolving to an object containing the log api key and secret\n */\n async createLogApiKey(keyName: string): Promise<LogApiKey> {\n return createLogApiKey({ keyName, state });\n },\n\n /**\n * Delete log api key\n * @param {string} keyId key id\n * @returns {Promise<LogApiKey>} a promise resolving to an object containing the log api key\n */\n async deleteLogApiKey(keyId: string): Promise<LogApiKey> {\n return deleteLogApiKey({ keyId, state });\n },\n\n /**\n * Delete all log api keys\n * @returns {Promise<LogApiKey>} a promise resolving to an array of log api key objects\n */\n async deleteLogApiKeys(): Promise<LogApiKey[]> {\n return deleteLogApiKeys({ state });\n },\n\n /**\n * Tail logs\n * @param {string} source log source(s) to tail\n * @param {string} cookie paged results cookie\n * @returns {Promise<PagedResult<LogEventSkeleton>>} promise resolving to paged log event result\n */\n tail(\n source: string,\n cookie: string\n ): Promise<PagedResult<LogEventSkeleton>> {\n return tail({ source, cookie, state });\n },\n\n /**\n * Fetch logs\n * @param {string} source log source(s) to tail\n * @param {string} startTs start timestamp\n * @param {string} endTs end timestamp\n * @param {string} cookie paged results cookie\n * @returns {Promise<PagedResult<LogEventSkeleton>>} promise resolving to paged log event result\n */\n async fetch(\n source: string,\n startTs: string,\n endTs: string,\n cookie: string\n ): Promise<PagedResult<LogEventSkeleton>> {\n return fetch({ source, startTs, endTs, cookie, state });\n },\n };\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst unfilterableNoise = [\n 'text/plain', // Unfortunately, it is impossible to filter out those without excluding IDM script logging as well\n];\n\nconst miscNoise = [\n 'com.iplanet.dpro.session.operations.ServerSessionOperationStrategy',\n 'com.iplanet.dpro.session.SessionIDFactory',\n 'com.iplanet.dpro.session.share.SessionEncodeURL',\n 'com.iplanet.services.naming.WebtopNaming',\n 'com.iplanet.sso.providers.dpro.SSOProviderImpl',\n 'com.sun.identity.authentication.AuthContext',\n 'com.sun.identity.authentication.client.AuthClientUtils',\n 'com.sun.identity.authentication.config.AMAuthConfigType',\n 'com.sun.identity.authentication.config.AMAuthenticationManager',\n 'com.sun.identity.authentication.config.AMAuthLevelManager',\n 'com.sun.identity.authentication.config.AMConfiguration',\n 'com.sun.identity.authentication.jaas.LoginContext',\n 'com.sun.identity.authentication.modules.application.Application',\n 'com.sun.identity.authentication.server.AuthContextLocal',\n 'com.sun.identity.authentication.service.AMLoginContext',\n 'com.sun.identity.authentication.service.AuthContextLookup',\n 'com.sun.identity.authentication.service.AuthD',\n 'com.sun.identity.authentication.service.AuthUtils',\n 'com.sun.identity.authentication.service.DSAMECallbackHandler',\n 'com.sun.identity.authentication.service.LoginState',\n 'com.sun.identity.authentication.spi.AMLoginModule',\n 'com.sun.identity.delegation.DelegationEvaluatorImpl',\n 'com.sun.identity.idm.plugins.internal.AgentsRepo',\n 'com.sun.identity.idm.server.IdCachedServicesImpl',\n 'com.sun.identity.idm.server.IdRepoPluginsCache',\n 'com.sun.identity.idm.server.IdServicesImpl',\n 'com.sun.identity.log.spi.ISDebug',\n 'com.sun.identity.shared.encode.CookieUtils',\n 'com.sun.identity.sm.ldap.SMSLdapObject',\n 'com.sun.identity.sm.CachedSMSEntry',\n 'com.sun.identity.sm.CachedSubEntries',\n 'com.sun.identity.sm.DNMapper',\n 'com.sun.identity.sm.ServiceConfigImpl',\n 'com.sun.identity.sm.ServiceConfigManagerImpl',\n 'com.sun.identity.sm.SMSEntry',\n 'com.sun.identity.sm.SMSUtils',\n 'com.sun.identity.sm.SmsWrapperObject',\n 'oauth2',\n 'org.apache.http.client.protocol.RequestAuthCache',\n 'org.apache.http.impl.conn.PoolingHttpClientConnectionManager',\n 'org.apache.http.impl.nio.client.InternalHttpAsyncClient',\n 'org.apache.http.impl.nio.client.InternalIODispatch',\n 'org.apache.http.impl.nio.client.MainClientExec',\n 'org.apache.http.impl.nio.conn.ManagedNHttpClientConnectionImpl',\n 'org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager',\n 'org.forgerock.audit.AuditServiceImpl',\n 'org.forgerock.oauth2.core.RealmOAuth2ProviderSettings',\n 'org.forgerock.openam.authentication.service.JAASModuleDetector',\n 'org.forgerock.openam.authentication.service.LoginContextFactory',\n 'org.forgerock.openam.blacklist.BloomFilterBlacklist',\n 'org.forgerock.openam.blacklist.CTSBlacklist',\n 'org.forgerock.openam.core.realms.impl.CachingRealmLookup',\n 'org.forgerock.openam.core.rest.authn.RestAuthCallbackHandlerManager',\n 'org.forgerock.openam.core.rest.authn.trees.AuthTrees',\n 'org.forgerock.openam.cors.CorsFilter',\n 'org.forgerock.openam.cts.CTSPersistentStoreImpl',\n 'org.forgerock.openam.cts.impl.CoreTokenAdapter',\n 'org.forgerock.openam.cts.impl.queue.AsyncResultHandler',\n 'org.forgerock.openam.cts.reaper.ReaperDeleteOnQueryResultHandler',\n 'org.forgerock.openam.headers.DisableSameSiteCookiesFilter',\n 'org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo',\n 'org.forgerock.openam.rest.CsrfFilter',\n 'org.forgerock.openam.rest.restAuthenticationFilter',\n 'org.forgerock.openam.rest.fluent.CrestLoggingFilter',\n 'org.forgerock.openam.session.cts.CtsOperations',\n 'org.forgerock.openam.session.stateless.StatelessSessionManager',\n 'org.forgerock.openam.sm.datalayer.impl.ldap.ExternalLdapConfig',\n 'org.forgerock.openam.sm.datalayer.impl.ldap.LdapQueryBuilder',\n 'org.forgerock.openam.sm.datalayer.impl.SeriesTaskExecutor',\n 'org.forgerock.openam.sm.datalayer.impl.SeriesTaskExecutorThread',\n 'org.forgerock.openam.sm.datalayer.providers.LdapConnectionFactoryProvider',\n 'org.forgerock.openam.sm.file.ConfigFileSystemHandler',\n 'org.forgerock.openam.social.idp.SocialIdentityProviders',\n 'org.forgerock.openam.utils.ClientUtils',\n 'org.forgerock.opendj.ldap.CachedConnectionPool',\n 'org.forgerock.opendj.ldap.LoadBalancer',\n 'org.forgerock.secrets.keystore.KeyStoreSecretStore',\n 'org.forgerock.secrets.propertyresolver.PropertyResolverSecretStore',\n 'org.forgerock.secrets.SecretsProvider',\n];\n\nconst journeysNoise = [\n 'org.forgerock.openam.auth.trees.engine.AuthTreeExecutor',\n];\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst journeys = [\n 'org.forgerock.openam.auth.nodes.SelectIdPNode',\n 'org.forgerock.openam.auth.nodes.ValidatedPasswordNode',\n 'org.forgerock.openam.auth.nodes.ValidatedUsernameNode',\n 'org.forgerock.openam.auth.trees.engine.AuthTreeExecutor',\n];\n\nconst samlNoise = [\n 'com.sun.identity.cot.COTCache',\n 'com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl',\n 'com.sun.identity.saml2.meta.SAML2MetaCache',\n 'com.sun.identity.saml2.profile.CacheCleanUpRunnable',\n 'org.apache.xml.security.keys.KeyInfo',\n 'org.apache.xml.security.signature.XMLSignature',\n 'org.apache.xml.security.utils.SignerOutputStream',\n 'org.apache.xml.security.utils.resolver.ResourceResolver',\n 'org.apache.xml.security.utils.resolver.implementations.ResolverFragment',\n 'org.apache.xml.security.algorithms.JCEMapper',\n 'org.apache.xml.security.algorithms.implementations.SignatureBaseRSA',\n 'org.apache.xml.security.algorithms.SignatureAlgorithm',\n 'org.apache.xml.security.utils.ElementProxy',\n 'org.apache.xml.security.transforms.Transforms',\n 'org.apache.xml.security.utils.DigesterOutputStream',\n 'org.apache.xml.security.signature.Reference',\n 'org.apache.xml.security.signature.Manifest',\n];\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst saml = [\n 'jsp.saml2.spAssertionConsumer',\n 'com.sun.identity.saml.common.SAMLUtils',\n 'com.sun.identity.saml2.common.SAML2Utils',\n 'com.sun.identity.saml2.meta.SAML2MetaManager',\n 'com.sun.identity.saml2.xmlsig.FMSigProvider',\n];\n\nconst noise = miscNoise.concat(samlNoise).concat(journeysNoise);\n\nconst numLogLevelMap = {\n 0: ['SEVERE', 'ERROR', 'FATAL'],\n 1: ['WARNING', 'WARN', 'CONFIG'],\n 2: ['INFO', 'INFORMATION'],\n 3: ['DEBUG', 'FINE', 'FINER', 'FINEST'],\n 4: ['ALL'],\n};\n\nconst logLevelMap = {\n SEVERE: ['SEVERE', 'ERROR', 'FATAL'],\n ERROR: ['SEVERE', 'ERROR', 'FATAL'],\n FATAL: ['SEVERE', 'ERROR', 'FATAL'],\n WARN: ['SEVERE', 'ERROR', 'FATAL', 'WARNING', 'WARN', 'CONFIG'],\n WARNING: ['SEVERE', 'ERROR', 'FATAL', 'WARNING', 'WARN', 'CONFIG'],\n CONFIG: ['SEVERE', 'ERROR', 'FATAL', 'WARNING', 'WARN', 'CONFIG'],\n INFO: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n ],\n INFORMATION: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n ],\n DEBUG: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n FINE: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n FINER: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n FINEST: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n ALL: ['ALL'],\n};\n\n/**\n * Get default noise filter\n * @returns {string[]} array of default event types and loggers to be filtered out\n */\nexport function getDefaultNoiseFilter(): string[] {\n return noise;\n}\n\n/**\n * Resolve log level to an array of effective log levels\n * @param level string or numeric log level: 'FATAL', 'ERROR', 'WARN', 'INFO', 'DEBUG', 'TRACE', 'ALL', 0, 1, 2, 3, 4\n * @returns {string[]} array of effective log levels\n */\nexport function resolveLevel(level: string | number): string[] {\n if (Number.isNaN(parseInt(level as string, 10))) {\n return logLevelMap[level];\n }\n return logLevelMap[numLogLevelMap[level as number][0]];\n}\n\n/**\n * Resolve a log event's level\n * @param {object} log log event\n * @returns {string} log level\n */\nexport function resolvePayloadLevel(log: LogEventSkeleton): string {\n // It seems that the undesirable 'text/plain' logs start with a date, not a LEVEL\n // Therefore, for those, this function returns null, and thus filters out the undesirable\n try {\n return log.type !== 'text/plain'\n ? (log.payload as LogEventPayloadSkeleton).level\n : (log.payload as string).match(/^([^:]*):/)[1];\n } catch (e) {\n // Fail-safe for no group match\n return null;\n }\n}\n\n/**\n * Get available log sources\n * @returns {Promise<string[]>} promise resolving to an array of available log sources\n */\nexport async function getLogSources({ state }: { state: State }) {\n const sources = (await getSources({ state })).result;\n return sources;\n}\n\n/**\n * Get log api keys\n * @returns {Promise<LogApiKey[]>} promise resolving to an array of LogApiKey objects\n */\nexport async function getLogApiKeys({\n state,\n}: {\n state: State;\n}): Promise<LogApiKey[]> {\n const keys = (await _getLogApiKeys({ state })).result;\n return keys;\n}\n\n/**\n * Delete all keys\n */\nexport async function deleteLogApiKey({\n keyId,\n state,\n}: {\n keyId: string;\n state: State;\n}): Promise<LogApiKey> {\n const key = await getLogApiKey({ keyId, state });\n await _deleteLogApiKey({ keyId, state });\n return key;\n}\n\n/**\n * Delete all keys\n */\nexport async function deleteLogApiKeys({\n state,\n}: {\n state: State;\n}): Promise<LogApiKey[]> {\n const responses = [];\n const errors = [];\n try {\n const keys = await getLogApiKeys({ state });\n for (const key of keys) {\n try {\n await deleteLogApiKey({\n keyId: key.api_key_id,\n state,\n });\n responses.push(key);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n return responses;\n}\n\nexport { tail, fetch, createLogApiKey };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LogOps.js","names":["state","getDefaultNoiseFilter","resolveLevel","level","resolvePayloadLevel","log","getLogSources","_asyncToGenerator","getLogApiKey","keyId","getLogApiKeys","createLogApiKey","keyName","deleteLogApiKey","deleteLogApiKeys","tail","source","cookie","fetch","startTs","endTs","exports","default","_default","unfilterableNoise","miscNoise","journeysNoise","journeys","samlNoise","saml","noise","concat","numLogLevelMap","logLevelMap","SEVERE","ERROR","FATAL","WARN","WARNING","CONFIG","INFO","INFORMATION","DEBUG","FINE","FINER","FINEST","ALL","Number","isNaN","parseInt","type","payload","match","e","_x","_getLogSources","apply","arguments","_ref","sources","getSources","result","_x2","_getLogApiKeys2","_ref2","keys","_getLogApiKeys","_x3","_deleteLogApiKey2","_ref3","key","_deleteLogApiKey","_x4","_deleteLogApiKeys","_ref4","responses","errors","api_key_id","push","error","length","errorMessages","map","message","join","Error"],"sources":["../../../src/ops/cloud/LogOps.ts"],"sourcesContent":["import {\n LogApiKey,\n LogEventPayloadSkeleton,\n LogEventSkeleton,\n PagedResult,\n} from '../../api/ApiTypes';\nimport {\n createLogApiKey,\n deleteLogApiKey as _deleteLogApiKey,\n getLogApiKeys as _getLogApiKeys,\n getSources,\n tail,\n fetch,\n getLogApiKey,\n} from '../../api/cloud/LogApi';\nimport { State } from '../../shared/State';\n\nexport type Log = {\n /**\n * Get default noise filter\n * @returns {string[]} array of default event types and loggers to be filtered out\n */\n getDefaultNoiseFilter(): string[];\n /**\n * Resolve log level to an array of effective log levels\n * @param level string or numeric log level: 'FATAL', 'ERROR', 'WARN', 'INFO', 'DEBUG', 'TRACE', 'ALL', 0, 1, 2, 3, 4\n * @returns {string[]} array of effective log levels\n */\n resolveLevel(level: string | number): string[];\n /**\n * Resolve a log event's level\n * @param {object} log log event\n * @returns {string} log level\n */\n resolvePayloadLevel(log: LogEventSkeleton): string;\n /**\n * Get available log sources\n * @returns {Promise<string[]>} promise resolving to an array of available log sources\n */\n getLogSources(): Promise<string[]>;\n /**\n * Get log api key\n * @returns {Promise<LogApiKey>} promise resolving to a LogApiKey objects\n */\n getLogApiKey(keyId: string): Promise<LogApiKey>;\n /**\n * Get log api keys\n * @returns {Promise<LogApiKey[]>} promise resolving to an array of LogApiKey objects\n */\n getLogApiKeys(): Promise<LogApiKey[]>;\n /**\n * Create log api key\n * @param {string} keyName human-readable key name\n * @returns {Promise<LogApiKey>} a promise resolving to an object containing the log api key and secret\n */\n createLogApiKey(keyName: string): Promise<LogApiKey>;\n /**\n * Delete log api key\n * @param {string} keyId key id\n * @returns {Promise<LogApiKey>} a promise resolving to an object containing the log api key\n */\n deleteLogApiKey(keyId: string): Promise<LogApiKey>;\n /**\n * Delete all log api keys\n * @returns {Promise<LogApiKey>} a promise resolving to an array of log api key objects\n */\n deleteLogApiKeys(): Promise<LogApiKey[]>;\n /**\n * Tail logs\n * @param {string} source log source(s) to tail\n * @param {string} cookie paged results cookie\n * @returns {Promise<PagedResult<LogEventSkeleton>>} promise resolving to paged log event result\n */\n tail(source: string, cookie: string): Promise<PagedResult<LogEventSkeleton>>;\n /**\n * Fetch logs\n * @param {string} source log source(s) to tail\n * @param {string} startTs start timestamp\n * @param {string} endTs end timestamp\n * @param {string} cookie paged results cookie\n * @returns {Promise<PagedResult<LogEventSkeleton>>} promise resolving to paged log event result\n */\n fetch(\n source: string,\n startTs: string,\n endTs: string,\n cookie: string\n ): Promise<PagedResult<LogEventSkeleton>>;\n};\n\nexport default (state: State): Log => {\n return {\n /**\n * Get default noise filter\n * @returns {string[]} array of default event types and loggers to be filtered out\n */\n getDefaultNoiseFilter(): string[] {\n return getDefaultNoiseFilter();\n },\n\n /**\n * Resolve log level to an array of effective log levels\n * @param level string or numeric log level: 'FATAL', 'ERROR', 'WARN', 'INFO', 'DEBUG', 'TRACE', 'ALL', 0, 1, 2, 3, 4\n * @returns {string[]} array of effective log levels\n */\n resolveLevel(level: string | number): string[] {\n return resolveLevel(level);\n },\n\n /**\n * Resolve a log event's level\n * @param {object} log log event\n * @returns {string} log level\n */\n resolvePayloadLevel(log: LogEventSkeleton): string {\n return resolvePayloadLevel(log);\n },\n\n /**\n * Get available log sources\n * @returns {Promise<string[]>} promise resolving to an array of available log sources\n */\n async getLogSources() {\n return getLogSources({ state });\n },\n\n /**\n * Get log api key\n * @returns {Promise<LogApiKey>} promise resolving to a LogApiKey objects\n */\n async getLogApiKey(keyId: string): Promise<LogApiKey> {\n return getLogApiKey({ keyId, state });\n },\n\n /**\n * Get log api keys\n * @returns {Promise<LogApiKey[]>} promise resolving to an array of LogApiKey objects\n */\n async getLogApiKeys(): Promise<LogApiKey[]> {\n return getLogApiKeys({ state });\n },\n\n /**\n * Create log api key\n * @param {string} keyName human-readable key name\n * @returns {Promise<LogApiKey>} a promise resolving to an object containing the log api key and secret\n */\n async createLogApiKey(keyName: string): Promise<LogApiKey> {\n return createLogApiKey({ keyName, state });\n },\n\n /**\n * Delete log api key\n * @param {string} keyId key id\n * @returns {Promise<LogApiKey>} a promise resolving to an object containing the log api key\n */\n async deleteLogApiKey(keyId: string): Promise<LogApiKey> {\n return deleteLogApiKey({ keyId, state });\n },\n\n /**\n * Delete all log api keys\n * @returns {Promise<LogApiKey>} a promise resolving to an array of log api key objects\n */\n async deleteLogApiKeys(): Promise<LogApiKey[]> {\n return deleteLogApiKeys({ state });\n },\n\n /**\n * Tail logs\n * @param {string} source log source(s) to tail\n * @param {string} cookie paged results cookie\n * @returns {Promise<PagedResult<LogEventSkeleton>>} promise resolving to paged log event result\n */\n tail(\n source: string,\n cookie: string\n ): Promise<PagedResult<LogEventSkeleton>> {\n return tail({ source, cookie, state });\n },\n\n /**\n * Fetch logs\n * @param {string} source log source(s) to tail\n * @param {string} startTs start timestamp\n * @param {string} endTs end timestamp\n * @param {string} cookie paged results cookie\n * @returns {Promise<PagedResult<LogEventSkeleton>>} promise resolving to paged log event result\n */\n async fetch(\n source: string,\n startTs: string,\n endTs: string,\n cookie: string\n ): Promise<PagedResult<LogEventSkeleton>> {\n return fetch({ source, startTs, endTs, cookie, state });\n },\n };\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst unfilterableNoise = [\n 'text/plain', // Unfortunately, it is impossible to filter out those without excluding IDM script logging as well\n];\n\nconst miscNoise = [\n 'com.iplanet.dpro.session.operations.ServerSessionOperationStrategy',\n 'com.iplanet.dpro.session.SessionIDFactory',\n 'com.iplanet.dpro.session.share.SessionEncodeURL',\n 'com.iplanet.services.naming.WebtopNaming',\n 'com.iplanet.sso.providers.dpro.SSOProviderImpl',\n 'com.sun.identity.authentication.AuthContext',\n 'com.sun.identity.authentication.client.AuthClientUtils',\n 'com.sun.identity.authentication.config.AMAuthConfigType',\n 'com.sun.identity.authentication.config.AMAuthenticationManager',\n 'com.sun.identity.authentication.config.AMAuthLevelManager',\n 'com.sun.identity.authentication.config.AMConfiguration',\n 'com.sun.identity.authentication.jaas.LoginContext',\n 'com.sun.identity.authentication.modules.application.Application',\n 'com.sun.identity.authentication.server.AuthContextLocal',\n 'com.sun.identity.authentication.service.AMLoginContext',\n 'com.sun.identity.authentication.service.AuthContextLookup',\n 'com.sun.identity.authentication.service.AuthD',\n 'com.sun.identity.authentication.service.AuthUtils',\n 'com.sun.identity.authentication.service.DSAMECallbackHandler',\n 'com.sun.identity.authentication.service.LoginState',\n 'com.sun.identity.authentication.spi.AMLoginModule',\n 'com.sun.identity.delegation.DelegationEvaluatorImpl',\n 'com.sun.identity.idm.plugins.internal.AgentsRepo',\n 'com.sun.identity.idm.server.IdCachedServicesImpl',\n 'com.sun.identity.idm.server.IdRepoPluginsCache',\n 'com.sun.identity.idm.server.IdServicesImpl',\n 'com.sun.identity.log.spi.ISDebug',\n 'com.sun.identity.shared.encode.CookieUtils',\n 'com.sun.identity.sm.ldap.SMSLdapObject',\n 'com.sun.identity.sm.CachedSMSEntry',\n 'com.sun.identity.sm.CachedSubEntries',\n 'com.sun.identity.sm.DNMapper',\n 'com.sun.identity.sm.ServiceConfigImpl',\n 'com.sun.identity.sm.ServiceConfigManagerImpl',\n 'com.sun.identity.sm.SMSEntry',\n 'com.sun.identity.sm.SMSUtils',\n 'com.sun.identity.sm.SmsWrapperObject',\n 'oauth2',\n 'org.apache.http.client.protocol.RequestAuthCache',\n 'org.apache.http.impl.conn.PoolingHttpClientConnectionManager',\n 'org.apache.http.impl.nio.client.InternalHttpAsyncClient',\n 'org.apache.http.impl.nio.client.InternalIODispatch',\n 'org.apache.http.impl.nio.client.MainClientExec',\n 'org.apache.http.impl.nio.conn.ManagedNHttpClientConnectionImpl',\n 'org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager',\n 'org.forgerock.audit.AuditServiceImpl',\n 'org.forgerock.oauth2.core.RealmOAuth2ProviderSettings',\n 'org.forgerock.openam.authentication.service.JAASModuleDetector',\n 'org.forgerock.openam.authentication.service.LoginContextFactory',\n 'org.forgerock.openam.blacklist.BloomFilterBlacklist',\n 'org.forgerock.openam.blacklist.CTSBlacklist',\n 'org.forgerock.openam.core.realms.impl.CachingRealmLookup',\n 'org.forgerock.openam.core.rest.authn.RestAuthCallbackHandlerManager',\n 'org.forgerock.openam.core.rest.authn.trees.AuthTrees',\n 'org.forgerock.openam.cors.CorsFilter',\n 'org.forgerock.openam.cts.CTSPersistentStoreImpl',\n 'org.forgerock.openam.cts.impl.CoreTokenAdapter',\n 'org.forgerock.openam.cts.impl.queue.AsyncResultHandler',\n 'org.forgerock.openam.cts.reaper.ReaperDeleteOnQueryResultHandler',\n 'org.forgerock.openam.headers.DisableSameSiteCookiesFilter',\n 'org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo',\n 'org.forgerock.openam.rest.CsrfFilter',\n 'org.forgerock.openam.rest.restAuthenticationFilter',\n 'org.forgerock.openam.rest.fluent.CrestLoggingFilter',\n 'org.forgerock.openam.session.cts.CtsOperations',\n 'org.forgerock.openam.session.stateless.StatelessSessionManager',\n 'org.forgerock.openam.sm.datalayer.impl.ldap.ExternalLdapConfig',\n 'org.forgerock.openam.sm.datalayer.impl.ldap.LdapQueryBuilder',\n 'org.forgerock.openam.sm.datalayer.impl.SeriesTaskExecutor',\n 'org.forgerock.openam.sm.datalayer.impl.SeriesTaskExecutorThread',\n 'org.forgerock.openam.sm.datalayer.providers.LdapConnectionFactoryProvider',\n 'org.forgerock.openam.sm.file.ConfigFileSystemHandler',\n 'org.forgerock.openam.social.idp.SocialIdentityProviders',\n 'org.forgerock.openam.utils.ClientUtils',\n 'org.forgerock.opendj.ldap.CachedConnectionPool',\n 'org.forgerock.opendj.ldap.LoadBalancer',\n 'org.forgerock.secrets.keystore.KeyStoreSecretStore',\n 'org.forgerock.secrets.propertyresolver.PropertyResolverSecretStore',\n 'org.forgerock.secrets.SecretsProvider',\n];\n\nconst journeysNoise = [\n 'org.forgerock.openam.auth.trees.engine.AuthTreeExecutor',\n];\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst journeys = [\n 'org.forgerock.openam.auth.nodes.SelectIdPNode',\n 'org.forgerock.openam.auth.nodes.ValidatedPasswordNode',\n 'org.forgerock.openam.auth.nodes.ValidatedUsernameNode',\n 'org.forgerock.openam.auth.trees.engine.AuthTreeExecutor',\n];\n\nconst samlNoise = [\n 'com.sun.identity.cot.COTCache',\n 'com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl',\n 'com.sun.identity.saml2.meta.SAML2MetaCache',\n 'com.sun.identity.saml2.profile.CacheCleanUpRunnable',\n 'org.apache.xml.security.keys.KeyInfo',\n 'org.apache.xml.security.signature.XMLSignature',\n 'org.apache.xml.security.utils.SignerOutputStream',\n 'org.apache.xml.security.utils.resolver.ResourceResolver',\n 'org.apache.xml.security.utils.resolver.implementations.ResolverFragment',\n 'org.apache.xml.security.algorithms.JCEMapper',\n 'org.apache.xml.security.algorithms.implementations.SignatureBaseRSA',\n 'org.apache.xml.security.algorithms.SignatureAlgorithm',\n 'org.apache.xml.security.utils.ElementProxy',\n 'org.apache.xml.security.transforms.Transforms',\n 'org.apache.xml.security.utils.DigesterOutputStream',\n 'org.apache.xml.security.signature.Reference',\n 'org.apache.xml.security.signature.Manifest',\n];\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst saml = [\n 'jsp.saml2.spAssertionConsumer',\n 'com.sun.identity.saml.common.SAMLUtils',\n 'com.sun.identity.saml2.common.SAML2Utils',\n 'com.sun.identity.saml2.meta.SAML2MetaManager',\n 'com.sun.identity.saml2.xmlsig.FMSigProvider',\n];\n\nconst noise = miscNoise.concat(samlNoise).concat(journeysNoise);\n\nconst numLogLevelMap = {\n 0: ['SEVERE', 'ERROR', 'FATAL'],\n 1: ['WARNING', 'WARN', 'CONFIG'],\n 2: ['INFO', 'INFORMATION'],\n 3: ['DEBUG', 'FINE', 'FINER', 'FINEST'],\n 4: ['ALL'],\n};\n\nconst logLevelMap = {\n SEVERE: ['SEVERE', 'ERROR', 'FATAL'],\n ERROR: ['SEVERE', 'ERROR', 'FATAL'],\n FATAL: ['SEVERE', 'ERROR', 'FATAL'],\n WARN: ['SEVERE', 'ERROR', 'FATAL', 'WARNING', 'WARN', 'CONFIG'],\n WARNING: ['SEVERE', 'ERROR', 'FATAL', 'WARNING', 'WARN', 'CONFIG'],\n CONFIG: ['SEVERE', 'ERROR', 'FATAL', 'WARNING', 'WARN', 'CONFIG'],\n INFO: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n ],\n INFORMATION: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n ],\n DEBUG: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n FINE: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n FINER: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n FINEST: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n ALL: ['ALL'],\n};\n\n/**\n * Get default noise filter\n * @returns {string[]} array of default event types and loggers to be filtered out\n */\nexport function getDefaultNoiseFilter(): string[] {\n return noise;\n}\n\n/**\n * Resolve log level to an array of effective log levels\n * @param level string or numeric log level: 'FATAL', 'ERROR', 'WARN', 'INFO', 'DEBUG', 'TRACE', 'ALL', 0, 1, 2, 3, 4\n * @returns {string[]} array of effective log levels\n */\nexport function resolveLevel(level: string | number): string[] {\n if (Number.isNaN(parseInt(level as string, 10))) {\n return logLevelMap[level];\n }\n return logLevelMap[numLogLevelMap[level as number][0]];\n}\n\n/**\n * Resolve a log event's level\n * @param {object} log log event\n * @returns {string} log level\n */\nexport function resolvePayloadLevel(log: LogEventSkeleton): string {\n // It seems that the undesirable 'text/plain' logs start with a date, not a LEVEL\n // Therefore, for those, this function returns null, and thus filters out the undesirable\n try {\n return log.type !== 'text/plain'\n ? (log.payload as LogEventPayloadSkeleton).level\n : (log.payload as string).match(/^([^:]*):/)[1];\n } catch (e) {\n // Fail-safe for no group match\n return null;\n }\n}\n\n/**\n * Get available log sources\n * @returns {Promise<string[]>} promise resolving to an array of available log sources\n */\nexport async function getLogSources({ state }: { state: State }) {\n const sources = (await getSources({ state })).result;\n return sources;\n}\n\n/**\n * Get log api keys\n * @returns {Promise<LogApiKey[]>} promise resolving to an array of LogApiKey objects\n */\nexport async function getLogApiKeys({\n state,\n}: {\n state: State;\n}): Promise<LogApiKey[]> {\n const keys = (await _getLogApiKeys({ state })).result;\n return keys;\n}\n\n/**\n * Delete all keys\n */\nexport async function deleteLogApiKey({\n keyId,\n state,\n}: {\n keyId: string;\n state: State;\n}): Promise<LogApiKey> {\n const key = await getLogApiKey({ keyId, state });\n await _deleteLogApiKey({ keyId, state });\n return key;\n}\n\n/**\n * Delete all keys\n */\nexport async function deleteLogApiKeys({\n state,\n}: {\n state: State;\n}): Promise<LogApiKey[]> {\n const responses = [];\n const errors = [];\n try {\n const keys = await getLogApiKeys({ state });\n for (const key of keys) {\n try {\n await deleteLogApiKey({\n keyId: key.api_key_id,\n state,\n });\n responses.push(key);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n return responses;\n}\n\nexport { tail, fetch, createLogApiKey };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecretsOps.js","names":["state","getSecrets","_asyncToGenerator","getSecret","secretId","putSecret","value","description","_arguments","arguments","encoding","length","undefined","useInPlaceholders","setSecretDescription","deleteSecret","getSecretVersions","createNewVersionOfSecret","getVersionOfSecret","version","setStatusOfVersionOfSecret","status","deleteVersionOfSecret","exports","default","_default"],"sources":["../../../src/ops/cloud/SecretsOps.ts"],"sourcesContent":["import { VersionOfSecretStatus } from '../../api/ApiTypes';\nimport {\n createNewVersionOfSecret,\n deleteSecret,\n deleteVersionOfSecret,\n getSecret,\n getSecrets,\n getSecretVersions,\n getVersionOfSecret,\n putSecret,\n setSecretDescription,\n setStatusOfVersionOfSecret,\n} from '../../api/cloud/SecretsApi';\nimport State from '../../shared/State';\n\nexport default (state: State) => {\n return {\n /**\n * Get all secrets\n * @returns {Promise<unknown[]>} a promise that resolves to an array of secrets\n */\n async getSecrets() {\n return getSecrets({ state });\n },\n\n /**\n * Get secret\n * @param secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to a secret\n */\n async getSecret(secretId: string) {\n return getSecret({ secretId, state });\n },\n\n /**\n * Create secret\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @param {string} description secret description\n * @param {string} encoding secret encoding (only `generic` is supported)\n * @param {boolean} useInPlaceholders flag indicating if the secret can be used in placeholders\n * @returns {Promise<unknown>} a promise that resolves to a secret\n */\n async putSecret(\n secretId: string,\n value: string,\n description: string,\n encoding = 'generic',\n useInPlaceholders = true\n ) {\n return putSecret({\n secretId,\n value,\n description,\n encoding,\n useInPlaceholders,\n state,\n });\n },\n\n /**\n * Set secret description\n * @param {string} secretId secret id/name\n * @param {string} description secret description\n * @returns {Promise<unknown>} a promise that resolves to a status object\n */\n async setSecretDescription(secretId: string, description: string) {\n return setSecretDescription({ secretId, description, state });\n },\n\n /**\n * Delete secret\n * @param {string} secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to a secret object\n */\n async deleteSecret(secretId: string) {\n return deleteSecret({ secretId, state });\n },\n\n /**\n * Get secret versions\n * @param {string} secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to an array of secret versions\n */\n async getSecretVersions(secretId: string) {\n return getSecretVersions({ secretId, state });\n },\n\n /**\n * Create new secret version\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\n async createNewVersionOfSecret(secretId: string, value: string) {\n return createNewVersionOfSecret({ secretId, value, state });\n },\n\n /**\n * Get version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\n async getVersionOfSecret(secretId: string, version: string) {\n return getVersionOfSecret({ secretId, version, state });\n },\n\n /**\n * Update the status of a version of a secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @param {VersionOfSecretStatus} status status\n * @returns {Promise<unknown>} a promise that resolves to a status object\n */\n async setStatusOfVersionOfSecret(\n secretId: string,\n version: string,\n status: VersionOfSecretStatus\n ) {\n return setStatusOfVersionOfSecret({\n secretId,\n version,\n status,\n state,\n });\n },\n\n /**\n * Delete version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\n async deleteVersionOfSecret(secretId: string, version: string) {\n return deleteVersionOfSecret({ secretId, version, state });\n },\n };\n};\n\nexport {\n createNewVersionOfSecret,\n deleteSecret,\n deleteVersionOfSecret,\n getSecret,\n getSecrets,\n getSecretVersions,\n putSecret,\n setSecretDescription,\n setStatusOfVersionOfSecret,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SecretsOps.js","names":["state","getSecrets","_asyncToGenerator","getSecret","secretId","putSecret","value","description","_arguments","arguments","encoding","length","undefined","useInPlaceholders","setSecretDescription","deleteSecret","getSecretVersions","createNewVersionOfSecret","getVersionOfSecret","version","setStatusOfVersionOfSecret","status","deleteVersionOfSecret","exports","default","_default"],"sources":["../../../src/ops/cloud/SecretsOps.ts"],"sourcesContent":["import { VersionOfSecretStatus } from '../../api/ApiTypes';\nimport {\n createNewVersionOfSecret,\n deleteSecret,\n deleteVersionOfSecret,\n getSecret,\n getSecrets,\n getSecretVersions,\n getVersionOfSecret,\n putSecret,\n setSecretDescription,\n setStatusOfVersionOfSecret,\n} from '../../api/cloud/SecretsApi';\nimport { State } from '../../shared/State';\n\nexport type Secret = {\n /**\n * Get all secrets\n * @returns {Promise<unknown[]>} a promise that resolves to an array of secrets\n */\n getSecrets(): Promise<any>;\n /**\n * Get secret\n * @param secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to a secret\n */\n getSecret(secretId: string): Promise<any>;\n /**\n * Create secret\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @param {string} description secret description\n * @param {string} encoding secret encoding (only `generic` is supported)\n * @param {boolean} useInPlaceholders flag indicating if the secret can be used in placeholders\n * @returns {Promise<unknown>} a promise that resolves to a secret\n */\n putSecret(\n secretId: string,\n value: string,\n description: string,\n encoding?: string,\n useInPlaceholders?: boolean\n ): Promise<any>;\n /**\n * Set secret description\n * @param {string} secretId secret id/name\n * @param {string} description secret description\n * @returns {Promise<unknown>} a promise that resolves to a status object\n */\n setSecretDescription(secretId: string, description: string): Promise<any>;\n /**\n * Delete secret\n * @param {string} secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to a secret object\n */\n deleteSecret(secretId: string): Promise<any>;\n /**\n * Get secret versions\n * @param {string} secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to an array of secret versions\n */\n getSecretVersions(secretId: string): Promise<any>;\n /**\n * Create new secret version\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\n createNewVersionOfSecret(secretId: string, value: string): Promise<any>;\n /**\n * Get version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\n getVersionOfSecret(secretId: string, version: string): Promise<any>;\n /**\n * Update the status of a version of a secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @param {VersionOfSecretStatus} status status\n * @returns {Promise<unknown>} a promise that resolves to a status object\n */\n setStatusOfVersionOfSecret(\n secretId: string,\n version: string,\n status: VersionOfSecretStatus\n ): Promise<any>;\n /**\n * Delete version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\n deleteVersionOfSecret(secretId: string, version: string): Promise<any>;\n};\n\nexport default (state: State): Secret => {\n return {\n /**\n * Get all secrets\n * @returns {Promise<unknown[]>} a promise that resolves to an array of secrets\n */\n async getSecrets() {\n return getSecrets({ state });\n },\n\n /**\n * Get secret\n * @param secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to a secret\n */\n async getSecret(secretId: string) {\n return getSecret({ secretId, state });\n },\n\n /**\n * Create secret\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @param {string} description secret description\n * @param {string} encoding secret encoding (only `generic` is supported)\n * @param {boolean} useInPlaceholders flag indicating if the secret can be used in placeholders\n * @returns {Promise<unknown>} a promise that resolves to a secret\n */\n async putSecret(\n secretId: string,\n value: string,\n description: string,\n encoding = 'generic',\n useInPlaceholders = true\n ) {\n return putSecret({\n secretId,\n value,\n description,\n encoding,\n useInPlaceholders,\n state,\n });\n },\n\n /**\n * Set secret description\n * @param {string} secretId secret id/name\n * @param {string} description secret description\n * @returns {Promise<unknown>} a promise that resolves to a status object\n */\n async setSecretDescription(secretId: string, description: string) {\n return setSecretDescription({ secretId, description, state });\n },\n\n /**\n * Delete secret\n * @param {string} secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to a secret object\n */\n async deleteSecret(secretId: string) {\n return deleteSecret({ secretId, state });\n },\n\n /**\n * Get secret versions\n * @param {string} secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to an array of secret versions\n */\n async getSecretVersions(secretId: string) {\n return getSecretVersions({ secretId, state });\n },\n\n /**\n * Create new secret version\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\n async createNewVersionOfSecret(secretId: string, value: string) {\n return createNewVersionOfSecret({ secretId, value, state });\n },\n\n /**\n * Get version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\n async getVersionOfSecret(secretId: string, version: string) {\n return getVersionOfSecret({ secretId, version, state });\n },\n\n /**\n * Update the status of a version of a secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @param {VersionOfSecretStatus} status status\n * @returns {Promise<unknown>} a promise that resolves to a status object\n */\n async setStatusOfVersionOfSecret(\n secretId: string,\n version: string,\n status: VersionOfSecretStatus\n ) {\n return setStatusOfVersionOfSecret({\n secretId,\n version,\n status,\n state,\n });\n },\n\n /**\n * Delete version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\n async deleteVersionOfSecret(secretId: string, version: string) {\n return deleteVersionOfSecret({ secretId, version, state });\n },\n };\n};\n\nexport {\n createNewVersionOfSecret,\n deleteSecret,\n deleteVersionOfSecret,\n getSecret,\n getSecrets,\n getSecretVersions,\n putSecret,\n setSecretDescription,\n setStatusOfVersionOfSecret,\n};\n"],"mappings":"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"}
|
|
@@ -50,7 +50,7 @@ var _default = state => {
|
|
|
50
50
|
/**
|
|
51
51
|
* Get service account
|
|
52
52
|
* @param {string} serviceAccountId service account id
|
|
53
|
-
* @returns {Promise<
|
|
53
|
+
* @returns {Promise<ServiceAccountType>} a promise resolving to a service account object
|
|
54
54
|
*/
|
|
55
55
|
getServiceAccount(serviceAccountId) {
|
|
56
56
|
return _asyncToGenerator(function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceAccountOps.js","names":["state","isServiceAccountsFeatureAvailable","_asyncToGenerator","createServiceAccount","name","description","accountStatus","scopes","jwks","getServiceAccount","serviceAccountId","exports","default","_default","moType","_x","_isServiceAccountsFeatureAvailable","apply","arguments","_ref","debugMessage","message","featureAvailable","hasFeature","featureId","concat","_x2","_createServiceAccount","_ref2","payload","JSON","stringify","result","createManagedObject","getTenantURL","getHost","_x3","_getServiceAccount","_ref3","serviceAccount","getManagedObject","baseUrl","type","id","fields"],"sources":["../../../src/ops/cloud/ServiceAccountOps.ts"],"sourcesContent":["import {\n createManagedObject,\n getManagedObject,\n} from '../../api/ManagedObjectApi';\nimport { JwksInterface } from '../JoseOps';\nimport { IdObjectSkeletonInterface } from '../../api/ApiTypes';\nimport { debugMessage } from '../utils/Console';\nimport { hasFeature } from './FeatureOps';\nimport { getTenantURL } from '../../api/utils/ApiUtils';\nimport State from '../../shared/State';\n\nexport default (state: State) => {\n return {\n /**\n * Check if service accounts are available\n * @returns {Promise<boolean>} true if service accounts are available, false otherwise\n */\n async isServiceAccountsFeatureAvailable(): Promise<boolean> {\n return isServiceAccountsFeatureAvailable({ state });\n },\n\n /**\n * Create service account\n * @param {string} name Human-readable name of service account\n * @param {string} description Description of service account\n * @param {'Active' | 'Inactive'} accountStatus Service account status\n * @param {string[]} scopes Scopes.\n * @param {JwksInterface} jwks Java Web Key Set\n * @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object\n */\n async createServiceAccount(\n name: string,\n description: string,\n accountStatus: 'Active' | 'Inactive',\n scopes: string[],\n jwks: JwksInterface\n ): Promise<IdObjectSkeletonInterface> {\n return createServiceAccount({\n name,\n description,\n accountStatus,\n scopes,\n jwks,\n state,\n });\n },\n\n /**\n * Get service account\n * @param {string} serviceAccountId service account id\n * @returns {Promise<
|
|
1
|
+
{"version":3,"file":"ServiceAccountOps.js","names":["state","isServiceAccountsFeatureAvailable","_asyncToGenerator","createServiceAccount","name","description","accountStatus","scopes","jwks","getServiceAccount","serviceAccountId","exports","default","_default","moType","_x","_isServiceAccountsFeatureAvailable","apply","arguments","_ref","debugMessage","message","featureAvailable","hasFeature","featureId","concat","_x2","_createServiceAccount","_ref2","payload","JSON","stringify","result","createManagedObject","getTenantURL","getHost","_x3","_getServiceAccount","_ref3","serviceAccount","getManagedObject","baseUrl","type","id","fields"],"sources":["../../../src/ops/cloud/ServiceAccountOps.ts"],"sourcesContent":["import {\n createManagedObject,\n getManagedObject,\n} from '../../api/ManagedObjectApi';\nimport { JwksInterface } from '../JoseOps';\nimport { IdObjectSkeletonInterface } from '../../api/ApiTypes';\nimport { debugMessage } from '../utils/Console';\nimport { hasFeature } from './FeatureOps';\nimport { getTenantURL } from '../../api/utils/ApiUtils';\nimport { State } from '../../shared/State';\n\nexport type ServiceAccount = {\n /**\n * Check if service accounts are available\n * @returns {Promise<boolean>} true if service accounts are available, false otherwise\n */\n isServiceAccountsFeatureAvailable(): Promise<boolean>;\n /**\n * Create service account\n * @param {string} name Human-readable name of service account\n * @param {string} description Description of service account\n * @param {'Active' | 'Inactive'} accountStatus Service account status\n * @param {string[]} scopes Scopes.\n * @param {JwksInterface} jwks Java Web Key Set\n * @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object\n */\n createServiceAccount(\n name: string,\n description: string,\n accountStatus: 'Active' | 'Inactive',\n scopes: string[],\n jwks: JwksInterface\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Get service account\n * @param {string} serviceAccountId service account id\n * @returns {Promise<ServiceAccountType>} a promise resolving to a service account object\n */\n getServiceAccount(serviceAccountId: string): Promise<ServiceAccountType>;\n};\n\nexport default (state: State): ServiceAccount => {\n return {\n /**\n * Check if service accounts are available\n * @returns {Promise<boolean>} true if service accounts are available, false otherwise\n */\n async isServiceAccountsFeatureAvailable(): Promise<boolean> {\n return isServiceAccountsFeatureAvailable({ state });\n },\n\n /**\n * Create service account\n * @param {string} name Human-readable name of service account\n * @param {string} description Description of service account\n * @param {'Active' | 'Inactive'} accountStatus Service account status\n * @param {string[]} scopes Scopes.\n * @param {JwksInterface} jwks Java Web Key Set\n * @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object\n */\n async createServiceAccount(\n name: string,\n description: string,\n accountStatus: 'Active' | 'Inactive',\n scopes: string[],\n jwks: JwksInterface\n ): Promise<IdObjectSkeletonInterface> {\n return createServiceAccount({\n name,\n description,\n accountStatus,\n scopes,\n jwks,\n state,\n });\n },\n\n /**\n * Get service account\n * @param {string} serviceAccountId service account id\n * @returns {Promise<ServiceAccountType>} a promise resolving to a service account object\n */\n async getServiceAccount(serviceAccountId: string) {\n return getServiceAccount({ serviceAccountId, state });\n },\n };\n};\n\nconst moType = 'svcacct';\n\nexport interface ServiceAccountPayloadInterface {\n name: string;\n description: string;\n accountStatus: 'Active' | 'Inactive';\n scopes: string[];\n jwks: string;\n}\n\nexport type ServiceAccountType = IdObjectSkeletonInterface &\n ServiceAccountPayloadInterface;\n\n/**\n * Check if service accounts are available\n * @returns {Promise<boolean>} true if service accounts are available, false otherwise\n */\nexport async function isServiceAccountsFeatureAvailable({\n state,\n}: {\n state: State;\n}): Promise<boolean> {\n debugMessage({\n message: `ServiceAccountOps.isServiceAccountsFeatureAvailable: start`,\n state,\n });\n const featureAvailable = await hasFeature({\n featureId: 'service-accounts',\n state,\n });\n debugMessage({\n message: `ServiceAccountOps.isServiceAccountsFeatureAvailable: end, available=${featureAvailable}`,\n state,\n });\n return featureAvailable;\n}\n\n/**\n * Create service account\n * @param {string} name Human-readable name of service account\n * @param {string} description Description of service account\n * @param {'Active' | 'Inactive'} accountStatus Service account status\n * @param {string[]} scopes Scopes.\n * @param {JwksInterface} jwks Java Web Key Set\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object\n */\nexport async function createServiceAccount({\n name,\n description,\n accountStatus,\n scopes,\n jwks,\n state,\n}: {\n name: string;\n description: string;\n accountStatus: 'Active' | 'Inactive';\n scopes: string[];\n jwks: JwksInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n debugMessage({\n message: `ServiceAccountOps.createServiceAccount: start`,\n state,\n });\n const payload: ServiceAccountPayloadInterface = {\n name,\n description,\n accountStatus,\n scopes,\n jwks: JSON.stringify(jwks),\n };\n debugMessage({\n message: `ServiceAccountOps: createServiceAccount: payload:`,\n state,\n });\n debugMessage({ message: payload, state });\n const result = await createManagedObject(\n getTenantURL(state.getHost()),\n moType,\n payload,\n state\n );\n debugMessage({\n message: `ServiceAccountOps.createServiceAccount: end`,\n state,\n });\n return result;\n}\n\n/**\n * Get service account\n * @param {string} serviceAccountId service account id\n * @param {State} state library state\n * @returns {Promise} a promise resolving to a service account object\n */\nexport async function getServiceAccount({\n serviceAccountId,\n state,\n}: {\n serviceAccountId: string;\n state: State;\n}) {\n const serviceAccount = await getManagedObject({\n baseUrl: getTenantURL(state.getHost()),\n type: moType,\n id: serviceAccountId,\n fields: ['*'],\n state,\n });\n return serviceAccount as ServiceAccountType;\n}\n"],"mappings":"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"}
|