@rockcarver/frodo-lib 0.19.2 → 2.0.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -1
- package/cjs/api/AgentApi.js +91 -37
- package/cjs/api/AgentApi.js.map +1 -1
- package/cjs/api/AgentApi.test.js.map +1 -1
- package/cjs/api/ApiTypes.js.map +1 -1
- package/cjs/api/AuthenticateApi.js +18 -11
- package/cjs/api/AuthenticateApi.js.map +1 -1
- package/cjs/api/AuthenticateApi.test.js.map +1 -1
- package/cjs/api/BaseApi.js +50 -26
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/CirclesOfTrustApi.js +47 -23
- package/cjs/api/CirclesOfTrustApi.js.map +1 -1
- package/cjs/api/IdmConfigApi.js +54 -21
- package/cjs/api/IdmConfigApi.js.map +1 -1
- package/cjs/api/IdmSystemApi.js +9 -6
- package/cjs/api/IdmSystemApi.js.map +1 -1
- package/cjs/api/ManagedObjectApi.js +49 -27
- package/cjs/api/ManagedObjectApi.js.map +1 -1
- package/cjs/api/NodeApi.js +71 -32
- package/cjs/api/NodeApi.js.map +1 -1
- package/cjs/api/NodeApi.test.js.map +1 -1
- package/cjs/api/OAuth2ClientApi.js +43 -20
- package/cjs/api/OAuth2ClientApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.js +74 -27
- package/cjs/api/OAuth2OIDCApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.test.js.map +1 -1
- package/cjs/api/OAuth2ProviderApi.js +10 -9
- package/cjs/api/OAuth2ProviderApi.js.map +1 -1
- package/cjs/api/PoliciesApi.js +54 -22
- package/cjs/api/PoliciesApi.js.map +1 -1
- package/cjs/api/PoliciesApi.test.js.map +1 -1
- package/cjs/api/PolicySetApi.js +54 -23
- package/cjs/api/PolicySetApi.js.map +1 -1
- package/cjs/api/PolicySetApi.test.js.map +1 -1
- package/cjs/api/RealmApi.js +73 -29
- package/cjs/api/RealmApi.js.map +1 -1
- package/cjs/api/ResourceTypesApi.js +67 -28
- package/cjs/api/ResourceTypesApi.js.map +1 -1
- package/cjs/api/ResourceTypesApi.test.js.map +1 -1
- package/cjs/api/Saml2Api.js +90 -122
- package/cjs/api/Saml2Api.js.map +1 -1
- package/cjs/api/ScriptApi.js +54 -23
- package/cjs/api/ScriptApi.js.map +1 -1
- package/cjs/api/ServerInfoApi.js +23 -10
- package/cjs/api/ServerInfoApi.js.map +1 -1
- package/cjs/api/ServiceApi.js +91 -42
- package/cjs/api/ServiceApi.js.map +1 -1
- package/cjs/api/SocialIdentityProvidersApi.js +70 -31
- package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
- package/cjs/api/TreeApi.js +43 -20
- package/cjs/api/TreeApi.js.map +1 -1
- package/cjs/api/TreeApi.test.js.map +1 -1
- package/cjs/api/cloud/EnvInfoApi.js +10 -6
- package/cjs/api/cloud/EnvInfoApi.js.map +1 -1
- package/cjs/api/cloud/FeatureApi.js +9 -6
- package/cjs/api/cloud/FeatureApi.js.map +1 -1
- package/cjs/api/cloud/LogApi.js +48 -18
- package/cjs/api/cloud/LogApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.js +109 -35
- package/cjs/api/cloud/SecretsApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.test.js.map +1 -1
- package/cjs/api/cloud/StartupApi.js +21 -10
- package/cjs/api/cloud/StartupApi.js.map +1 -1
- package/cjs/api/cloud/StartupApi.test.js.map +1 -1
- package/cjs/api/cloud/VariablesApi.js +52 -20
- package/cjs/api/cloud/VariablesApi.js.map +1 -1
- package/cjs/api/cloud/VariablesApi.test.js.map +1 -1
- package/cjs/api/utils/ApiUtils.js +2 -5
- package/cjs/api/utils/ApiUtils.js.map +1 -1
- package/cjs/api/utils/ApiUtils.test.js.map +1 -1
- package/cjs/index.js +22 -17
- package/cjs/index.js.map +1 -1
- package/cjs/lib/FrodoLib.js +142 -0
- package/cjs/lib/FrodoLib.js.map +1 -0
- package/cjs/ops/AdminOps.js +578 -90
- package/cjs/ops/AdminOps.js.map +1 -1
- package/cjs/ops/AgentOps.js +956 -118
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/AgentOps.test.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +155 -87
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.test.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +334 -291
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +241 -46
- package/cjs/ops/ConnectionProfileOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.js +84 -10
- package/cjs/ops/EmailTemplateOps.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
- package/cjs/ops/IdmOps.js +97 -81
- package/cjs/ops/IdmOps.js.map +1 -1
- package/cjs/ops/IdmOps.test.js.map +1 -1
- package/cjs/ops/IdpOps.js +275 -42
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/IdpOps.test.js.map +1 -1
- package/cjs/ops/InfoOps.js +42 -27
- package/cjs/ops/InfoOps.js.map +1 -1
- package/cjs/ops/JoseOps.test.js.map +1 -1
- package/cjs/ops/JourneyOps.js +721 -126
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/JourneyOps.test.js.map +1 -1
- package/cjs/ops/ManagedObjectOps.js +79 -12
- package/cjs/ops/ManagedObjectOps.js.map +1 -1
- package/cjs/ops/NodeOps.js +127 -100
- package/cjs/ops/NodeOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +323 -65
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.test.js.map +1 -1
- package/cjs/ops/OAuth2ProviderOps.js +20 -13
- package/cjs/ops/OAuth2ProviderOps.js.map +1 -1
- package/cjs/ops/OpsTypes.js.map +1 -1
- package/cjs/ops/OrganizationOps.js +67 -12
- package/cjs/ops/OrganizationOps.js.map +1 -1
- package/cjs/ops/PolicyOps.js +476 -136
- package/cjs/ops/PolicyOps.js.map +1 -1
- package/cjs/ops/PolicyOps.test.js.map +1 -1
- package/cjs/ops/PolicySetOps.js +402 -132
- package/cjs/ops/PolicySetOps.js.map +1 -1
- package/cjs/ops/PolicySetOps.test.js.map +1 -1
- package/cjs/ops/RealmOps.js +119 -84
- package/cjs/ops/RealmOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.js +348 -95
- package/cjs/ops/ResourceTypeOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.test.js.map +1 -1
- package/cjs/ops/Saml2Ops.js +407 -145
- package/cjs/ops/Saml2Ops.js.map +1 -1
- package/cjs/ops/Saml2Ops.test.js.map +1 -1
- package/cjs/ops/ScriptOps.js +256 -79
- package/cjs/ops/ScriptOps.js.map +1 -1
- package/cjs/ops/ScriptOps.test.js.map +1 -1
- package/cjs/ops/ServiceOps.js +328 -55
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js +349 -54
- package/cjs/ops/ThemeOps.js.map +1 -1
- package/cjs/ops/ThemeOps.test.js.map +1 -1
- package/cjs/ops/cloud/FeatureOps.js +57 -12
- package/cjs/ops/cloud/FeatureOps.js.map +1 -1
- package/cjs/ops/cloud/LogOps.js +136 -6
- package/cjs/ops/cloud/LogOps.js.map +1 -1
- package/cjs/ops/cloud/SecretsOps.js +230 -289
- package/cjs/ops/cloud/SecretsOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.js +101 -18
- package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.test.js.map +1 -1
- package/cjs/ops/cloud/StartupOps.js +64 -9
- package/cjs/ops/cloud/StartupOps.js.map +1 -1
- package/cjs/ops/cloud/VariablesOps.js +100 -175
- package/cjs/ops/cloud/VariablesOps.js.map +1 -1
- package/cjs/ops/utils/Console.js +9 -10
- package/cjs/ops/utils/Console.js.map +1 -1
- package/cjs/ops/utils/DataProtection.js +2 -2
- package/cjs/ops/utils/DataProtection.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +35 -13
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.js +7 -5
- package/cjs/ops/utils/OpsUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
- package/cjs/ops/utils/{ValidationUtils.js → ScriptValidationUtils.js} +1 -1
- package/cjs/ops/utils/ScriptValidationUtils.js.map +1 -0
- package/cjs/ops/utils/ScriptValidationUtils.test.js.map +1 -0
- package/cjs/ops/utils/Version.js +9 -2
- package/cjs/ops/utils/Version.js.map +1 -1
- package/cjs/shared/State.js +455 -210
- package/cjs/shared/State.js.map +1 -1
- package/cjs/shared/State.test.js.map +1 -1
- package/cjs/utils/AutoSetupPolly.js +4 -1
- package/cjs/utils/AutoSetupPolly.js.map +1 -1
- package/esm/api/AgentApi.mjs +75 -27
- package/esm/api/AgentApi.test.mjs +319 -71
- package/esm/api/AuthenticateApi.mjs +15 -4
- package/esm/api/AuthenticateApi.test.mjs +27 -8
- package/esm/api/BaseApi.mjs +43 -19
- package/esm/api/CirclesOfTrustApi.mjs +39 -17
- package/esm/api/IdmConfigApi.mjs +44 -13
- package/esm/api/IdmSystemApi.mjs +7 -3
- package/esm/api/ManagedObjectApi.mjs +44 -20
- package/esm/api/NodeApi.mjs +59 -24
- package/esm/api/NodeApi.test.mjs +158 -40
- package/esm/api/OAuth2ClientApi.mjs +36 -15
- package/esm/api/OAuth2OIDCApi.mjs +69 -20
- package/esm/api/OAuth2OIDCApi.test.mjs +21 -3
- package/esm/api/OAuth2ProviderApi.mjs +8 -6
- package/esm/api/PoliciesApi.mjs +45 -16
- package/esm/api/PoliciesApi.test.mjs +63 -15
- package/esm/api/PolicySetApi.mjs +44 -16
- package/esm/api/PolicySetApi.test.mjs +48 -12
- package/esm/api/RealmApi.mjs +65 -24
- package/esm/api/ResourceTypesApi.mjs +56 -21
- package/esm/api/ResourceTypesApi.test.mjs +58 -14
- package/esm/api/Saml2Api.mjs +75 -89
- package/esm/api/ScriptApi.mjs +45 -17
- package/esm/api/ServerInfoApi.mjs +19 -6
- package/esm/api/ServiceApi.mjs +77 -26
- package/esm/api/SocialIdentityProvidersApi.mjs +58 -23
- package/esm/api/TreeApi.mjs +36 -15
- package/esm/api/TreeApi.test.mjs +129 -34
- package/esm/api/cloud/EnvInfoApi.mjs +8 -3
- package/esm/api/cloud/FeatureApi.mjs +7 -3
- package/esm/api/cloud/LogApi.mjs +38 -11
- package/esm/api/cloud/SecretsApi.mjs +89 -21
- package/esm/api/cloud/SecretsApi.test.mjs +193 -50
- package/esm/api/cloud/StartupApi.mjs +17 -6
- package/esm/api/cloud/StartupApi.test.mjs +28 -11
- package/esm/api/cloud/VariablesApi.mjs +43 -14
- package/esm/api/cloud/VariablesApi.test.mjs +124 -33
- package/esm/api/utils/ApiUtils.mjs +2 -4
- package/esm/api/utils/ApiUtils.test.mjs +14 -6
- package/esm/index.mjs +3 -4
- package/esm/lib/FrodoLib.mjs +127 -0
- package/esm/ops/AdminOps.mjs +500 -71
- package/esm/ops/AgentOps.mjs +773 -81
- package/esm/ops/AgentOps.test.mjs +296 -113
- package/esm/ops/AuthenticateOps.mjs +136 -64
- package/esm/ops/AuthenticateOps.test.mjs +7 -4
- package/esm/ops/CirclesOfTrustOps.mjs +278 -229
- package/esm/ops/ConnectionProfileOps.mjs +206 -35
- package/esm/ops/ConnectionProfileOps.test.mjs +25 -5
- package/esm/ops/EmailTemplateOps.mjs +66 -6
- package/esm/ops/EmailTemplateOps.test.mjs +32 -11
- package/esm/ops/IdmOps.mjs +60 -47
- package/esm/ops/IdmOps.test.mjs +54 -18
- package/esm/ops/IdpOps.mjs +227 -31
- package/esm/ops/IdpOps.test.mjs +57 -20
- package/esm/ops/InfoOps.mjs +36 -23
- package/esm/ops/JoseOps.test.mjs +8 -0
- package/esm/ops/JourneyOps.mjs +634 -96
- package/esm/ops/JourneyOps.test.mjs +73 -31
- package/esm/ops/ManagedObjectOps.mjs +66 -10
- package/esm/ops/NodeOps.mjs +108 -85
- package/esm/ops/OAuth2ClientOps.mjs +258 -42
- package/esm/ops/OAuth2ClientOps.test.mjs +80 -29
- package/esm/ops/OAuth2ProviderOps.mjs +11 -8
- package/esm/ops/OrganizationOps.mjs +56 -8
- package/esm/ops/PolicyOps.mjs +379 -93
- package/esm/ops/PolicyOps.test.mjs +180 -65
- package/esm/ops/PolicySetOps.mjs +311 -88
- package/esm/ops/PolicySetOps.test.mjs +108 -39
- package/esm/ops/RealmOps.mjs +85 -65
- package/esm/ops/ResourceTypeOps.mjs +268 -61
- package/esm/ops/ResourceTypeOps.test.mjs +113 -27
- package/esm/ops/Saml2Ops.mjs +346 -106
- package/esm/ops/Saml2Ops.test.mjs +117 -81
- package/esm/ops/ScriptOps.mjs +202 -56
- package/esm/ops/ScriptOps.test.mjs +64 -23
- package/esm/ops/ServiceOps.mjs +258 -27
- package/esm/ops/ThemeOps.mjs +300 -33
- package/esm/ops/ThemeOps.test.mjs +197 -47
- package/esm/ops/cloud/FeatureOps.mjs +45 -10
- package/esm/ops/cloud/LogOps.mjs +117 -4
- package/esm/ops/cloud/SecretsOps.mjs +123 -204
- package/esm/ops/cloud/ServiceAccountOps.mjs +85 -15
- package/esm/ops/cloud/ServiceAccountOps.test.mjs +16 -6
- package/esm/ops/cloud/StartupOps.mjs +49 -6
- package/esm/ops/cloud/VariablesOps.mjs +58 -120
- package/esm/ops/utils/Console.mjs +9 -8
- package/esm/ops/utils/DataProtection.mjs +2 -3
- package/esm/ops/utils/ExportImportUtils.mjs +28 -8
- package/esm/ops/utils/OpsUtils.mjs +4 -3
- package/esm/ops/utils/OpsUtils.test.mjs +21 -5
- package/esm/ops/utils/{ValidationUtils.mjs → ScriptValidationUtils.mjs} +1 -1
- package/esm/ops/utils/{ValidationUtils.test.mjs → ScriptValidationUtils.test.mjs} +2 -2
- package/esm/ops/utils/Version.mjs +8 -2
- package/esm/shared/State.mjs +459 -145
- package/esm/shared/State.test.mjs +8 -0
- package/esm/utils/AutoSetupPolly.mjs +4 -1
- package/package.json +1 -1
- package/types/api/AgentApi.d.ts +37 -8
- package/types/api/AgentApi.d.ts.map +1 -1
- package/types/api/ApiTypes.d.ts +12 -0
- package/types/api/ApiTypes.d.ts.map +1 -1
- package/types/api/AuthenticateApi.d.ts +13 -3
- package/types/api/AuthenticateApi.d.ts.map +1 -1
- package/types/api/BaseApi.d.ts +36 -7
- package/types/api/BaseApi.d.ts.map +1 -1
- package/types/api/CirclesOfTrustApi.d.ts +21 -7
- package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
- package/types/api/IdmConfigApi.d.ts +28 -13
- package/types/api/IdmConfigApi.d.ts.map +1 -1
- package/types/api/IdmSystemApi.d.ts +4 -1
- package/types/api/IdmSystemApi.d.ts.map +1 -1
- package/types/api/ManagedObjectApi.d.ts +25 -10
- package/types/api/ManagedObjectApi.d.ts.map +1 -1
- package/types/api/NodeApi.d.ts +31 -9
- package/types/api/NodeApi.d.ts.map +1 -1
- package/types/api/OAuth2ClientApi.d.ts +18 -5
- package/types/api/OAuth2ClientApi.d.ts.map +1 -1
- package/types/api/OAuth2OIDCApi.d.ts +45 -11
- package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
- package/types/api/OAuth2ProviderApi.d.ts +4 -1
- package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
- package/types/api/PoliciesApi.d.ts +21 -5
- package/types/api/PoliciesApi.d.ts.map +1 -1
- package/types/api/PolicySetApi.d.ts +20 -5
- package/types/api/PolicySetApi.d.ts.map +1 -1
- package/types/api/RealmApi.d.ts +26 -10
- package/types/api/RealmApi.d.ts.map +1 -1
- package/types/api/ResourceTypesApi.d.ts +27 -8
- package/types/api/ResourceTypesApi.d.ts.map +1 -1
- package/types/api/Saml2Api.d.ts +39 -32
- package/types/api/Saml2Api.d.ts.map +1 -1
- package/types/api/ScriptApi.d.ts +21 -5
- package/types/api/ScriptApi.d.ts.map +1 -1
- package/types/api/ServerInfoApi.d.ts +9 -2
- package/types/api/ServerInfoApi.d.ts.map +1 -1
- package/types/api/ServiceApi.d.ts +41 -7
- package/types/api/ServiceApi.d.ts.map +1 -1
- package/types/api/SocialIdentityProvidersApi.d.ts +30 -8
- package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
- package/types/api/TreeApi.d.ts +18 -4
- package/types/api/TreeApi.d.ts.map +1 -1
- package/types/api/cloud/EnvInfoApi.d.ts +4 -1
- package/types/api/cloud/EnvInfoApi.d.ts.map +1 -1
- package/types/api/cloud/FeatureApi.d.ts +4 -1
- package/types/api/cloud/FeatureApi.d.ts.map +1 -1
- package/types/api/cloud/LogApi.d.ts +24 -6
- package/types/api/cloud/LogApi.d.ts.map +1 -1
- package/types/api/cloud/SecretsApi.d.ts +50 -10
- package/types/api/cloud/SecretsApi.d.ts.map +1 -1
- package/types/api/cloud/StartupApi.d.ts +7 -2
- package/types/api/cloud/StartupApi.d.ts.map +1 -1
- package/types/api/cloud/VariablesApi.d.ts +23 -5
- package/types/api/cloud/VariablesApi.d.ts.map +1 -1
- package/types/api/utils/ApiUtils.d.ts +3 -2
- package/types/api/utils/ApiUtils.d.ts.map +1 -1
- package/types/index.d.ts +2 -2
- package/types/index.d.ts.map +1 -1
- package/types/lib/FrodoLib.d.ts +95 -0
- package/types/lib/FrodoLib.d.ts.map +1 -0
- package/types/ops/AdminOps.d.ts +71 -12
- package/types/ops/AdminOps.d.ts.map +1 -1
- package/types/ops/AgentOps.d.ts +345 -36
- package/types/ops/AgentOps.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts +18 -5
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/CirclesOfTrustOps.d.ts +76 -26
- package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
- package/types/ops/ConnectionProfileOps.d.ts +88 -9
- package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
- package/types/ops/EmailTemplateOps.d.ts +36 -3
- package/types/ops/EmailTemplateOps.d.ts.map +1 -1
- package/types/ops/IdmOps.d.ts +28 -40
- package/types/ops/IdmOps.d.ts.map +1 -1
- package/types/ops/IdpOps.d.ts +88 -10
- package/types/ops/IdpOps.d.ts.map +1 -1
- package/types/ops/InfoOps.d.ts +12 -1
- package/types/ops/InfoOps.d.ts.map +1 -1
- package/types/ops/JourneyOps.d.ts +237 -34
- package/types/ops/JourneyOps.d.ts.map +1 -1
- package/types/ops/ManagedObjectOps.d.ts +37 -8
- package/types/ops/ManagedObjectOps.d.ts.map +1 -1
- package/types/ops/NodeOps.d.ts +61 -6
- package/types/ops/NodeOps.d.ts.map +1 -1
- package/types/ops/OAuth2ClientOps.d.ts +104 -10
- package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
- package/types/ops/OAuth2ProviderOps.d.ts +8 -5
- package/types/ops/OAuth2ProviderOps.d.ts.map +1 -1
- package/types/ops/OpsTypes.d.ts +12 -1
- package/types/ops/OpsTypes.d.ts.map +1 -1
- package/types/ops/OrganizationOps.d.ts +24 -3
- package/types/ops/OrganizationOps.d.ts.map +1 -1
- package/types/ops/PolicyOps.d.ts +103 -28
- package/types/ops/PolicyOps.d.ts.map +1 -1
- package/types/ops/PolicySetOps.d.ts +76 -30
- package/types/ops/PolicySetOps.d.ts.map +1 -1
- package/types/ops/RealmOps.d.ts +34 -14
- package/types/ops/RealmOps.d.ts.map +1 -1
- package/types/ops/ResourceTypeOps.d.ts +116 -29
- package/types/ops/ResourceTypeOps.d.ts.map +1 -1
- package/types/ops/Saml2Ops.d.ts +124 -41
- package/types/ops/Saml2Ops.d.ts.map +1 -1
- package/types/ops/ScriptOps.d.ts +88 -23
- package/types/ops/ScriptOps.d.ts.map +1 -1
- package/types/ops/ServiceOps.d.ts +94 -8
- package/types/ops/ServiceOps.d.ts.map +1 -1
- package/types/ops/ThemeOps.d.ts +113 -9
- package/types/ops/ThemeOps.d.ts.map +1 -1
- package/types/ops/cloud/FeatureOps.d.ts +23 -2
- package/types/ops/cloud/FeatureOps.d.ts.map +1 -1
- package/types/ops/cloud/LogOps.d.ts +61 -3
- package/types/ops/cloud/LogOps.d.ts.map +1 -1
- package/types/ops/cloud/SecretsOps.d.ts +77 -63
- package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
- package/types/ops/cloud/ServiceAccountOps.d.ts +48 -3
- package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -1
- package/types/ops/cloud/StartupOps.d.ts +25 -2
- package/types/ops/cloud/StartupOps.d.ts.map +1 -1
- package/types/ops/cloud/VariablesOps.d.ts +39 -39
- package/types/ops/cloud/VariablesOps.d.ts.map +1 -1
- package/types/ops/utils/Console.d.ts.map +1 -1
- package/types/ops/utils/DataProtection.d.ts +1 -1
- package/types/ops/utils/DataProtection.d.ts.map +1 -1
- package/types/ops/utils/ExportImportUtils.d.ts +29 -11
- package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
- package/types/ops/utils/OpsUtils.d.ts +4 -1
- package/types/ops/utils/OpsUtils.d.ts.map +1 -1
- package/types/ops/utils/ScriptValidationUtils.d.ts.map +1 -0
- package/types/ops/utils/Version.d.ts +5 -1
- package/types/ops/utils/Version.d.ts.map +1 -1
- package/types/shared/State.d.ts +80 -177
- package/types/shared/State.d.ts.map +1 -1
- package/types/utils/AutoSetupPolly.d.ts.map +1 -1
- package/cjs/ops/utils/ValidationUtils.js.map +0 -1
- package/cjs/ops/utils/ValidationUtils.test.js.map +0 -1
- package/types/ops/utils/ValidationUtils.d.ts.map +0 -1
- /package/types/ops/utils/{ValidationUtils.d.ts → ScriptValidationUtils.d.ts} +0 -0
package/cjs/ops/ThemeOps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeOps.js","names":["_IdmConfigApi","require","_ApiUtils","_Console","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","THEMEREALM_ID","exports","getRealmThemes","themes","realm","length","getCurrentRealmName","getThemes","_getThemes","getConfigEntity","getTheme","_x","_getTheme","themeId","found","filter","theme","_id","Error","concat","getThemeByName","_x2","_getThemeByName","themeName","name","putTheme","_x3","_x4","_putTheme","themeData","data","isNew","realmThemes","map","isDefault","push","putConfigEntity","putThemeByName","_x5","_x6","_putThemeByName","putThemes","_x7","_putThemes","themeMap","debugMessage","allThemeIDs","Object","keys","existingThemeIDs","defaultThemeId","newThemeIDs","id","includes","forEach","updatedThemes","Map","deleteTheme","_x8","_deleteTheme","deletedThemes","finalThemes","undeletedThemes","deleteThemeByName","_x9","_deleteThemeByName","deleteThemes","_deleteThemes"],"sources":["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';\n\nexport const THEMEREALM_ID = 'ui/themerealm';\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: UiThemeRealmObject,\n realm: string = getCurrentRealmName()\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: string = getCurrentRealmName()\n): Promise<ThemeSkeleton[]> {\n const themes = await getConfigEntity(THEMEREALM_ID);\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: string,\n realm: string = getCurrentRealmName()\n): Promise<ThemeSkeleton> {\n const themes = await getConfigEntity(THEMEREALM_ID);\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: string,\n realm: string = getCurrentRealmName()\n): Promise<ThemeSkeleton> {\n const themes = await getConfigEntity(THEMEREALM_ID);\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: string,\n themeData: ThemeSkeleton,\n realm: string = getCurrentRealmName()\n): Promise<ThemeSkeleton> {\n const data = themeData;\n data._id = themeId;\n const themes = await getConfigEntity(THEMEREALM_ID);\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 await putConfigEntity(THEMEREALM_ID, themes),\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: string,\n themeData: ThemeSkeleton,\n realm: string = getCurrentRealmName()\n): Promise<ThemeSkeleton> {\n const data = themeData;\n data.name = themeName;\n const themes = await getConfigEntity(THEMEREALM_ID);\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 await putConfigEntity(THEMEREALM_ID, themes),\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: Map<string, ThemeSkeleton>,\n realm: string = getCurrentRealmName()\n): Promise<Map<string, ThemeSkeleton>> {\n debugMessage(`ThemeApi.putThemes: start`);\n const themes = await getConfigEntity(THEMEREALM_ID);\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(`Update theme: ${theme._id} - ${theme.name}`);\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 `Add theme: ${themeMap[themeId]._id} - ${themeMap[themeId].name}`\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(await putConfigEntity(THEMEREALM_ID, themes), realm).map(\n (theme) => [theme._id, theme]\n )\n );\n debugMessage(updatedThemes);\n debugMessage(`ThemeApi.putThemes: finished`);\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: string,\n realm: string = getCurrentRealmName()\n): Promise<ThemeSkeleton> {\n const themes = await getConfigEntity(THEMEREALM_ID);\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 await putConfigEntity(THEMEREALM_ID, themes),\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: string,\n realm: string = getCurrentRealmName()\n): Promise<ThemeSkeleton> {\n const themes = await getConfigEntity(THEMEREALM_ID);\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 await putConfigEntity(THEMEREALM_ID, themes),\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: string = getCurrentRealmName()\n): Promise<ThemeSkeleton[]> {\n const themes = await getConfigEntity(THEMEREALM_ID);\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(THEMEREALM_ID, themes);\n return deletedThemes;\n}\n"],"mappings":";;;;;;;;;;;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAAoD,SAAAG,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAC,GAAA,cAAAC,IAAA,GAAAP,GAAA,CAAAK,GAAA,EAAAC,GAAA,OAAAE,KAAA,GAAAD,IAAA,CAAAC,KAAA,WAAAC,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAF,IAAA,CAAAG,IAAA,IAAAT,OAAA,CAAAO,KAAA,YAAAG,OAAA,CAAAV,OAAA,CAAAO,KAAA,EAAAI,IAAA,CAAAT,KAAA,EAAAC,MAAA;AAAA,SAAAS,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAAN,OAAA,WAAAV,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAc,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAb,MAAAK,KAAA,IAAAT,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAI,KAAA,cAAAJ,OAAAe,GAAA,IAAApB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAe,GAAA,KAAAhB,KAAA,CAAAiB,SAAA;AAE7C,IAAMC,aAAa,GAAG,eAAe;;AAE5C;AACA;AACA;AACA;AACA;AACA;AALAC,OAAA,CAAAD,aAAA,GAAAA,aAAA;AAMA,SAASE,cAAcA,CACrBC,MAA0B,EAET;EAAA,IADjBC,KAAa,GAAAR,SAAA,CAAAS,MAAA,QAAAT,SAAA,QAAAG,SAAA,GAAAH,SAAA,MAAG,IAAAU,6BAAmB,EAAC,CAAC;EAErC,IAAIH,MAAM,CAACC,KAAK,IAAID,MAAM,CAACC,KAAK,CAACA,KAAK,CAAC,EAAE;IACvC,OAAOD,MAAM,CAACC,KAAK,CAACA,KAAK,CAAC;EAC5B;EACA,OAAO,EAAE;AACX;;AAEA;AACA;AACA;AACA;AACA;AAJA,SAKsBG,SAASA,CAAA;EAAA,OAAAC,UAAA,CAAAX,KAAA,OAAAD,SAAA;AAAA;AAO/B;AACA;AACA;AACA;AACA;AACA;AALA,SAAAY,WAAA;EAAAA,UAAA,GAAAhB,iBAAA,CAPO,aAEqB;IAAA,IAD1BY,KAAa,GAAAR,SAAA,CAAAS,MAAA,QAAAT,SAAA,QAAAG,SAAA,GAAAH,SAAA,MAAG,IAAAU,6BAAmB,EAAC,CAAC;IAErC,IAAMH,MAAM,SAAS,IAAAM,6BAAe,EAACT,aAAa,CAAC;IACnD,OAAOE,cAAc,CAACC,MAAM,EAAEC,KAAK,CAAC;EACtC,CAAC;EAAA,OAAAI,UAAA,CAAAX,KAAA,OAAAD,SAAA;AAAA;AAAA,SAQqBc,QAAQA,CAAAC,EAAA;EAAA,OAAAC,SAAA,CAAAf,KAAA,OAAAD,SAAA;AAAA;AAmB9B;AACA;AACA;AACA;AACA;AACA;AALA,SAAAgB,UAAA;EAAAA,SAAA,GAAApB,iBAAA,CAnBO,WACLqB,OAAe,EAES;IAAA,IADxBT,KAAa,GAAAR,SAAA,CAAAS,MAAA,QAAAT,SAAA,QAAAG,SAAA,GAAAH,SAAA,MAAG,IAAAU,6BAAmB,EAAC,CAAC;IAErC,IAAMH,MAAM,SAAS,IAAAM,6BAAe,EAACT,aAAa,CAAC;IACnD,IAAMc,KAAK,GAAGZ,cAAc,CAACC,MAAM,EAAEC,KAAK,CAAC,CAACW,MAAM,CAC/CC,KAAK,IAAKA,KAAK,CAACC,GAAG,KAAKJ,OAC3B,CAAC;IACD,IAAIC,KAAK,CAACT,MAAM,KAAK,CAAC,EAAE;MACtB,OAAOS,KAAK,CAAC,CAAC,CAAC;IACjB;IACA,IAAIA,KAAK,CAACT,MAAM,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIa,KAAK,6BAAAC,MAAA,CACeN,OAAO,wBAAAM,MAAA,CAAqBf,KAAK,OAC/D,CAAC;IACH;IACA,MAAM,IAAIc,KAAK,mBAAAC,MAAA,CAAmBN,OAAO,4BAAAM,MAAA,CAAyBf,KAAK,OAAI,CAAC;EAC9E,CAAC;EAAA,OAAAQ,SAAA,CAAAf,KAAA,OAAAD,SAAA;AAAA;AAAA,SAQqBwB,cAAcA,CAAAC,GAAA;EAAA,OAAAC,eAAA,CAAAzB,KAAA,OAAAD,SAAA;AAAA;AAmBpC;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAA0B,gBAAA;EAAAA,eAAA,GAAA9B,iBAAA,CAnBO,WACL+B,SAAiB,EAEO;IAAA,IADxBnB,KAAa,GAAAR,SAAA,CAAAS,MAAA,QAAAT,SAAA,QAAAG,SAAA,GAAAH,SAAA,MAAG,IAAAU,6BAAmB,EAAC,CAAC;IAErC,IAAMH,MAAM,SAAS,IAAAM,6BAAe,EAACT,aAAa,CAAC;IACnD,IAAMc,KAAK,GAAGZ,cAAc,CAACC,MAAM,EAAEC,KAAK,CAAC,CAACW,MAAM,CAC/CC,KAAK,IAAKA,KAAK,CAACQ,IAAI,KAAKD,SAC5B,CAAC;IACD,IAAIT,KAAK,CAACT,MAAM,KAAK,CAAC,EAAE;MACtB,OAAOS,KAAK,CAAC,CAAC,CAAC;IACjB;IACA,IAAIA,KAAK,CAACT,MAAM,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIa,KAAK,mCAAAC,MAAA,CACqBI,SAAS,wBAAAJ,MAAA,CAAqBf,KAAK,OACvE,CAAC;IACH;IACA,MAAM,IAAIc,KAAK,WAAAC,MAAA,CAAWI,SAAS,4BAAAJ,MAAA,CAAyBf,KAAK,OAAI,CAAC;EACxE,CAAC;EAAA,OAAAkB,eAAA,CAAAzB,KAAA,OAAAD,SAAA;AAAA;AAAA,SASqB6B,QAAQA,CAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,SAAA,CAAA/B,KAAA,OAAAD,SAAA;AAAA;AAoC9B;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAAgC,UAAA;EAAAA,SAAA,GAAApC,iBAAA,CApCO,WACLqB,OAAe,EACfgB,SAAwB,EAEA;IAAA,IADxBzB,KAAa,GAAAR,SAAA,CAAAS,MAAA,QAAAT,SAAA,QAAAG,SAAA,GAAAH,SAAA,MAAG,IAAAU,6BAAmB,EAAC,CAAC;IAErC,IAAMwB,IAAI,GAAGD,SAAS;IACtBC,IAAI,CAACb,GAAG,GAAGJ,OAAO;IAClB,IAAMV,MAAM,SAAS,IAAAM,6BAAe,EAACT,aAAa,CAAC;IACnD,IAAI+B,KAAK,GAAG,IAAI;IAChB,IAAMC,WAAW,GAAG9B,cAAc,CAACC,MAAM,EAAEC,KAAK,CAAC,CAAC6B,GAAG,CAAEjB,KAAK,IAAK;MAC/D,IAAIA,KAAK,CAACC,GAAG,KAAKJ,OAAO,EAAE;QACzBkB,KAAK,GAAG,KAAK;QACb,OAAOD,IAAI;MACb;MACA,IAAIA,IAAI,CAACI,SAAS,EAAElB,KAAK,CAACkB,SAAS,GAAG,KAAK;MAC3C,OAAOlB,KAAK;IACd,CAAC,CAAC;IACF,IAAIe,KAAK,EAAE;MACTC,WAAW,CAACG,IAAI,CAACL,IAAI,CAAC;IACxB;IACA3B,MAAM,CAACC,KAAK,CAACA,KAAK,CAAC,GAAG4B,WAAW;IACjC,IAAMlB,KAAK,GAAGZ,cAAc,OACpB,IAAAkC,6BAAe,EAACpC,aAAa,EAAEG,MAAM,CAAC,EAC5CC,KACF,CAAC,CAACW,MAAM,CAAEC,KAAK,IAAKA,KAAK,CAACC,GAAG,KAAKJ,OAAO,CAAC;IAC1C,IAAIC,KAAK,CAACT,MAAM,KAAK,CAAC,EAAE;MACtB,OAAOS,KAAK,CAAC,CAAC,CAAC;IACjB;IACA,IAAIA,KAAK,CAACT,MAAM,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIa,KAAK,6BAAAC,MAAA,CACeN,OAAO,wBAAAM,MAAA,CAAqBf,KAAK,OAC/D,CAAC;IACH;IACA,MAAM,IAAIc,KAAK,mBAAAC,MAAA,CAAmBN,OAAO,4BAAAM,MAAA,CAAyBf,KAAK,OAAI,CAAC;EAC9E,CAAC;EAAA,OAAAwB,SAAA,CAAA/B,KAAA,OAAAD,SAAA;AAAA;AAAA,SASqByC,cAAcA,CAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,eAAA,CAAA3C,KAAA,OAAAD,SAAA;AAAA;AAoCpC;AACA;AACA;AACA;AACA;AACA;AALA,SAAA4C,gBAAA;EAAAA,eAAA,GAAAhD,iBAAA,CApCO,WACL+B,SAAiB,EACjBM,SAAwB,EAEA;IAAA,IADxBzB,KAAa,GAAAR,SAAA,CAAAS,MAAA,QAAAT,SAAA,QAAAG,SAAA,GAAAH,SAAA,MAAG,IAAAU,6BAAmB,EAAC,CAAC;IAErC,IAAMwB,IAAI,GAAGD,SAAS;IACtBC,IAAI,CAACN,IAAI,GAAGD,SAAS;IACrB,IAAMpB,MAAM,SAAS,IAAAM,6BAAe,EAACT,aAAa,CAAC;IACnD,IAAI+B,KAAK,GAAG,IAAI;IAChB,IAAMC,WAAW,GAAG9B,cAAc,CAACC,MAAM,EAAEC,KAAK,CAAC,CAAC6B,GAAG,CAAEjB,KAAK,IAAK;MAC/D,IAAIA,KAAK,CAACQ,IAAI,KAAKD,SAAS,EAAE;QAC5BQ,KAAK,GAAG,KAAK;QACb,OAAOD,IAAI;MACb;MACA,IAAIA,IAAI,CAACI,SAAS,EAAElB,KAAK,CAACkB,SAAS,GAAG,KAAK;MAC3C,OAAOlB,KAAK;IACd,CAAC,CAAC;IACF,IAAIe,KAAK,EAAE;MACTC,WAAW,CAACG,IAAI,CAACL,IAAI,CAAC;IACxB;IACA3B,MAAM,CAAC,OAAO,CAAC,CAACC,KAAK,CAAC,GAAG4B,WAAW;IACpC,IAAMlB,KAAK,GAAGZ,cAAc,OACpB,IAAAkC,6BAAe,EAACpC,aAAa,EAAEG,MAAM,CAAC,EAC5CC,KACF,CAAC,CAACW,MAAM,CAAEC,KAAK,IAAKA,KAAK,CAACQ,IAAI,KAAKD,SAAS,CAAC;IAC7C,IAAIT,KAAK,CAACT,MAAM,KAAK,CAAC,EAAE;MACtB,OAAOS,KAAK,CAAC,CAAC,CAAC;IACjB;IACA,IAAIA,KAAK,CAACT,MAAM,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIa,KAAK,qBAAAC,MAAA,CACOI,SAAS,wBAAAJ,MAAA,CAAqBf,KAAK,OACzD,CAAC;IACH;IACA,MAAM,IAAIc,KAAK,WAAAC,MAAA,CAAWI,SAAS,4BAAAJ,MAAA,CAAyBf,KAAK,OAAI,CAAC;EACxE,CAAC;EAAA,OAAAoC,eAAA,CAAA3C,KAAA,OAAAD,SAAA;AAAA;AAAA,SAQqB6C,SAASA,CAAAC,GAAA;EAAA,OAAAC,UAAA,CAAA9C,KAAA,OAAAD,SAAA;AAAA;AAkD/B;AACA;AACA;AACA;AACA;AACA;AALA,SAAA+C,WAAA;EAAAA,UAAA,GAAAnD,iBAAA,CAlDO,WACLoD,QAAoC,EAEC;IAAA,IADrCxC,KAAa,GAAAR,SAAA,CAAAS,MAAA,QAAAT,SAAA,QAAAG,SAAA,GAAAH,SAAA,MAAG,IAAAU,6BAAmB,EAAC,CAAC;IAErC,IAAAuC,qBAAY,6BAA4B,CAAC;IACzC,IAAM1C,MAAM,SAAS,IAAAM,6BAAe,EAACT,aAAa,CAAC;IACnD,IAAM8C,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACJ,QAAQ,CAAC;IACzC,IAAMK,gBAAgB,GAAG,EAAE;IAC3B,IAAIC,cAAc,GAAG,IAAI;IACzB;IACA,IAAIlB,WAAW,GAAG9B,cAAc,CAACC,MAAM,EAAEC,KAAK,CAAC,CAAC6B,GAAG,CAAEjB,KAAK,IAAK;MAC7D,IAAI4B,QAAQ,CAAC5B,KAAK,CAACC,GAAG,CAAC,EAAE;QACvB,IAAA4B,qBAAY,mBAAA1B,MAAA,CAAkBH,KAAK,CAACC,GAAG,SAAAE,MAAA,CAAMH,KAAK,CAACQ,IAAI,CAAE,CAAC;QAC1DyB,gBAAgB,CAACd,IAAI,CAACnB,KAAK,CAACC,GAAG,CAAC;QAChC;QACA,IAAI2B,QAAQ,CAAC5B,KAAK,CAACC,GAAG,CAAC,CAACiB,SAAS,EAAEgB,cAAc,GAAGlC,KAAK,CAACC,GAAG;QAC7D,OAAO2B,QAAQ,CAAC5B,KAAK,CAACC,GAAG,CAAC;MAC5B;MACA,OAAOD,KAAK;IACd,CAAC,CAAC;IACF,IAAMmC,WAAW,GAAGL,WAAW,CAAC/B,MAAM,CACnCqC,EAAE,IAAK,CAACH,gBAAgB,CAACI,QAAQ,CAACD,EAAE,CACvC,CAAC;IACD;IACAD,WAAW,CAACG,OAAO,CAAEzC,OAAO,IAAK;MAC/B,IAAAgC,qBAAY,gBAAA1B,MAAA,CACIyB,QAAQ,CAAC/B,OAAO,CAAC,CAACI,GAAG,SAAAE,MAAA,CAAMyB,QAAQ,CAAC/B,OAAO,CAAC,CAACW,IAAI,CACjE,CAAC;MACD;MACA,IAAIoB,QAAQ,CAAC/B,OAAO,CAAC,CAACqB,SAAS,EAAEgB,cAAc,GAAGrC,OAAO;MACzDmB,WAAW,CAACG,IAAI,CAACS,QAAQ,CAAC/B,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC;IACF;IACA,IAAIqC,cAAc,EAAE;MAClBlB,WAAW,GAAGA,WAAW,CAACC,GAAG,CAAEjB,KAAK,IAAK;QACvCA,KAAK,CAACkB,SAAS,GAAGlB,KAAK,CAACC,GAAG,KAAKiC,cAAc;QAC9C,OAAOlC,KAAK;MACd,CAAC,CAAC;IACJ;IACAb,MAAM,CAACC,KAAK,CAACA,KAAK,CAAC,GAAG4B,WAAW;IACjC,IAAMuB,aAAa,GAAG,IAAIC,GAAG,CAC3BtD,cAAc,OAAO,IAAAkC,6BAAe,EAACpC,aAAa,EAAEG,MAAM,CAAC,EAAEC,KAAK,CAAC,CAAC6B,GAAG,CACpEjB,KAAK,IAAK,CAACA,KAAK,CAACC,GAAG,EAAED,KAAK,CAC9B,CACF,CAAC;IACD,IAAA6B,qBAAY,EAACU,aAAa,CAAC;IAC3B,IAAAV,qBAAY,gCAA+B,CAAC;IAC5C,OAAOU,aAAa;EACtB,CAAC;EAAA,OAAAZ,UAAA,CAAA9C,KAAA,OAAAD,SAAA;AAAA;AAAA,SAQqB6D,WAAWA,CAAAC,GAAA;EAAA,OAAAC,YAAA,CAAA9D,KAAA,OAAAD,SAAA;AAAA;AA+BjC;AACA;AACA;AACA;AACA;AACA;AALA,SAAA+D,aAAA;EAAAA,YAAA,GAAAnE,iBAAA,CA/BO,WACLqB,OAAe,EAES;IAAA,IADxBT,KAAa,GAAAR,SAAA,CAAAS,MAAA,QAAAT,SAAA,QAAAG,SAAA,GAAAH,SAAA,MAAG,IAAAU,6BAAmB,EAAC,CAAC;IAErC,IAAMH,MAAM,SAAS,IAAAM,6BAAe,EAACT,aAAa,CAAC;IACnD,IAAMgC,WAAW,GAAG9B,cAAc,CAACC,MAAM,EAAEC,KAAK,CAAC;IACjD,IAAMwD,aAA8B,GAAG,EAAE;IACzC,IAAMC,WAAW,GAAG7B,WAAW,CAACjB,MAAM,CAAEC,KAAK,IAAK;MAChD,IAAIA,KAAK,CAACC,GAAG,KAAKJ,OAAO,EAAE;QACzB,OAAO,IAAI;MACb;MACA+C,aAAa,CAACzB,IAAI,CAACnB,KAAK,CAAC;MACzB,OAAO,KAAK;IACd,CAAC,CAAC;IACF,IAAIgB,WAAW,CAAC3B,MAAM,KAAKwD,WAAW,CAACxD,MAAM,EAC3C,MAAM,IAAIa,KAAK,KAAAC,MAAA,CAAKN,OAAO,4BAAAM,MAAA,CAAyBf,KAAK,MAAG,CAAC;IAC/DD,MAAM,CAACC,KAAK,CAACA,KAAK,CAAC,GAAG4B,WAAW;IACjC,IAAM8B,eAAe,GAAG5D,cAAc,OAC9B,IAAAkC,6BAAe,EAACpC,aAAa,EAAEG,MAAM,CAAC,EAC5CC,KACF,CAAC,CAACW,MAAM,CAAEC,KAAK,IAAK4C,aAAa,CAACP,QAAQ,CAACrC,KAAK,CAAC,CAAC;IAClD,IAAI4C,aAAa,CAACvD,MAAM,GAAG,CAAC,IAAIyD,eAAe,CAACzD,MAAM,KAAK,CAAC,EAAE;MAC5D,OAAOuD,aAAa,CAAC,CAAC,CAAC;IACzB;IACA,MAAM,IAAI1C,KAAK,yBAAAC,MAAA,CACW2C,eAAe,CAAC7B,GAAG,CACxCjB,KAAK,IAAKA,KAAK,CAACC,GACnB,CAAC,gCAAAE,MAAA,CAA6Bf,KAAK,OACrC,CAAC;EACH,CAAC;EAAA,OAAAuD,YAAA,CAAA9D,KAAA,OAAAD,SAAA;AAAA;AAAA,SAQqBmE,iBAAiBA,CAAAC,GAAA;EAAA,OAAAC,kBAAA,CAAApE,KAAA,OAAAD,SAAA;AAAA;AA+BvC;AACA;AACA;AACA;AACA;AAJA,SAAAqE,mBAAA;EAAAA,kBAAA,GAAAzE,iBAAA,CA/BO,WACL+B,SAAiB,EAEO;IAAA,IADxBnB,KAAa,GAAAR,SAAA,CAAAS,MAAA,QAAAT,SAAA,QAAAG,SAAA,GAAAH,SAAA,MAAG,IAAAU,6BAAmB,EAAC,CAAC;IAErC,IAAMH,MAAM,SAAS,IAAAM,6BAAe,EAACT,aAAa,CAAC;IACnD,IAAMgC,WAAW,GAAG9B,cAAc,CAACC,MAAM,EAAEC,KAAK,CAAC;IACjD,IAAMwD,aAA8B,GAAG,EAAE;IACzC,IAAMC,WAAW,GAAG7B,WAAW,CAACjB,MAAM,CAAEC,KAAK,IAAK;MAChD,IAAIA,KAAK,CAACQ,IAAI,KAAKD,SAAS,EAAE;QAC5B,OAAO,IAAI;MACb;MACAqC,aAAa,CAACzB,IAAI,CAACnB,KAAK,CAAC;MACzB,OAAO,KAAK;IACd,CAAC,CAAC;IACF,IAAIgB,WAAW,CAAC3B,MAAM,KAAKwD,WAAW,CAACxD,MAAM,EAC3C,MAAM,IAAIa,KAAK,KAAAC,MAAA,CAAKI,SAAS,4BAAAJ,MAAA,CAAyBf,KAAK,MAAG,CAAC;IACjED,MAAM,CAACC,KAAK,CAACA,KAAK,CAAC,GAAGyD,WAAW;IACjC,IAAMC,eAAe,GAAG5D,cAAc,OAC9B,IAAAkC,6BAAe,EAACpC,aAAa,EAAEG,MAAM,CAAC,EAC5CC,KACF,CAAC,CAACW,MAAM,CAAEC,KAAK,IAAK4C,aAAa,CAACP,QAAQ,CAACrC,KAAK,CAAC,CAAC;IAClD,IAAI4C,aAAa,CAACvD,MAAM,GAAG,CAAC,IAAIyD,eAAe,CAACzD,MAAM,KAAK,CAAC,EAAE;MAC5D,OAAOuD,aAAa,CAAC,CAAC,CAAC;IACzB;IACA,MAAM,IAAI1C,KAAK,yBAAAC,MAAA,CACW2C,eAAe,CAAC7B,GAAG,CACxCjB,KAAK,IAAKA,KAAK,CAACC,GACnB,CAAC,gCAAAE,MAAA,CAA6Bf,KAAK,OACrC,CAAC;EACH,CAAC;EAAA,OAAA6D,kBAAA,CAAApE,KAAA,OAAAD,SAAA;AAAA;AAAA,SAOqBsE,YAAYA,CAAA;EAAA,OAAAC,aAAA,CAAAtE,KAAA,OAAAD,SAAA;AAAA;AAAA,SAAAuE,cAAA;EAAAA,aAAA,GAAA3E,iBAAA,CAA3B,aAEqB;IAAA,IAD1BY,KAAa,GAAAR,SAAA,CAAAS,MAAA,QAAAT,SAAA,QAAAG,SAAA,GAAAH,SAAA,MAAG,IAAAU,6BAAmB,EAAC,CAAC;IAErC,IAAMH,MAAM,SAAS,IAAAM,6BAAe,EAACT,aAAa,CAAC;IACnD,IAAMgC,WAAW,GAAG7B,MAAM,CAACC,KAAK,CAACA,KAAK,CAAC;IACvC,IAAI,CAAC4B,WAAW,EACd,MAAM,IAAId,KAAK,4CAAAC,MAAA,CAA4Cf,KAAK,MAAG,CAAC;IACtE,IAAMwD,aAA8B,GAAG,EAAE;IACzC,KAAK,IAAM5C,KAAK,IAAIgB,WAAW,EAAE;MAC/B4B,aAAa,CAACzB,IAAI,CAACnB,KAAK,CAAC;IAC3B;IACAb,MAAM,CAACC,KAAK,CAACA,KAAK,CAAC,GAAG,EAAE;IACxB,MAAM,IAAAgC,6BAAe,EAACpC,aAAa,EAAEG,MAAM,CAAC;IAC5C,OAAOyD,aAAa;EACtB,CAAC;EAAA,OAAAO,aAAA,CAAAtE,KAAA,OAAAD,SAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"ThemeOps.js","names":["_IdmConfigApi","require","_ApiUtils","_Console","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","THEMEREALM_ID","exports","ThemeOps","constructor","state","getThemes","_this","getTheme","themeId","realm","_this2","getThemeByName","themeName","_this3","putTheme","themeData","_this4","putThemeByName","_this5","putThemes","themeMap","_this6","deleteTheme","_this7","deleteThemeByName","_this8","deleteThemes","_this9","default","getRealmThemes","_ref","themes","_x","_getThemes","_ref2","getCurrentRealmName","getConfigEntity","entityId","_x2","_getTheme","_ref3","found","filter","theme","_id","length","Error","concat","_x3","_getThemeByName","_ref4","name","_x4","_putTheme","_ref5","data","isNew","realmThemes","map","isDefault","push","putConfigEntity","entityData","_x5","_putThemeByName","_ref6","_x6","_putThemes","_ref7","debugMessage","allThemeIDs","Object","keys","existingThemeIDs","defaultThemeId","newThemeIDs","id","includes","forEach","updatedThemes","Map","_x7","_deleteTheme","_ref8","deletedThemes","finalThemes","undeletedThemes","_x8","_deleteThemeByName","_ref9","_x9","_deleteThemes","_ref10"],"sources":["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 class ThemeOps {\n state: State;\n constructor(state: State) {\n this.state = state;\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 */\n async getThemes(): Promise<ThemeSkeleton[]> {\n return getThemes({ state: this.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(themeId: string, realm: string): Promise<ThemeSkeleton> {\n return getTheme({ themeId, realm, state: this.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\n ): Promise<ThemeSkeleton> {\n return getThemeByName({ themeName, realm, state: this.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\n ): Promise<ThemeSkeleton> {\n return putTheme({ themeId, themeData, realm, state: this.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\n ): Promise<ThemeSkeleton> {\n return putThemeByName({ themeName, themeData, realm, state: this.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: this.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(themeId: string, realm: string): Promise<ThemeSkeleton> {\n return deleteTheme({ themeId, realm, state: this.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\n ): Promise<ThemeSkeleton> {\n return deleteThemeByName({ themeName, realm, state: this.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(realm: string): Promise<ThemeSkeleton[]> {\n return deleteThemes({ realm, state: this.state });\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(`ThemeApi.putThemes: start`);\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(`Update theme: ${theme._id} - ${theme.name}`);\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 `Add theme: ${themeMap[themeId]._id} - ${themeMap[themeId].name}`\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(updatedThemes);\n debugMessage(`ThemeApi.putThemes: finished`);\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":";;;;;;;;;;;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAAoD,SAAAG,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAC,GAAA,cAAAC,IAAA,GAAAP,GAAA,CAAAK,GAAA,EAAAC,GAAA,OAAAE,KAAA,GAAAD,IAAA,CAAAC,KAAA,WAAAC,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAF,IAAA,CAAAG,IAAA,IAAAT,OAAA,CAAAO,KAAA,YAAAG,OAAA,CAAAV,OAAA,CAAAO,KAAA,EAAAI,IAAA,CAAAT,KAAA,EAAAC,MAAA;AAAA,SAAAS,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAAN,OAAA,WAAAV,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAc,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAb,MAAAK,KAAA,IAAAT,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAI,KAAA,cAAAJ,OAAAe,GAAA,IAAApB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAe,GAAA,KAAAhB,KAAA,CAAAiB,SAAA;AAG7C,IAAMC,aAAa,GAAG,eAAe;AAACC,OAAA,CAAAD,aAAA,GAAAA,aAAA;AAE9B,MAAME,QAAQ,CAAC;EAE5BC,WAAWA,CAACC,KAAY,EAAE;IACxB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;;EAEA;AACF;AACA;AACA;AACA;EACQC,SAASA,CAAA,EAA6B;IAAA,IAAAC,KAAA;IAAA,OAAAd,iBAAA;MAC1C,OAAOa,SAAS,CAAC;QAAED,KAAK,EAAEE,KAAI,CAACF;MAAM,CAAC,CAAC;IAAC;EAC1C;;EAEA;AACF;AACA;AACA;AACA;AACA;EACQG,QAAQA,CAACC,OAAe,EAAEC,KAAa,EAA0B;IAAA,IAAAC,MAAA;IAAA,OAAAlB,iBAAA;MACrE,OAAOe,QAAQ,CAAC;QAAEC,OAAO;QAAEC,KAAK;QAAEL,KAAK,EAAEM,MAAI,CAACN;MAAM,CAAC,CAAC;IAAC;EACzD;;EAEA;AACF;AACA;AACA;AACA;AACA;EACQO,cAAcA,CAClBC,SAAiB,EACjBH,KAAa,EACW;IAAA,IAAAI,MAAA;IAAA,OAAArB,iBAAA;MACxB,OAAOmB,cAAc,CAAC;QAAEC,SAAS;QAAEH,KAAK;QAAEL,KAAK,EAAES,MAAI,CAACT;MAAM,CAAC,CAAC;IAAC;EACjE;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACQU,QAAQA,CACZN,OAAe,EACfO,SAAwB,EACxBN,KAAa,EACW;IAAA,IAAAO,MAAA;IAAA,OAAAxB,iBAAA;MACxB,OAAOsB,QAAQ,CAAC;QAAEN,OAAO;QAAEO,SAAS;QAAEN,KAAK;QAAEL,KAAK,EAAEY,MAAI,CAACZ;MAAM,CAAC,CAAC;IAAC;EACpE;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACQa,cAAcA,CAClBL,SAAiB,EACjBG,SAAwB,EACxBN,KAAa,EACW;IAAA,IAAAS,MAAA;IAAA,OAAA1B,iBAAA;MACxB,OAAOyB,cAAc,CAAC;QAAEL,SAAS;QAAEG,SAAS;QAAEN,KAAK;QAAEL,KAAK,EAAEc,MAAI,CAACd;MAAM,CAAC,CAAC;IAAC;EAC5E;;EAEA;AACF;AACA;AACA;AACA;AACA;EACQe,SAASA,CACbC,QAAoC,EACC;IAAA,IAAAC,MAAA;IAAA,OAAA7B,iBAAA;MACrC,OAAO2B,SAAS,CAAC;QAAEC,QAAQ;QAAEhB,KAAK,EAAEiB,MAAI,CAACjB;MAAM,CAAC,CAAC;IAAC;EACpD;;EAEA;AACF;AACA;AACA;AACA;AACA;EACQkB,WAAWA,CAACd,OAAe,EAAEC,KAAa,EAA0B;IAAA,IAAAc,MAAA;IAAA,OAAA/B,iBAAA;MACxE,OAAO8B,WAAW,CAAC;QAAEd,OAAO;QAAEC,KAAK;QAAEL,KAAK,EAAEmB,MAAI,CAACnB;MAAM,CAAC,CAAC;IAAC;EAC5D;;EAEA;AACF;AACA;AACA;AACA;AACA;EACQoB,iBAAiBA,CACrBZ,SAAiB,EACjBH,KAAa,EACW;IAAA,IAAAgB,MAAA;IAAA,OAAAjC,iBAAA;MACxB,OAAOgC,iBAAiB,CAAC;QAAEZ,SAAS;QAAEH,KAAK;QAAEL,KAAK,EAAEqB,MAAI,CAACrB;MAAM,CAAC,CAAC;IAAC;EACpE;;EAEA;AACF;AACA;AACA;AACA;EACQsB,YAAYA,CAACjB,KAAa,EAA4B;IAAA,IAAAkB,MAAA;IAAA,OAAAnC,iBAAA;MAC1D,OAAOkC,YAAY,CAAC;QAAEjB,KAAK;QAAEL,KAAK,EAAEuB,MAAI,CAACvB;MAAM,CAAC,CAAC;IAAC;EACpD;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AALAH,OAAA,CAAA2B,OAAA,GAAA1B,QAAA;AAMA,SAAS2B,cAAcA,CAAAC,IAAA,EAMH;EAAA,IANI;IACtBC,MAAM;IACNtB;EAIF,CAAC,GAAAqB,IAAA;EACC,IAAIC,MAAM,CAACtB,KAAK,IAAIsB,MAAM,CAACtB,KAAK,CAACA,KAAK,CAAC,EAAE;IACvC,OAAOsB,MAAM,CAACtB,KAAK,CAACA,KAAK,CAAC;EAC5B;EACA,OAAO,EAAE;AACX;;AAEA;AACA;AACA;AACA;AACA;AAJA,SAKsBJ,SAASA,CAAA2B,EAAA;EAAA,OAAAC,UAAA,CAAApC,KAAA,OAAAD,SAAA;AAAA;AAY/B;AACA;AACA;AACA;AACA;AACA;AALA,SAAAqC,WAAA;EAAAA,UAAA,GAAAzC,iBAAA,CAZO,WAAA0C,KAAA,EAMsB;IAAA,IANG;MAC9BzB,KAAK,GAAG,IAAI;MACZL;IAIF,CAAC,GAAA8B,KAAA;IACCzB,KAAK,GAAGA,KAAK,GAAGA,KAAK,GAAG,IAAA0B,6BAAmB,EAAC/B,KAAK,CAAC;IAClD,IAAM2B,MAAM,SAAS,IAAAK,6BAAe,EAAC;MAAEC,QAAQ,EAAErC,aAAa;MAAEI;IAAM,CAAC,CAAC;IACxE,OAAOyB,cAAc,CAAC;MAAEE,MAAM;MAAEtB;IAAM,CAAC,CAAC;EAC1C,CAAC;EAAA,OAAAwB,UAAA,CAAApC,KAAA,OAAAD,SAAA;AAAA;AAAA,SAQqBW,QAAQA,CAAA+B,GAAA;EAAA,OAAAC,SAAA,CAAA1C,KAAA,OAAAD,SAAA;AAAA;AAyB9B;AACA;AACA;AACA;AACA;AACA;AALA,SAAA2C,UAAA;EAAAA,SAAA,GAAA/C,iBAAA,CAzBO,WAAAgD,KAAA,EAQoB;IAAA,IARI;MAC7BhC,OAAO;MACPC,KAAK;MACLL;IAKF,CAAC,GAAAoC,KAAA;IACC/B,KAAK,GAAGA,KAAK,GAAG,IAAA0B,6BAAmB,EAAC/B,KAAK,CAAC;IAC1C,IAAM2B,MAAM,SAAS,IAAAK,6BAAe,EAAC;MAAEC,QAAQ,EAAErC,aAAa;MAAEI;IAAM,CAAC,CAAC;IACxE,IAAMqC,KAAK,GAAGZ,cAAc,CAAC;MAAEE,MAAM;MAAEtB;IAAM,CAAC,CAAC,CAACiC,MAAM,CACnDC,KAAK,IAAKA,KAAK,CAACC,GAAG,KAAKpC,OAC3B,CAAC;IACD,IAAIiC,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE;MACtB,OAAOJ,KAAK,CAAC,CAAC,CAAC;IACjB;IACA,IAAIA,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIC,KAAK,6BAAAC,MAAA,CACevC,OAAO,wBAAAuC,MAAA,CAAqBtC,KAAK,OAC/D,CAAC;IACH;IACA,MAAM,IAAIqC,KAAK,mBAAAC,MAAA,CAAmBvC,OAAO,4BAAAuC,MAAA,CAAyBtC,KAAK,OAAI,CAAC;EAC9E,CAAC;EAAA,OAAA8B,SAAA,CAAA1C,KAAA,OAAAD,SAAA;AAAA;AAAA,SAQqBe,cAAcA,CAAAqC,GAAA;EAAA,OAAAC,eAAA,CAAApD,KAAA,OAAAD,SAAA;AAAA;AAyBpC;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAAqD,gBAAA;EAAAA,eAAA,GAAAzD,iBAAA,CAzBO,WAAA0D,KAAA,EAQoB;IAAA,IARU;MACnCtC,SAAS;MACTH,KAAK;MACLL;IAKF,CAAC,GAAA8C,KAAA;IACCzC,KAAK,GAAGA,KAAK,GAAG,IAAA0B,6BAAmB,EAAC/B,KAAK,CAAC;IAC1C,IAAM2B,MAAM,SAAS,IAAAK,6BAAe,EAAC;MAAEC,QAAQ,EAAErC,aAAa;MAAEI;IAAM,CAAC,CAAC;IACxE,IAAMqC,KAAK,GAAGZ,cAAc,CAAC;MAAEE,MAAM;MAAEtB;IAAM,CAAC,CAAC,CAACiC,MAAM,CACnDC,KAAK,IAAKA,KAAK,CAACQ,IAAI,KAAKvC,SAC5B,CAAC;IACD,IAAI6B,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE;MACtB,OAAOJ,KAAK,CAAC,CAAC,CAAC;IACjB;IACA,IAAIA,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIC,KAAK,mCAAAC,MAAA,CACqBnC,SAAS,wBAAAmC,MAAA,CAAqBtC,KAAK,OACvE,CAAC;IACH;IACA,MAAM,IAAIqC,KAAK,WAAAC,MAAA,CAAWnC,SAAS,4BAAAmC,MAAA,CAAyBtC,KAAK,OAAI,CAAC;EACxE,CAAC;EAAA,OAAAwC,eAAA,CAAApD,KAAA,OAAAD,SAAA;AAAA;AAAA,SASqBkB,QAAQA,CAAAsC,GAAA;EAAA,OAAAC,SAAA,CAAAxD,KAAA,OAAAD,SAAA;AAAA;AA+C9B;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAAyD,UAAA;EAAAA,SAAA,GAAA7D,iBAAA,CA/CO,WAAA8D,KAAA,EAUoB;IAAA,IAVI;MAC7B9C,OAAO;MACPO,SAAS;MACTN,KAAK;MACLL;IAMF,CAAC,GAAAkD,KAAA;IACC7C,KAAK,GAAGA,KAAK,GAAG,IAAA0B,6BAAmB,EAAC/B,KAAK,CAAC;IAC1C,IAAMmD,IAAI,GAAGxC,SAAS;IACtBwC,IAAI,CAACX,GAAG,GAAGpC,OAAO;IAClB,IAAMuB,MAAM,SAAS,IAAAK,6BAAe,EAAC;MAAEC,QAAQ,EAAErC,aAAa;MAAEI;IAAM,CAAC,CAAC;IACxE,IAAIoD,KAAK,GAAG,IAAI;IAChB,IAAMC,WAAW,GAAG5B,cAAc,CAAC;MAAEE,MAAM;MAAEtB;IAAM,CAAC,CAAC,CAACiD,GAAG,CAAEf,KAAK,IAAK;MACnE,IAAIA,KAAK,CAACC,GAAG,KAAKpC,OAAO,EAAE;QACzBgD,KAAK,GAAG,KAAK;QACb,OAAOD,IAAI;MACb;MACA,IAAIA,IAAI,CAACI,SAAS,EAAEhB,KAAK,CAACgB,SAAS,GAAG,KAAK;MAC3C,OAAOhB,KAAK;IACd,CAAC,CAAC;IACF,IAAIa,KAAK,EAAE;MACTC,WAAW,CAACG,IAAI,CAACL,IAAI,CAAC;IACxB;IACAxB,MAAM,CAACtB,KAAK,CAACA,KAAK,CAAC,GAAGgD,WAAW;IACjC,IAAMhB,KAAK,GAAGZ,cAAc,CAAC;MAC3BE,MAAM,QAAQ,IAAA8B,6BAAe,EAAC;QAC5BxB,QAAQ,EAAErC,aAAa;QACvB8D,UAAU,EAAE/B,MAAM;QAClB3B;MACF,CAAC,CAAC;MACFK;IACF,CAAC,CAAC,CAACiC,MAAM,CAAEC,KAAK,IAAKA,KAAK,CAACC,GAAG,KAAKpC,OAAO,CAAC;IAC3C,IAAIiC,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE;MACtB,OAAOJ,KAAK,CAAC,CAAC,CAAC;IACjB;IACA,IAAIA,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIC,KAAK,6BAAAC,MAAA,CACevC,OAAO,wBAAAuC,MAAA,CAAqBtC,KAAK,OAC/D,CAAC;IACH;IACA,MAAM,IAAIqC,KAAK,mBAAAC,MAAA,CAAmBvC,OAAO,4BAAAuC,MAAA,CAAyBtC,KAAK,OAAI,CAAC;EAC9E,CAAC;EAAA,OAAA4C,SAAA,CAAAxD,KAAA,OAAAD,SAAA;AAAA;AAAA,SASqBqB,cAAcA,CAAA8C,GAAA;EAAA,OAAAC,eAAA,CAAAnE,KAAA,OAAAD,SAAA;AAAA;AA+CpC;AACA;AACA;AACA;AACA;AACA;AALA,SAAAoE,gBAAA;EAAAA,eAAA,GAAAxE,iBAAA,CA/CO,WAAAyE,KAAA,EAUoB;IAAA,IAVU;MACnCrD,SAAS;MACTG,SAAS;MACTN,KAAK;MACLL;IAMF,CAAC,GAAA6D,KAAA;IACCxD,KAAK,GAAGA,KAAK,GAAG,IAAA0B,6BAAmB,EAAC/B,KAAK,CAAC;IAC1C,IAAMmD,IAAI,GAAGxC,SAAS;IACtBwC,IAAI,CAACJ,IAAI,GAAGvC,SAAS;IACrB,IAAMmB,MAAM,SAAS,IAAAK,6BAAe,EAAC;MAAEC,QAAQ,EAAErC,aAAa;MAAEI;IAAM,CAAC,CAAC;IACxE,IAAIoD,KAAK,GAAG,IAAI;IAChB,IAAMC,WAAW,GAAG5B,cAAc,CAAC;MAAEE,MAAM;MAAEtB;IAAM,CAAC,CAAC,CAACiD,GAAG,CAAEf,KAAK,IAAK;MACnE,IAAIA,KAAK,CAACQ,IAAI,KAAKvC,SAAS,EAAE;QAC5B4C,KAAK,GAAG,KAAK;QACb,OAAOD,IAAI;MACb;MACA,IAAIA,IAAI,CAACI,SAAS,EAAEhB,KAAK,CAACgB,SAAS,GAAG,KAAK;MAC3C,OAAOhB,KAAK;IACd,CAAC,CAAC;IACF,IAAIa,KAAK,EAAE;MACTC,WAAW,CAACG,IAAI,CAACL,IAAI,CAAC;IACxB;IACAxB,MAAM,CAAC,OAAO,CAAC,CAACtB,KAAK,CAAC,GAAGgD,WAAW;IACpC,IAAMhB,KAAK,GAAGZ,cAAc,CAAC;MAC3BE,MAAM,QAAQ,IAAA8B,6BAAe,EAAC;QAC5BxB,QAAQ,EAAErC,aAAa;QACvB8D,UAAU,EAAE/B,MAAM;QAClB3B;MACF,CAAC,CAAC;MACFK;IACF,CAAC,CAAC,CAACiC,MAAM,CAAEC,KAAK,IAAKA,KAAK,CAACQ,IAAI,KAAKvC,SAAS,CAAC;IAC9C,IAAI6B,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE;MACtB,OAAOJ,KAAK,CAAC,CAAC,CAAC;IACjB;IACA,IAAIA,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIC,KAAK,qBAAAC,MAAA,CACOnC,SAAS,wBAAAmC,MAAA,CAAqBtC,KAAK,OACzD,CAAC;IACH;IACA,MAAM,IAAIqC,KAAK,WAAAC,MAAA,CAAWnC,SAAS,4BAAAmC,MAAA,CAAyBtC,KAAK,OAAI,CAAC;EACxE,CAAC;EAAA,OAAAuD,eAAA,CAAAnE,KAAA,OAAAD,SAAA;AAAA;AAAA,SAQqBuB,SAASA,CAAA+C,GAAA;EAAA,OAAAC,UAAA,CAAAtE,KAAA,OAAAD,SAAA;AAAA;AA6D/B;AACA;AACA;AACA;AACA;AACA;AALA,SAAAuE,WAAA;EAAAA,UAAA,GAAA3E,iBAAA,CA7DO,WAAA4E,KAAA,EAQiC;IAAA,IARR;MAC9BhD,QAAQ;MACRX,KAAK,GAAG,IAAI;MACZL;IAKF,CAAC,GAAAgE,KAAA;IACC,IAAAC,qBAAY,6BAA4B,CAAC;IACzC5D,KAAK,GAAGA,KAAK,GAAGA,KAAK,GAAG,IAAA0B,6BAAmB,EAAC/B,KAAK,CAAC;IAClD,IAAM2B,MAAM,SAAS,IAAAK,6BAAe,EAAC;MAAEC,QAAQ,EAAErC,aAAa;MAAEI;IAAM,CAAC,CAAC;IACxE,IAAMkE,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACpD,QAAQ,CAAC;IACzC,IAAMqD,gBAAgB,GAAG,EAAE;IAC3B,IAAIC,cAAc,GAAG,IAAI;IACzB;IACA,IAAIjB,WAAW,GAAG5B,cAAc,CAAC;MAAEE,MAAM;MAAEtB;IAAM,CAAC,CAAC,CAACiD,GAAG,CAAEf,KAAK,IAAK;MACjE,IAAIvB,QAAQ,CAACuB,KAAK,CAACC,GAAG,CAAC,EAAE;QACvB,IAAAyB,qBAAY,mBAAAtB,MAAA,CAAkBJ,KAAK,CAACC,GAAG,SAAAG,MAAA,CAAMJ,KAAK,CAACQ,IAAI,CAAE,CAAC;QAC1DsB,gBAAgB,CAACb,IAAI,CAACjB,KAAK,CAACC,GAAG,CAAC;QAChC;QACA,IAAIxB,QAAQ,CAACuB,KAAK,CAACC,GAAG,CAAC,CAACe,SAAS,EAAEe,cAAc,GAAG/B,KAAK,CAACC,GAAG;QAC7D,OAAOxB,QAAQ,CAACuB,KAAK,CAACC,GAAG,CAAC;MAC5B;MACA,OAAOD,KAAK;IACd,CAAC,CAAC;IACF,IAAMgC,WAAW,GAAGL,WAAW,CAAC5B,MAAM,CACnCkC,EAAE,IAAK,CAACH,gBAAgB,CAACI,QAAQ,CAACD,EAAE,CACvC,CAAC;IACD;IACAD,WAAW,CAACG,OAAO,CAAEtE,OAAO,IAAK;MAC/B,IAAA6D,qBAAY,gBAAAtB,MAAA,CACI3B,QAAQ,CAACZ,OAAO,CAAC,CAACoC,GAAG,SAAAG,MAAA,CAAM3B,QAAQ,CAACZ,OAAO,CAAC,CAAC2C,IAAI,CACjE,CAAC;MACD;MACA,IAAI/B,QAAQ,CAACZ,OAAO,CAAC,CAACmD,SAAS,EAAEe,cAAc,GAAGlE,OAAO;MACzDiD,WAAW,CAACG,IAAI,CAACxC,QAAQ,CAACZ,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC;IACF;IACA,IAAIkE,cAAc,EAAE;MAClBjB,WAAW,GAAGA,WAAW,CAACC,GAAG,CAAEf,KAAK,IAAK;QACvCA,KAAK,CAACgB,SAAS,GAAGhB,KAAK,CAACC,GAAG,KAAK8B,cAAc;QAC9C,OAAO/B,KAAK;MACd,CAAC,CAAC;IACJ;IACAZ,MAAM,CAACtB,KAAK,CAACA,KAAK,CAAC,GAAGgD,WAAW;IACjC,IAAMsB,aAAa,GAAG,IAAIC,GAAG,CAC3BnD,cAAc,CAAC;MACbE,MAAM,QAAQ,IAAA8B,6BAAe,EAAC;QAC5BxB,QAAQ,EAAErC,aAAa;QACvB8D,UAAU,EAAE/B,MAAM;QAClB3B;MACF,CAAC,CAAC;MACFK;IACF,CAAC,CAAC,CAACiD,GAAG,CAAEf,KAAK,IAAK,CAACA,KAAK,CAACC,GAAG,EAAED,KAAK,CAAC,CACtC,CAAC;IACD,IAAA0B,qBAAY,EAACU,aAAa,CAAC;IAC3B,IAAAV,qBAAY,gCAA+B,CAAC;IAC5C,OAAOU,aAAa;EACtB,CAAC;EAAA,OAAAZ,UAAA,CAAAtE,KAAA,OAAAD,SAAA;AAAA;AAAA,SAQqB0B,WAAWA,CAAA2D,GAAA;EAAA,OAAAC,YAAA,CAAArF,KAAA,OAAAD,SAAA;AAAA;AAyCjC;AACA;AACA;AACA;AACA;AACA;AALA,SAAAsF,aAAA;EAAAA,YAAA,GAAA1F,iBAAA,CAzCO,WAAA2F,KAAA,EAQoB;IAAA,IARO;MAChC3E,OAAO;MACPC,KAAK;MACLL;IAKF,CAAC,GAAA+E,KAAA;IACC1E,KAAK,GAAGA,KAAK,GAAG,IAAA0B,6BAAmB,EAAC/B,KAAK,CAAC;IAC1C,IAAM2B,MAAM,SAAS,IAAAK,6BAAe,EAAC;MAAEC,QAAQ,EAAErC,aAAa;MAAEI;IAAM,CAAC,CAAC;IACxE,IAAMqD,WAAW,GAAG5B,cAAc,CAAC;MAAEE,MAAM;MAAEtB;IAAM,CAAC,CAAC;IACrD,IAAM2E,aAA8B,GAAG,EAAE;IACzC,IAAMC,WAAW,GAAG5B,WAAW,CAACf,MAAM,CAAEC,KAAK,IAAK;MAChD,IAAIA,KAAK,CAACC,GAAG,KAAKpC,OAAO,EAAE;QACzB,OAAO,IAAI;MACb;MACA4E,aAAa,CAACxB,IAAI,CAACjB,KAAK,CAAC;MACzB,OAAO,KAAK;IACd,CAAC,CAAC;IACF,IAAIc,WAAW,CAACZ,MAAM,KAAKwC,WAAW,CAACxC,MAAM,EAC3C,MAAM,IAAIC,KAAK,KAAAC,MAAA,CAAKvC,OAAO,4BAAAuC,MAAA,CAAyBtC,KAAK,MAAG,CAAC;IAC/DsB,MAAM,CAACtB,KAAK,CAACA,KAAK,CAAC,GAAGgD,WAAW;IACjC,IAAM6B,eAAe,GAAGzD,cAAc,CAAC;MACrCE,MAAM,QAAQ,IAAA8B,6BAAe,EAAC;QAC5BxB,QAAQ,EAAErC,aAAa;QACvB8D,UAAU,EAAE/B,MAAM;QAClB3B;MACF,CAAC,CAAC;MACFK;IACF,CAAC,CAAC,CAACiC,MAAM,CAAEC,KAAK,IAAKyC,aAAa,CAACP,QAAQ,CAAClC,KAAK,CAAC,CAAC;IACnD,IAAIyC,aAAa,CAACvC,MAAM,GAAG,CAAC,IAAIyC,eAAe,CAACzC,MAAM,KAAK,CAAC,EAAE;MAC5D,OAAOuC,aAAa,CAAC,CAAC,CAAC;IACzB;IACA,MAAM,IAAItC,KAAK,yBAAAC,MAAA,CACWuC,eAAe,CAAC5B,GAAG,CACxCf,KAAK,IAAKA,KAAK,CAACC,GACnB,CAAC,gCAAAG,MAAA,CAA6BtC,KAAK,OACrC,CAAC;EACH,CAAC;EAAA,OAAAyE,YAAA,CAAArF,KAAA,OAAAD,SAAA;AAAA;AAAA,SAQqB4B,iBAAiBA,CAAA+D,GAAA;EAAA,OAAAC,kBAAA,CAAA3F,KAAA,OAAAD,SAAA;AAAA;AAyCvC;AACA;AACA;AACA;AACA;AAJA,SAAA4F,mBAAA;EAAAA,kBAAA,GAAAhG,iBAAA,CAzCO,WAAAiG,KAAA,EAQoB;IAAA,IARa;MACtC7E,SAAS;MACTH,KAAK;MACLL;IAKF,CAAC,GAAAqF,KAAA;IACChF,KAAK,GAAGA,KAAK,GAAG,IAAA0B,6BAAmB,EAAC/B,KAAK,CAAC;IAC1C,IAAM2B,MAAM,SAAS,IAAAK,6BAAe,EAAC;MAAEC,QAAQ,EAAErC,aAAa;MAAEI;IAAM,CAAC,CAAC;IACxE,IAAMqD,WAAW,GAAG5B,cAAc,CAAC;MAAEE,MAAM;MAAEtB;IAAM,CAAC,CAAC;IACrD,IAAM2E,aAA8B,GAAG,EAAE;IACzC,IAAMC,WAAW,GAAG5B,WAAW,CAACf,MAAM,CAAEC,KAAK,IAAK;MAChD,IAAIA,KAAK,CAACQ,IAAI,KAAKvC,SAAS,EAAE;QAC5B,OAAO,IAAI;MACb;MACAwE,aAAa,CAACxB,IAAI,CAACjB,KAAK,CAAC;MACzB,OAAO,KAAK;IACd,CAAC,CAAC;IACF,IAAIc,WAAW,CAACZ,MAAM,KAAKwC,WAAW,CAACxC,MAAM,EAC3C,MAAM,IAAIC,KAAK,KAAAC,MAAA,CAAKnC,SAAS,4BAAAmC,MAAA,CAAyBtC,KAAK,MAAG,CAAC;IACjEsB,MAAM,CAACtB,KAAK,CAACA,KAAK,CAAC,GAAG4E,WAAW;IACjC,IAAMC,eAAe,GAAGzD,cAAc,CAAC;MACrCE,MAAM,QAAQ,IAAA8B,6BAAe,EAAC;QAC5BxB,QAAQ,EAAErC,aAAa;QACvB8D,UAAU,EAAE/B,MAAM;QAClB3B;MACF,CAAC,CAAC;MACFK;IACF,CAAC,CAAC,CAACiC,MAAM,CAAEC,KAAK,IAAKyC,aAAa,CAACP,QAAQ,CAAClC,KAAK,CAAC,CAAC;IACnD,IAAIyC,aAAa,CAACvC,MAAM,GAAG,CAAC,IAAIyC,eAAe,CAACzC,MAAM,KAAK,CAAC,EAAE;MAC5D,OAAOuC,aAAa,CAAC,CAAC,CAAC;IACzB;IACA,MAAM,IAAItC,KAAK,yBAAAC,MAAA,CACWuC,eAAe,CAAC5B,GAAG,CACxCf,KAAK,IAAKA,KAAK,CAACC,GACnB,CAAC,gCAAAG,MAAA,CAA6BtC,KAAK,OACrC,CAAC;EACH,CAAC;EAAA,OAAA+E,kBAAA,CAAA3F,KAAA,OAAAD,SAAA;AAAA;AAAA,SAOqB8B,YAAYA,CAAAgE,GAAA;EAAA,OAAAC,aAAA,CAAA9F,KAAA,OAAAD,SAAA;AAAA;AAAA,SAAA+F,cAAA;EAAAA,aAAA,GAAAnG,iBAAA,CAA3B,WAAAoG,MAAA,EAMsB;IAAA,IANM;MACjCnF,KAAK;MACLL;IAIF,CAAC,GAAAwF,MAAA;IACCnF,KAAK,GAAGA,KAAK,GAAG,IAAA0B,6BAAmB,EAAC/B,KAAK,CAAC;IAC1C,IAAM2B,MAAM,SAAS,IAAAK,6BAAe,EAAC;MAAEC,QAAQ,EAAErC,aAAa;MAAEI;IAAM,CAAC,CAAC;IACxE,IAAMqD,WAAW,GAAG1B,MAAM,CAACtB,KAAK,CAACA,KAAK,CAAC;IACvC,IAAI,CAACgD,WAAW,EACd,MAAM,IAAIX,KAAK,4CAAAC,MAAA,CAA4CtC,KAAK,MAAG,CAAC;IACtE,IAAM2E,aAA8B,GAAG,EAAE;IACzC,KAAK,IAAMzC,KAAK,IAAIc,WAAW,EAAE;MAC/B2B,aAAa,CAACxB,IAAI,CAACjB,KAAK,CAAC;IAC3B;IACAZ,MAAM,CAACtB,KAAK,CAACA,KAAK,CAAC,GAAG,EAAE;IACxB,MAAM,IAAAoD,6BAAe,EAAC;MAAExB,QAAQ,EAAErC,aAAa;MAAE8D,UAAU,EAAE/B,MAAM;MAAE3B;IAAM,CAAC,CAAC;IAC7E,OAAOgF,aAAa;EACtB,CAAC;EAAA,OAAAO,aAAA,CAAA9F,KAAA,OAAAD,SAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeOps.test.js","names":["_index","require","_ForgeRockApiMockEngine","_AutoSetupPolly","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","autoSetupPolly","THEME_OBJ","_id","accountCardBackgroundColor","accountCardHeaderColor","accountCardInnerBorderColor","accountCardInputBackgroundColor","accountCardInputBorderColor","accountCardInputLabelColor","accountCardInputSelectColor","accountCardInputTextColor","accountCardOuterBorderColor","accountCardShadow","accountCardTabActiveBorderColor","accountCardTabActiveColor","accountCardTextColor","accountFooter","accountFooterEnabled","accountNavigationBackgroundColor","accountNavigationTextColor","accountNavigationToggleBorderColor","accountPageSections","accountControls","enabled","accountSecurity","subsections","password","securityQuestions","twoStepVerification","username","consent","oauthApplications","personalInformation","preferences","social","trustedDevices","accountTableRowHoverColor","backgroundColor","backgroundImage","bodyText","boldLinks","buttonRounded","dangerColor","favicon","fontFamily","isDefault","journeyCardBackgroundColor","journeyCardShadow","journeyCardTextColor","journeyCardTitleColor","journeyFooter","journeyFooterEnabled","journeyHeader","journeyHeaderEnabled","journeyInputBackgroundColor","journeyInputBorderColor","journeyInputLabelColor","journeyInputSelectColor","journeyInputTextColor","journeyJustifiedContent","journeyJustifiedContentEnabled","journeyLayout","journeyTheaterMode","linkActiveColor","linkColor","linkedTrees","logo","logoAltText","logoEnabled","logoHeight","logoProfile","logoProfileAltText","logoProfileCollapsed","logoProfileCollapsedAltText","logoProfileCollapsedHeight","logoProfileHeight","name","pageTitle","primaryColor","primaryOffColor","profileBackgroundColor","profileMenuHighlightColor","profileMenuHoverColor","profileMenuHoverTextColor","profileMenuTextHighlightColor","secondaryColor","switchBackgroundColor","textColor","topBarBackgroundColor","topBarBorderColor","topBarHeaderColor","topBarTextColor","THEME_MAP_RAW","THEME_MAP","Map","theme","Object","values","stageThemes","_x","_stageThemes","configEntity","IdmConfigRaw","putConfigEntity","describe","rootTheme","id","alphaTheme","bravoTheme","theme1","data","allThemes","getConfigEntity","noThemes","beforeAll","process","env","FRODO_POLLY_MODE","FRODO_RECORD_PHASE","afterAll","test","expect","Theme","getThemes","toBeDefined","response","toMatchSnapshot","getTheme","concat","assertions","getThemeByName","putTheme","putThemeByName","putThemes","deleteTheme","deleteThemeByName","deleteThemes"],"sources":["ops/ThemeOps.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses\n *\n * This step breaks down into 4 phases:\n *\n * Phase 1: Get/export individual and all and put/import individuals only\n * Phase 2: Import all\n * Phase 3: Deletes individuals by id\n * Phase 4: Delete all\n *\n * Because tests interfere with each other, they have to be run in groups of\n * non-interfering tests.\n *\n * To record API responses, you must call the test:record script and\n * override all the connection state variables required to connect to the\n * env to record from and also indicate the phase:\n *\n * SOME OF THESE TESTS ARE DESTRUCTIVE!!!\n * DO NOT RUN AGAINST AN ENV WITH ACTIVE CONFIGURATION!!!\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=1 FRODO_HOST=frodo-dev npm run test:record ThemeOps\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=2 FRODO_HOST=frodo-dev npm run test:record ThemeOps\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=3 FRODO_HOST=frodo-dev npm run test:record ThemeOps\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=4 FRODO_HOST=frodo-dev npm run test:record ThemeOps\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update snapshots\n *\n * After recording API responses, you must manually update/create snapshots\n * by running:\n *\n * FRODO_DEBUG=1 npm run test:update ThemeOps\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test:only ThemeOps\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { Theme, IdmConfigRaw } from '../index';\nimport { ThemeSkeleton } from '../api/ApiTypes';\nimport { getConfigEntity } from '../test/mocks/ForgeRockApiMockEngine';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\n\nautoSetupPolly();\n\nconst THEME_OBJ: ThemeSkeleton = {\n _id: 'a5420670-bae8-4ad6-9595-8477f6bca2c7',\n accountCardBackgroundColor: '#ffffff',\n accountCardHeaderColor: '#23282e',\n accountCardInnerBorderColor: '#e7eef4',\n accountCardInputBackgroundColor: '#ffffff',\n accountCardInputBorderColor: '#c0c9d5',\n accountCardInputLabelColor: '#5e6d82',\n accountCardInputSelectColor: '#e4f4fd',\n accountCardInputTextColor: '#23282e',\n accountCardOuterBorderColor: '#e7eef4',\n accountCardShadow: 3,\n accountCardTabActiveBorderColor: '#109cf1',\n accountCardTabActiveColor: '#e4f4fd',\n accountCardTextColor: '#5e6d82',\n accountFooter:\n '<div class=\"d-flex justify-content-center py-4 w-100\"><span class=\"pr-1\">© 2021</span>\\n<a href=\"#\"target=\"_blank\"class=\"text-body\">My Company, Inc</a><a href=\"#\"target=\"_blank\"style=\"color:#0000ee\"class=\"pl-3 text-body\">Privacy Policy</a><a href=\"#\"target=\"_blank\"style=\"color:#0000ee\"class=\"pl-3 text-body\">Terms & Conditions</a></div>',\n accountFooterEnabled: false,\n accountNavigationBackgroundColor: '#ffffff',\n accountNavigationTextColor: '#455469',\n accountNavigationToggleBorderColor: '#e7eef4',\n accountPageSections: {\n accountControls: {\n enabled: true,\n },\n accountSecurity: {\n enabled: true,\n subsections: {\n password: {\n enabled: true,\n },\n securityQuestions: {\n enabled: true,\n },\n twoStepVerification: {\n enabled: true,\n },\n username: {\n enabled: true,\n },\n },\n },\n consent: {\n enabled: true,\n },\n oauthApplications: {\n enabled: true,\n },\n personalInformation: {\n enabled: true,\n },\n preferences: {\n enabled: true,\n },\n social: {\n enabled: true,\n },\n trustedDevices: {\n enabled: true,\n },\n },\n accountTableRowHoverColor: '#f6f8fa',\n backgroundColor: '#324054',\n backgroundImage: 'https://pbs.twimg.com/media/EX_c_ZiVcAABUz9.jpg',\n bodyText: '#23282e',\n boldLinks: false,\n buttonRounded: '4',\n dangerColor: '#f7685b',\n favicon:\n 'https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/c04a0286-ea69-445d-9d2b-a05a67af92b9/d9skivx-86eab94e-a3b9-49fa-b1d1-da73642fe550.png?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOjdlMGQxODg5ODIyNjQzNzNhNWYwZDQxNWVhMGQyNmUwIiwiaXNzIjoidXJuOmFwcDo3ZTBkMTg4OTgyMjY0MzczYTVmMGQ0MTVlYTBkMjZlMCIsIm9iaiI6W1t7InBhdGgiOiJcL2ZcL2MwNGEwMjg2LWVhNjktNDQ1ZC05ZDJiLWEwNWE2N2FmOTJiOVwvZDlza2l2eC04NmVhYjk0ZS1hM2I5LTQ5ZmEtYjFkMS1kYTczNjQyZmU1NTAucG5nIn1dXSwiYXVkIjpbInVybjpzZXJ2aWNlOmZpbGUuZG93bmxvYWQiXX0.y2v-qONWeg4d4dY28BjLxknae_xnCh6vA2LkE96rdlY',\n fontFamily: 'Open Sans',\n isDefault: true,\n journeyCardBackgroundColor: '#ffffff',\n journeyCardShadow: 3,\n journeyCardTextColor: '#5e6d82',\n journeyCardTitleColor: '#23282e',\n journeyFooter:\n '<div class=\"d-flex justify-content-center py-4 w-100\"><span class=\"pr-1\">© 2021</span>\\n<a href=\"#\"target=\"_blank\"class=\"text-body\">My Company, Inc</a><a href=\"#\"target=\"_blank\"style=\"color:#0000ee\"class=\"pl-3 text-body\">Privacy Policy</a><a href=\"#\"target=\"_blank\"style=\"color:#0000ee\"class=\"pl-3 text-body\">Terms & Conditions</a></div>',\n journeyFooterEnabled: false,\n journeyHeader:\n '<div class=\"d-flex justify-content-center py-4 flex-grow-1\">Header Content</div>',\n journeyHeaderEnabled: false,\n journeyInputBackgroundColor: '#ffffff',\n journeyInputBorderColor: '#c0c9d5',\n journeyInputLabelColor: '#5e6d82',\n journeyInputSelectColor: '#e4f4fd',\n journeyInputTextColor: '#23282e',\n journeyJustifiedContent: '',\n journeyJustifiedContentEnabled: false,\n journeyLayout: 'card',\n journeyTheaterMode: false,\n linkActiveColor: '#0A6EAB',\n linkColor: '#109CF1',\n linkedTrees: [],\n logo: 'https://upload.wikimedia.org/wikipedia/commons/b/bd/The_Expanse_logo.png',\n logoAltText: 'TransUnion',\n logoEnabled: true,\n logoHeight: '40',\n logoProfile:\n 'https://upload.wikimedia.org/wikipedia/commons/b/bd/The_Expanse_logo.png',\n logoProfileAltText: 'TransUnion',\n logoProfileCollapsed: '',\n logoProfileCollapsedAltText: '',\n logoProfileCollapsedHeight: '24',\n logoProfileHeight: '40',\n name: 'Expanse',\n pageTitle: '#23282e',\n primaryColor: '#324054',\n primaryOffColor: '#242E3C',\n profileBackgroundColor: '#FFFFFF',\n profileMenuHighlightColor: '#f3f5f8',\n profileMenuHoverColor: '#109cf1',\n profileMenuHoverTextColor: '#ffffff',\n profileMenuTextHighlightColor: '#D81B1B',\n secondaryColor: '#69788b',\n switchBackgroundColor: '#c0c9d5',\n textColor: '#FFFFFF',\n topBarBackgroundColor: '#ffffff',\n topBarBorderColor: '#e7eef4',\n topBarHeaderColor: '#23282e',\n topBarTextColor: '#69788b',\n};\nconst THEME_MAP_RAW = {\n '84bbd22e-6def-459f-91c9-4c9aa4e0bec0': {\n accountFooter:\n '<div class=\"d-flex justify-content-center py-4 w-100\"><span class=\"pr-1\">© 2021</span>\\n<a href=\"#\" target=\"_blank\" class=\"text-body\">My Company, Inc</a><a href=\"#\" target=\"_blank\" style=\"color: #0000ee\" class=\"pl-3 text-body\">Privacy Policy</a><a href=\"#\" target=\"_blank\" style=\"color: #0000ee\" class=\"pl-3 text-body\">Terms & Conditions</a></div>',\n accountFooterEnabled: false,\n accountPageSections: {\n accountControls: {\n enabled: false,\n },\n accountSecurity: {\n enabled: true,\n subsections: {\n password: {\n enabled: true,\n },\n securityQuestions: {\n enabled: false,\n },\n twoStepVerification: {\n enabled: true,\n },\n username: {\n enabled: true,\n },\n },\n },\n consent: {\n enabled: false,\n },\n oauthApplications: {\n enabled: false,\n },\n personalInformation: {\n enabled: true,\n },\n preferences: {\n enabled: false,\n },\n social: {\n enabled: false,\n },\n trustedDevices: {\n enabled: true,\n },\n },\n backgroundColor: '#FFFFFF',\n backgroundImage: '',\n bodyText: '#000000',\n buttonRounded: '0',\n dangerColor: '#f7685b',\n favicon: '',\n isDefault: false,\n journeyFooter:\n '<div class=\"d-flex justify-content-center py-4 w-100\"><span class=\"pr-1\">© 2021</span>\\n<a href=\"#\" target=\"_blank\" class=\"text-body\">My Company, Inc</a><a href=\"#\" target=\"_blank\" style=\"color: #0000ee\" class=\"pl-3 text-body\">Privacy Policy</a><a href=\"#\" target=\"_blank\" style=\"color: #0000ee\" class=\"pl-3 text-body\">Terms & Conditions</a></div>',\n journeyFooterEnabled: false,\n journeyHeader:\n '<div class=\"d-flex justify-content-center py-4 flex-grow-1\">Header Content</div>',\n journeyHeaderEnabled: false,\n journeyJustifiedContent: '',\n journeyJustifiedContentEnabled: false,\n journeyLayout: 'card',\n journeyTheaterMode: false,\n linkActiveColor: '#000000',\n linkColor: '#000000',\n linkedTrees: [],\n logo: 'https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg',\n logoAltText: 'Contrast',\n logoEnabled: true,\n logoHeight: '72',\n logoProfile:\n \"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\n logoProfileAltText: 'Contrast',\n logoProfileCollapsed:\n \"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\n logoProfileCollapsedAltText: '',\n logoProfileCollapsedHeight: '22',\n logoProfileHeight: '22',\n name: 'Contrast',\n pageTitle: '#23282e',\n primaryColor: '#000000',\n primaryOffColor: '#000000',\n profileBackgroundColor: '#FFFFFF',\n profileMenuHighlightColor: '#FFFFFF',\n profileMenuHoverColor: '#FFFFFF',\n profileMenuHoverTextColor: '#000000',\n profileMenuTextHighlightColor: '#455469',\n secondaryColor: '#69788b',\n textColor: '#ffffff',\n _id: '84bbd22e-6def-459f-91c9-4c9aa4e0bec0',\n },\n 'a5420670-bae8-4ad6-9595-8477f6bca2c7': THEME_OBJ,\n};\nconst THEME_MAP: Map<string, ThemeSkeleton> = new Map<string, ThemeSkeleton>();\nfor (const theme of Object.values(THEME_MAP_RAW)) {\n THEME_MAP[theme._id] = theme;\n}\n\nasync function stageThemes(configEntity: { id: string; data: object }) {\n // delete if exists, then create\n try {\n await IdmConfigRaw.putConfigEntity('ui/themerealm', configEntity);\n } catch (error) {\n // ignore\n }\n}\n\ndescribe('ThemeOps', () => {\n const rootTheme = {\n id: 'd6636b33-111b-40f2-870d-f4dcb7281e43',\n name: 'Starter Theme',\n };\n const alphaTheme = {\n id: '84bbd22e-6def-459f-91c9-4c9aa4e0bec0',\n name: 'Contrast',\n };\n const bravoTheme = {\n id: '05ef90a8-10f2-47fd-a481-c8c52f49e48f',\n name: 'Highlander',\n };\n const theme1 = {\n id: 'a5420670-bae8-4ad6-9595-8477f6bca2c7',\n name: 'Expanse',\n data: THEME_OBJ,\n };\n const allThemes = getConfigEntity('ui/themerealm', 'all');\n const noThemes = getConfigEntity('ui/themerealm', 'empty');\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n // Phase 1: Get/export individual and all and put/import individuals only\n // Phase 3: Deletes individuals by id\n // Phase 4: Delete multiple or all\n if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n (process.env.FRODO_RECORD_PHASE === '1' ||\n process.env.FRODO_RECORD_PHASE === '3' ||\n process.env.FRODO_RECORD_PHASE === '4')\n ) {\n await stageThemes(allThemes);\n }\n // Phase 2: Import multiple or all\n else if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '2'\n ) {\n await stageThemes(noThemes);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageThemes(allThemes);\n }\n });\n\n // Phase 1: Get/export individual and all and put/import individuals only\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '1')\n ) {\n describe('getThemes()', () => {\n test('0: Method is implemented', async () => {\n expect(Theme.getThemes).toBeDefined();\n });\n\n test('1: Get all alpha themes (cloud)', async () => {\n const response = await Theme.getThemes('alpha');\n expect(response).toMatchSnapshot();\n });\n\n test('2: Get all bravo themes (cloud)', async () => {\n const response = await Theme.getThemes('bravo');\n expect(response).toMatchSnapshot();\n });\n\n test('3: Get all root themes (encore)', async () => {\n const response = await Theme.getThemes('/');\n expect(response).toMatchSnapshot();\n });\n\n test('4: Get all themes from non-existent realm', async () => {\n const response = await Theme.getThemes('doesnotexist');\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getTheme()', () => {\n test('0: Method is implemented', async () => {\n expect(Theme.getTheme).toBeDefined();\n });\n\n test(`1: Get alpha theme '${alphaTheme.id}' (cloud)`, async () => {\n const response = await Theme.getTheme(alphaTheme.id, 'alpha');\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get bravo theme '${bravoTheme.id}' (cloud)`, async () => {\n const response = await Theme.getTheme(bravoTheme.id, 'bravo');\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Get root theme '${rootTheme.id}' (encore)`, async () => {\n const response = await Theme.getTheme(rootTheme.id, '/');\n expect(response).toMatchSnapshot();\n });\n\n test(`4: Get theme '${rootTheme.id}' from non-existent realm`, async () => {\n expect.assertions(1);\n try {\n await Theme.getTheme(rootTheme.id, 'doesnotexist');\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n\n describe('getThemeByName()', () => {\n test('0: Method is implemented', async () => {\n expect(Theme.getThemeByName).toBeDefined();\n });\n\n test(`1: Get alpha theme '${alphaTheme.name}' (cloud)`, async () => {\n const response = await Theme.getThemeByName(alphaTheme.name, 'alpha');\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get bravo theme '${bravoTheme.name}' (cloud)`, async () => {\n const response = await Theme.getThemeByName(bravoTheme.name, 'bravo');\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Get root theme '${rootTheme.name}' (encore)`, async () => {\n const response = await Theme.getThemeByName(rootTheme.name, '/');\n expect(response).toMatchSnapshot();\n });\n\n test(`4: Get theme '${rootTheme.name}' from non-existent realm`, async () => {\n expect.assertions(1);\n try {\n await Theme.getThemeByName(rootTheme.name, 'doesnotexist');\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n\n describe('putTheme()', () => {\n test('0: Method is implemented', async () => {\n expect(Theme.putTheme).toBeDefined();\n });\n\n test(`1: Put alpha theme '${theme1.id}' (cloud)`, async () => {\n const response = await Theme.putTheme(theme1.id, theme1.data, 'alpha');\n expect(response).toMatchSnapshot();\n });\n\n test('2: Put bravo theme (cloud)', async () => {\n const response = await Theme.putTheme(theme1.id, theme1.data, 'bravo');\n expect(response).toMatchSnapshot();\n });\n\n test('3: Put root theme (encore)', async () => {\n const response = await Theme.putTheme(theme1.id, theme1.data, '/');\n expect(response).toMatchSnapshot();\n });\n\n test('4: Put theme from non-existent realm (encore)', async () => {\n const response = await Theme.putTheme(\n theme1.id,\n theme1.data,\n 'doesnotexist'\n );\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putThemeByName()', () => {\n test('0: Method is implemented', async () => {\n expect(Theme.putThemeByName).toBeDefined();\n });\n\n test('1: Put alpha theme (cloud)', async () => {\n const response = await Theme.putThemeByName(\n theme1.name,\n theme1.data,\n 'alpha'\n );\n expect(response).toMatchSnapshot();\n });\n\n test('2: Put bravo theme (cloud)', async () => {\n const response = await Theme.putThemeByName(\n theme1.name,\n theme1.data,\n 'bravo'\n );\n expect(response).toMatchSnapshot();\n });\n\n test('3: Put root theme (encore)', async () => {\n const response = await Theme.putThemeByName(\n theme1.name,\n theme1.data,\n '/'\n );\n expect(response).toMatchSnapshot();\n });\n\n test('4: Put theme from non-existent realm (encore)', async () => {\n const response = await Theme.putThemeByName(\n theme1.name,\n theme1.data,\n 'doesnotexist'\n );\n expect(response).toMatchSnapshot();\n });\n });\n }\n\n // Phase 2: Import multiple or all\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '2')\n ) {\n describe('putThemes()', () => {\n test('0: Method is implemented', async () => {\n expect(Theme.putThemes).toBeDefined();\n });\n\n test('1: Update 1 and add 1 alpha themes', async () => {\n const response = await Theme.putThemes(THEME_MAP, 'alpha');\n expect(response).toMatchSnapshot();\n });\n\n test('2: Update 1 and add 1 bravo themes', async () => {\n const response = await Theme.putThemes(THEME_MAP, 'bravo');\n expect(response).toMatchSnapshot();\n });\n\n test('3: Add 2 root themes', async () => {\n const response = await Theme.putThemes(THEME_MAP, '/');\n expect(response).toMatchSnapshot();\n });\n\n test('4: Add 2 themes to non-existent realm', async () => {\n const response = await Theme.putThemes(THEME_MAP, 'doesnotexist');\n expect(response).toMatchSnapshot();\n });\n });\n }\n\n // Phase 3: Deletes individuals by id\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '3')\n ) {\n describe('deleteTheme()', () => {\n test('0: Method is implemented', async () => {\n expect(Theme.deleteTheme).toBeDefined();\n });\n\n test(`1: Delete alpha theme '${alphaTheme.id}' (cloud)`, async () => {\n const response = await Theme.deleteTheme(alphaTheme.id, 'alpha');\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete bravo theme '${alphaTheme.id}' (cloud)`, async () => {\n const response = await Theme.deleteTheme(bravoTheme.id, 'bravo');\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Delete root theme '${alphaTheme.id}' (encore)`, async () => {\n const response = await Theme.deleteTheme(rootTheme.id, '/');\n expect(response).toMatchSnapshot();\n });\n\n test(`4: Delete theme '${alphaTheme.id}' from non-existent realm`, async () => {\n expect.assertions(1);\n try {\n await Theme.deleteTheme(rootTheme.id, 'doesnotexist');\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n\n describe('deleteThemeByName()', () => {\n test('0: Method is implemented', async () => {\n expect(Theme.deleteThemeByName).toBeDefined();\n });\n\n test(`1: Delete alpha theme '${alphaTheme.name}' by name (cloud)`, async () => {\n const response = await Theme.deleteThemeByName(\n alphaTheme.name,\n 'alpha'\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete bravo theme '${bravoTheme.name}' by name (cloud)`, async () => {\n const response = await Theme.deleteThemeByName(\n bravoTheme.name,\n 'bravo'\n );\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Delete root theme '${rootTheme.name}' by name (encore)`, async () => {\n const response = await Theme.deleteThemeByName(rootTheme.name, '/');\n expect(response).toMatchSnapshot();\n });\n\n test(`4: Delete theme '${rootTheme.name}' by name from non-existent realm (encore)`, async () => {\n expect.assertions(1);\n try {\n await Theme.deleteThemeByName(rootTheme.name, 'doesnotexist');\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n }\n\n // Phase 4: Delete multiple or all\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '4')\n ) {\n describe('deleteThemes()', () => {\n test('0: Method is implemented', async () => {\n expect(Theme.deleteThemes).toBeDefined();\n });\n\n test('1: Delete all alpha themes', async () => {\n const response = await Theme.deleteThemes('alpha');\n expect(response).toMatchSnapshot();\n });\n\n test('2: Delete all bravo themes', async () => {\n const response = await Theme.deleteThemes('bravo');\n expect(response).toMatchSnapshot();\n });\n\n test('3: Delete all root themes (encore)', async () => {\n const response = await Theme.deleteThemes('/');\n expect(response).toMatchSnapshot();\n });\n\n test('4: Delete all themes in non-existent realm', async () => {\n expect.assertions(1);\n try {\n await Theme.deleteThemes('doesnotexist');\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n }\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThemeOps.test.js","names":["_index","require","IdmConfigApi","_interopRequireWildcard","ThemeOps","_ForgeRockApiMockEngine","_AutoSetupPolly","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","autoSetupPolly","THEME_OBJ","_id","accountCardBackgroundColor","accountCardHeaderColor","accountCardInnerBorderColor","accountCardInputBackgroundColor","accountCardInputBorderColor","accountCardInputLabelColor","accountCardInputSelectColor","accountCardInputTextColor","accountCardOuterBorderColor","accountCardShadow","accountCardTabActiveBorderColor","accountCardTabActiveColor","accountCardTextColor","accountFooter","accountFooterEnabled","accountNavigationBackgroundColor","accountNavigationTextColor","accountNavigationToggleBorderColor","accountPageSections","accountControls","enabled","accountSecurity","subsections","password","securityQuestions","twoStepVerification","username","consent","oauthApplications","personalInformation","preferences","social","trustedDevices","accountTableRowHoverColor","backgroundColor","backgroundImage","bodyText","boldLinks","buttonRounded","dangerColor","favicon","fontFamily","isDefault","journeyCardBackgroundColor","journeyCardShadow","journeyCardTextColor","journeyCardTitleColor","journeyFooter","journeyFooterEnabled","journeyHeader","journeyHeaderEnabled","journeyInputBackgroundColor","journeyInputBorderColor","journeyInputLabelColor","journeyInputSelectColor","journeyInputTextColor","journeyJustifiedContent","journeyJustifiedContentEnabled","journeyLayout","journeyTheaterMode","linkActiveColor","linkColor","linkedTrees","logo","logoAltText","logoEnabled","logoHeight","logoProfile","logoProfileAltText","logoProfileCollapsed","logoProfileCollapsedAltText","logoProfileCollapsedHeight","logoProfileHeight","name","pageTitle","primaryColor","primaryOffColor","profileBackgroundColor","profileMenuHighlightColor","profileMenuHoverColor","profileMenuHoverTextColor","profileMenuTextHighlightColor","secondaryColor","switchBackgroundColor","textColor","topBarBackgroundColor","topBarBorderColor","topBarHeaderColor","topBarTextColor","THEME_MAP_RAW","THEME_MAP","Map","theme","values","stageThemes","_x","_stageThemes","configEntity","putConfigEntity","entityId","entityData","state","describe","rootTheme","id","alphaTheme","bravoTheme","theme1","data","allThemes","getConfigEntity","noThemes","beforeAll","process","env","FRODO_POLLY_MODE","FRODO_RECORD_PHASE","afterAll","test","expect","getThemes","toBeDefined","response","realm","toMatchSnapshot","getTheme","concat","themeId","assertions","getThemeByName","themeName","putTheme","themeData","putThemeByName","putThemes","themeMap","deleteTheme","deleteThemeByName","deleteThemes"],"sources":["ops/ThemeOps.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses\n *\n * This step breaks down into 4 phases:\n *\n * Phase 1: Get/export individual and all and put/import individuals only\n * Phase 2: Import all\n * Phase 3: Deletes individuals by id\n * Phase 4: Delete all\n *\n * Because tests interfere with each other, they have to be run in groups of\n * non-interfering tests.\n *\n * To record API responses, you must call the test:record script and\n * override all the connection state variables required to connect to the\n * env to record from and also indicate the phase:\n *\n * SOME OF THESE TESTS ARE DESTRUCTIVE!!!\n * DO NOT RUN AGAINST AN ENV WITH ACTIVE CONFIGURATION!!!\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=1 FRODO_HOST=frodo-dev npm run test:record ThemeOps\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=2 FRODO_HOST=frodo-dev npm run test:record ThemeOps\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=3 FRODO_HOST=frodo-dev npm run test:record ThemeOps\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=4 FRODO_HOST=frodo-dev npm run test:record ThemeOps\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update snapshots\n *\n * After recording API responses, you must manually update/create snapshots\n * by running:\n *\n * FRODO_DEBUG=1 npm run test:update ThemeOps\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test:only ThemeOps\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { state } from '../index';\nimport * as IdmConfigApi from '../api/IdmConfigApi';\nimport * as ThemeOps from './ThemeOps';\nimport { ThemeSkeleton } from '../api/ApiTypes';\nimport { getConfigEntity } from '../test/mocks/ForgeRockApiMockEngine';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\n\nautoSetupPolly();\n\nconst THEME_OBJ: ThemeSkeleton = {\n _id: 'a5420670-bae8-4ad6-9595-8477f6bca2c7',\n accountCardBackgroundColor: '#ffffff',\n accountCardHeaderColor: '#23282e',\n accountCardInnerBorderColor: '#e7eef4',\n accountCardInputBackgroundColor: '#ffffff',\n accountCardInputBorderColor: '#c0c9d5',\n accountCardInputLabelColor: '#5e6d82',\n accountCardInputSelectColor: '#e4f4fd',\n accountCardInputTextColor: '#23282e',\n accountCardOuterBorderColor: '#e7eef4',\n accountCardShadow: 3,\n accountCardTabActiveBorderColor: '#109cf1',\n accountCardTabActiveColor: '#e4f4fd',\n accountCardTextColor: '#5e6d82',\n accountFooter:\n '<div class=\"d-flex justify-content-center py-4 w-100\"><span class=\"pr-1\">© 2021</span>\\n<a href=\"#\"target=\"_blank\"class=\"text-body\">My Company, Inc</a><a href=\"#\"target=\"_blank\"style=\"color:#0000ee\"class=\"pl-3 text-body\">Privacy Policy</a><a href=\"#\"target=\"_blank\"style=\"color:#0000ee\"class=\"pl-3 text-body\">Terms & Conditions</a></div>',\n accountFooterEnabled: false,\n accountNavigationBackgroundColor: '#ffffff',\n accountNavigationTextColor: '#455469',\n accountNavigationToggleBorderColor: '#e7eef4',\n accountPageSections: {\n accountControls: {\n enabled: true,\n },\n accountSecurity: {\n enabled: true,\n subsections: {\n password: {\n enabled: true,\n },\n securityQuestions: {\n enabled: true,\n },\n twoStepVerification: {\n enabled: true,\n },\n username: {\n enabled: true,\n },\n },\n },\n consent: {\n enabled: true,\n },\n oauthApplications: {\n enabled: true,\n },\n personalInformation: {\n enabled: true,\n },\n preferences: {\n enabled: true,\n },\n social: {\n enabled: true,\n },\n trustedDevices: {\n enabled: true,\n },\n },\n accountTableRowHoverColor: '#f6f8fa',\n backgroundColor: '#324054',\n backgroundImage: 'https://pbs.twimg.com/media/EX_c_ZiVcAABUz9.jpg',\n bodyText: '#23282e',\n boldLinks: false,\n buttonRounded: '4',\n dangerColor: '#f7685b',\n favicon:\n 'https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/c04a0286-ea69-445d-9d2b-a05a67af92b9/d9skivx-86eab94e-a3b9-49fa-b1d1-da73642fe550.png?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOjdlMGQxODg5ODIyNjQzNzNhNWYwZDQxNWVhMGQyNmUwIiwiaXNzIjoidXJuOmFwcDo3ZTBkMTg4OTgyMjY0MzczYTVmMGQ0MTVlYTBkMjZlMCIsIm9iaiI6W1t7InBhdGgiOiJcL2ZcL2MwNGEwMjg2LWVhNjktNDQ1ZC05ZDJiLWEwNWE2N2FmOTJiOVwvZDlza2l2eC04NmVhYjk0ZS1hM2I5LTQ5ZmEtYjFkMS1kYTczNjQyZmU1NTAucG5nIn1dXSwiYXVkIjpbInVybjpzZXJ2aWNlOmZpbGUuZG93bmxvYWQiXX0.y2v-qONWeg4d4dY28BjLxknae_xnCh6vA2LkE96rdlY',\n fontFamily: 'Open Sans',\n isDefault: true,\n journeyCardBackgroundColor: '#ffffff',\n journeyCardShadow: 3,\n journeyCardTextColor: '#5e6d82',\n journeyCardTitleColor: '#23282e',\n journeyFooter:\n '<div class=\"d-flex justify-content-center py-4 w-100\"><span class=\"pr-1\">© 2021</span>\\n<a href=\"#\"target=\"_blank\"class=\"text-body\">My Company, Inc</a><a href=\"#\"target=\"_blank\"style=\"color:#0000ee\"class=\"pl-3 text-body\">Privacy Policy</a><a href=\"#\"target=\"_blank\"style=\"color:#0000ee\"class=\"pl-3 text-body\">Terms & Conditions</a></div>',\n journeyFooterEnabled: false,\n journeyHeader:\n '<div class=\"d-flex justify-content-center py-4 flex-grow-1\">Header Content</div>',\n journeyHeaderEnabled: false,\n journeyInputBackgroundColor: '#ffffff',\n journeyInputBorderColor: '#c0c9d5',\n journeyInputLabelColor: '#5e6d82',\n journeyInputSelectColor: '#e4f4fd',\n journeyInputTextColor: '#23282e',\n journeyJustifiedContent: '',\n journeyJustifiedContentEnabled: false,\n journeyLayout: 'card',\n journeyTheaterMode: false,\n linkActiveColor: '#0A6EAB',\n linkColor: '#109CF1',\n linkedTrees: [],\n logo: 'https://upload.wikimedia.org/wikipedia/commons/b/bd/The_Expanse_logo.png',\n logoAltText: 'TransUnion',\n logoEnabled: true,\n logoHeight: '40',\n logoProfile:\n 'https://upload.wikimedia.org/wikipedia/commons/b/bd/The_Expanse_logo.png',\n logoProfileAltText: 'TransUnion',\n logoProfileCollapsed: '',\n logoProfileCollapsedAltText: '',\n logoProfileCollapsedHeight: '24',\n logoProfileHeight: '40',\n name: 'Expanse',\n pageTitle: '#23282e',\n primaryColor: '#324054',\n primaryOffColor: '#242E3C',\n profileBackgroundColor: '#FFFFFF',\n profileMenuHighlightColor: '#f3f5f8',\n profileMenuHoverColor: '#109cf1',\n profileMenuHoverTextColor: '#ffffff',\n profileMenuTextHighlightColor: '#D81B1B',\n secondaryColor: '#69788b',\n switchBackgroundColor: '#c0c9d5',\n textColor: '#FFFFFF',\n topBarBackgroundColor: '#ffffff',\n topBarBorderColor: '#e7eef4',\n topBarHeaderColor: '#23282e',\n topBarTextColor: '#69788b',\n};\nconst THEME_MAP_RAW = {\n '84bbd22e-6def-459f-91c9-4c9aa4e0bec0': {\n accountFooter:\n '<div class=\"d-flex justify-content-center py-4 w-100\"><span class=\"pr-1\">© 2021</span>\\n<a href=\"#\" target=\"_blank\" class=\"text-body\">My Company, Inc</a><a href=\"#\" target=\"_blank\" style=\"color: #0000ee\" class=\"pl-3 text-body\">Privacy Policy</a><a href=\"#\" target=\"_blank\" style=\"color: #0000ee\" class=\"pl-3 text-body\">Terms & Conditions</a></div>',\n accountFooterEnabled: false,\n accountPageSections: {\n accountControls: {\n enabled: false,\n },\n accountSecurity: {\n enabled: true,\n subsections: {\n password: {\n enabled: true,\n },\n securityQuestions: {\n enabled: false,\n },\n twoStepVerification: {\n enabled: true,\n },\n username: {\n enabled: true,\n },\n },\n },\n consent: {\n enabled: false,\n },\n oauthApplications: {\n enabled: false,\n },\n personalInformation: {\n enabled: true,\n },\n preferences: {\n enabled: false,\n },\n social: {\n enabled: false,\n },\n trustedDevices: {\n enabled: true,\n },\n },\n backgroundColor: '#FFFFFF',\n backgroundImage: '',\n bodyText: '#000000',\n buttonRounded: '0',\n dangerColor: '#f7685b',\n favicon: '',\n isDefault: false,\n journeyFooter:\n '<div class=\"d-flex justify-content-center py-4 w-100\"><span class=\"pr-1\">© 2021</span>\\n<a href=\"#\" target=\"_blank\" class=\"text-body\">My Company, Inc</a><a href=\"#\" target=\"_blank\" style=\"color: #0000ee\" class=\"pl-3 text-body\">Privacy Policy</a><a href=\"#\" target=\"_blank\" style=\"color: #0000ee\" class=\"pl-3 text-body\">Terms & Conditions</a></div>',\n journeyFooterEnabled: false,\n journeyHeader:\n '<div class=\"d-flex justify-content-center py-4 flex-grow-1\">Header Content</div>',\n journeyHeaderEnabled: false,\n journeyJustifiedContent: '',\n journeyJustifiedContentEnabled: false,\n journeyLayout: 'card',\n journeyTheaterMode: false,\n linkActiveColor: '#000000',\n linkColor: '#000000',\n linkedTrees: [],\n logo: 'https://cdn.forgerock.com/platform/themes/contrast/logo-contrast.svg',\n logoAltText: 'Contrast',\n logoEnabled: true,\n logoHeight: '72',\n logoProfile:\n \"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\n logoProfileAltText: 'Contrast',\n logoProfileCollapsed:\n \"data:image/svg+xml,%0A%3Csvg width='46' height='46' viewBox='0 0 46 46' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.3477 13.5664H43.9438C43.5192 12.6317 43.0319 11.734 42.4905 10.8711H24.3477V13.5664Z' fill='black'/%3E%3Cpath d='M24.3477 8.17578H40.5261C39.6996 7.2052 38.7974 6.30182 37.8224 5.48047H24.3477V8.17578Z' fill='black'/%3E%3Cpath d='M24.3477 40.5195H37.8224C38.7975 39.6982 39.6996 38.7948 40.5261 37.8242H24.3477V40.5195Z' fill='black'/%3E%3Cpath d='M24.3477 2.78516H33.8482C31.0136 1.27039 27.7313 0.198195 24.3477 0V2.78516Z' fill='black'/%3E%3Cpath d='M24.3477 18.957H45.6208C45.4566 18.0405 45.2557 17.1372 44.9856 16.2617H24.3477V18.957Z' fill='black'/%3E%3Cpath d='M24.3477 21.6523V24.3477H45.9317C45.958 23.8992 46 23.4549 46 23C46 22.5451 45.958 22.1008 45.9317 21.6523H24.3477Z' fill='black'/%3E%3Cpath d='M0 23C0 35.1781 9.64778 45.2964 21.6523 46V0C9.64778 0.703566 0 10.8219 0 23Z' fill='black'/%3E%3Cpath d='M24.3477 46C27.7313 45.8018 31.0136 44.7296 33.8482 43.2148H24.3477V46Z' fill='black'/%3E%3Cpath d='M45.6208 27.043H24.3477V29.7383H44.9857C45.2557 28.8628 45.4566 27.9595 45.6208 27.043V27.043Z' fill='black'/%3E%3Cpath d='M24.3477 35.1289H42.4905C43.0319 34.266 43.5192 33.3683 43.9438 32.4336H24.3477V35.1289Z' fill='black'/%3E%3C/svg%3E%0A\",\n logoProfileCollapsedAltText: '',\n logoProfileCollapsedHeight: '22',\n logoProfileHeight: '22',\n name: 'Contrast',\n pageTitle: '#23282e',\n primaryColor: '#000000',\n primaryOffColor: '#000000',\n profileBackgroundColor: '#FFFFFF',\n profileMenuHighlightColor: '#FFFFFF',\n profileMenuHoverColor: '#FFFFFF',\n profileMenuHoverTextColor: '#000000',\n profileMenuTextHighlightColor: '#455469',\n secondaryColor: '#69788b',\n textColor: '#ffffff',\n _id: '84bbd22e-6def-459f-91c9-4c9aa4e0bec0',\n },\n 'a5420670-bae8-4ad6-9595-8477f6bca2c7': THEME_OBJ,\n};\nconst THEME_MAP: Map<string, ThemeSkeleton> = new Map<string, ThemeSkeleton>();\nfor (const theme of Object.values(THEME_MAP_RAW)) {\n THEME_MAP[theme._id] = theme;\n}\n\nasync function stageThemes(configEntity: { id: string; data: object }) {\n // delete if exists, then create\n try {\n await IdmConfigApi.putConfigEntity({\n entityId: 'ui/themerealm',\n entityData: configEntity,\n state,\n });\n } catch (error) {\n // ignore\n }\n}\n\ndescribe('ThemeOps', () => {\n const rootTheme = {\n id: 'd6636b33-111b-40f2-870d-f4dcb7281e43',\n name: 'Starter Theme',\n };\n const alphaTheme = {\n id: '84bbd22e-6def-459f-91c9-4c9aa4e0bec0',\n name: 'Contrast',\n };\n const bravoTheme = {\n id: '05ef90a8-10f2-47fd-a481-c8c52f49e48f',\n name: 'Highlander',\n };\n const theme1 = {\n id: 'a5420670-bae8-4ad6-9595-8477f6bca2c7',\n name: 'Expanse',\n data: THEME_OBJ,\n };\n const allThemes = getConfigEntity('ui/themerealm', 'all');\n const noThemes = getConfigEntity('ui/themerealm', 'empty');\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n // Phase 1: Get/export individual and all and put/import individuals only\n // Phase 3: Deletes individuals by id\n // Phase 4: Delete multiple or all\n if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n (process.env.FRODO_RECORD_PHASE === '1' ||\n process.env.FRODO_RECORD_PHASE === '3' ||\n process.env.FRODO_RECORD_PHASE === '4')\n ) {\n await stageThemes(allThemes);\n }\n // Phase 2: Import multiple or all\n else if (\n process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '2'\n ) {\n await stageThemes(noThemes);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageThemes(allThemes);\n }\n });\n\n // Phase 1: Get/export individual and all and put/import individuals only\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '1')\n ) {\n describe('getThemes()', () => {\n test('0: Method is implemented', async () => {\n expect(ThemeOps.getThemes).toBeDefined();\n });\n\n test('1: Get all alpha themes (cloud)', async () => {\n const response = await ThemeOps.getThemes({ realm: 'alpha', state });\n expect(response).toMatchSnapshot();\n });\n\n test('2: Get all bravo themes (cloud)', async () => {\n const response = await ThemeOps.getThemes({ realm: 'bravo', state });\n expect(response).toMatchSnapshot();\n });\n\n test('3: Get all root themes (encore)', async () => {\n const response = await ThemeOps.getThemes({ realm: '/', state });\n expect(response).toMatchSnapshot();\n });\n\n test('4: Get all themes from non-existent realm', async () => {\n const response = await ThemeOps.getThemes({\n realm: 'doesnotexist',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('getTheme()', () => {\n test('0: Method is implemented', async () => {\n expect(ThemeOps.getTheme).toBeDefined();\n });\n\n test(`1: Get alpha theme '${alphaTheme.id}' (cloud)`, async () => {\n const response = await ThemeOps.getTheme({\n themeId: alphaTheme.id,\n realm: 'alpha',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get bravo theme '${bravoTheme.id}' (cloud)`, async () => {\n const response = await ThemeOps.getTheme({\n themeId: bravoTheme.id,\n realm: 'bravo',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Get root theme '${rootTheme.id}' (encore)`, async () => {\n const response = await ThemeOps.getTheme({\n themeId: rootTheme.id,\n realm: '/',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`4: Get theme '${rootTheme.id}' from non-existent realm`, async () => {\n expect.assertions(1);\n try {\n await ThemeOps.getTheme({\n themeId: rootTheme.id,\n realm: 'doesnotexist',\n state,\n });\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n\n describe('getThemeByName()', () => {\n test('0: Method is implemented', async () => {\n expect(ThemeOps.getThemeByName).toBeDefined();\n });\n\n test(`1: Get alpha theme '${alphaTheme.name}' (cloud)`, async () => {\n const response = await ThemeOps.getThemeByName({\n themeName: alphaTheme.name,\n realm: 'alpha',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Get bravo theme '${bravoTheme.name}' (cloud)`, async () => {\n const response = await ThemeOps.getThemeByName({\n themeName: bravoTheme.name,\n realm: 'bravo',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Get root theme '${rootTheme.name}' (encore)`, async () => {\n const response = await ThemeOps.getThemeByName({\n themeName: rootTheme.name,\n realm: '/',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`4: Get theme '${rootTheme.name}' from non-existent realm`, async () => {\n expect.assertions(1);\n try {\n await ThemeOps.getThemeByName({\n themeName: rootTheme.name,\n realm: 'doesnotexist',\n state,\n });\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n\n describe('putTheme()', () => {\n test('0: Method is implemented', async () => {\n expect(ThemeOps.putTheme).toBeDefined();\n });\n\n test(`1: Put alpha theme '${theme1.id}' (cloud)`, async () => {\n const response = await ThemeOps.putTheme({\n themeId: theme1.id,\n themeData: theme1.data,\n realm: 'alpha',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('2: Put bravo theme (cloud)', async () => {\n const response = await ThemeOps.putTheme({\n themeId: theme1.id,\n themeData: theme1.data,\n realm: 'bravo',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('3: Put root theme (encore)', async () => {\n const response = await ThemeOps.putTheme({\n themeId: theme1.id,\n themeData: theme1.data,\n realm: '/',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('4: Put theme from non-existent realm (encore)', async () => {\n const response = await ThemeOps.putTheme({\n themeId: theme1.id,\n themeData: theme1.data,\n realm: 'doesnotexist',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n\n describe('putThemeByName()', () => {\n test('0: Method is implemented', async () => {\n expect(ThemeOps.putThemeByName).toBeDefined();\n });\n\n test('1: Put alpha theme (cloud)', async () => {\n const response = await ThemeOps.putThemeByName({\n themeName: theme1.name,\n themeData: theme1.data,\n realm: 'alpha',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('2: Put bravo theme (cloud)', async () => {\n const response = await ThemeOps.putThemeByName({\n themeName: theme1.name,\n themeData: theme1.data,\n realm: 'bravo',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('3: Put root theme (encore)', async () => {\n const response = await ThemeOps.putThemeByName({\n themeName: theme1.name,\n themeData: theme1.data,\n realm: '/',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('4: Put theme from non-existent realm (encore)', async () => {\n const response = await ThemeOps.putThemeByName({\n themeName: theme1.name,\n themeData: theme1.data,\n realm: 'doesnotexist',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n }\n\n // Phase 2: Import multiple or all\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '2')\n ) {\n describe('putThemes()', () => {\n test('0: Method is implemented', async () => {\n expect(ThemeOps.putThemes).toBeDefined();\n });\n\n test('1: Update 1 and add 1 alpha themes', async () => {\n const response = await ThemeOps.putThemes({\n themeMap: THEME_MAP,\n realm: 'alpha',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('2: Update 1 and add 1 bravo themes', async () => {\n const response = await ThemeOps.putThemes({\n themeMap: THEME_MAP,\n realm: 'bravo',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('3: Add 2 root themes', async () => {\n const response = await ThemeOps.putThemes({\n themeMap: THEME_MAP,\n realm: '/',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test('4: Add 2 themes to non-existent realm', async () => {\n const response = await ThemeOps.putThemes({\n themeMap: THEME_MAP,\n realm: 'doesnotexist',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n }\n\n // Phase 3: Deletes individuals by id\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '3')\n ) {\n describe('deleteTheme()', () => {\n test('0: Method is implemented', async () => {\n expect(ThemeOps.deleteTheme).toBeDefined();\n });\n\n test(`1: Delete alpha theme '${alphaTheme.id}' (cloud)`, async () => {\n const response = await ThemeOps.deleteTheme({\n themeId: alphaTheme.id,\n realm: 'alpha',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete bravo theme '${alphaTheme.id}' (cloud)`, async () => {\n const response = await ThemeOps.deleteTheme({\n themeId: bravoTheme.id,\n realm: 'bravo',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Delete root theme '${alphaTheme.id}' (encore)`, async () => {\n const response = await ThemeOps.deleteTheme({\n themeId: rootTheme.id,\n realm: '/',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`4: Delete theme '${alphaTheme.id}' from non-existent realm`, async () => {\n expect.assertions(1);\n try {\n await ThemeOps.deleteTheme({\n themeId: rootTheme.id,\n realm: 'doesnotexist',\n state,\n });\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n\n describe('deleteThemeByName()', () => {\n test('0: Method is implemented', async () => {\n expect(ThemeOps.deleteThemeByName).toBeDefined();\n });\n\n test(`1: Delete alpha theme '${alphaTheme.name}' by name (cloud)`, async () => {\n const response = await ThemeOps.deleteThemeByName({\n themeName: alphaTheme.name,\n realm: 'alpha',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`2: Delete bravo theme '${bravoTheme.name}' by name (cloud)`, async () => {\n const response = await ThemeOps.deleteThemeByName({\n themeName: bravoTheme.name,\n realm: 'bravo',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`3: Delete root theme '${rootTheme.name}' by name (encore)`, async () => {\n const response = await ThemeOps.deleteThemeByName({\n themeName: rootTheme.name,\n realm: '/',\n state,\n });\n expect(response).toMatchSnapshot();\n });\n\n test(`4: Delete theme '${rootTheme.name}' by name from non-existent realm (encore)`, async () => {\n expect.assertions(1);\n try {\n await ThemeOps.deleteThemeByName({\n themeName: rootTheme.name,\n realm: 'doesnotexist',\n state,\n });\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n }\n\n // Phase 4: Delete multiple or all\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '4')\n ) {\n describe('deleteThemes()', () => {\n test('0: Method is implemented', async () => {\n expect(ThemeOps.deleteThemes).toBeDefined();\n });\n\n test('1: Delete all alpha themes', async () => {\n const response = await ThemeOps.deleteThemes({ realm: 'alpha', state });\n expect(response).toMatchSnapshot();\n });\n\n test('2: Delete all bravo themes', async () => {\n const response = await ThemeOps.deleteThemes({ realm: 'bravo', state });\n expect(response).toMatchSnapshot();\n });\n\n test('3: Delete all root themes (encore)', async () => {\n const response = await ThemeOps.deleteThemes({ realm: '/', state });\n expect(response).toMatchSnapshot();\n });\n\n test('4: Delete all themes in non-existent realm', async () => {\n expect.assertions(1);\n try {\n await ThemeOps.deleteThemes({ realm: 'doesnotexist', state });\n } catch (error) {\n expect(error).toMatchSnapshot();\n }\n });\n });\n }\n});\n"],"mappings":"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"}
|
|
@@ -3,19 +3,53 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.default = void 0;
|
|
6
7
|
exports.getFeatures = getFeatures;
|
|
7
8
|
exports.hasFeature = hasFeature;
|
|
8
9
|
var _FeatureApi = require("../../api/cloud/FeatureApi");
|
|
9
10
|
var _Console = require("../utils/Console");
|
|
10
11
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
11
12
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
12
|
-
|
|
13
|
+
class FeatureOps {
|
|
14
|
+
constructor(state) {
|
|
15
|
+
this.state = state;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Get all features
|
|
20
|
+
* @returns {Promise<FeatureInterface[]>} a promise that resolves to an array of feature objects
|
|
21
|
+
*/
|
|
22
|
+
getFeatures() {
|
|
23
|
+
var _this = this;
|
|
24
|
+
return _asyncToGenerator(function* () {
|
|
25
|
+
return getFeatures({
|
|
26
|
+
state: _this.state
|
|
27
|
+
});
|
|
28
|
+
})();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Check if feature is available
|
|
33
|
+
* @param {string} featureId feature id (e.g. 'service-accounts')
|
|
34
|
+
* @returns {Promise<boolean>} a promise that resolves to true if the feature is available and to false otherwise
|
|
35
|
+
*/
|
|
36
|
+
hasFeature(featureId) {
|
|
37
|
+
var _this2 = this;
|
|
38
|
+
return _asyncToGenerator(function* () {
|
|
39
|
+
return hasFeature({
|
|
40
|
+
featureId,
|
|
41
|
+
state: _this2.state
|
|
42
|
+
});
|
|
43
|
+
})();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
13
46
|
|
|
14
47
|
/**
|
|
15
48
|
* Get all features
|
|
16
49
|
* @returns {Promise<FeatureInterface[]>} a promise that resolves to an array of feature objects
|
|
17
50
|
*/
|
|
18
|
-
|
|
51
|
+
exports.default = FeatureOps;
|
|
52
|
+
function getFeatures(_x) {
|
|
19
53
|
return _getFeatures2.apply(this, arguments);
|
|
20
54
|
}
|
|
21
55
|
/**
|
|
@@ -24,29 +58,40 @@ function getFeatures() {
|
|
|
24
58
|
* @returns {Promise<boolean>} a promise that resolves to true if the feature is available and to false otherwise
|
|
25
59
|
*/
|
|
26
60
|
function _getFeatures2() {
|
|
27
|
-
_getFeatures2 = _asyncToGenerator(function* () {
|
|
28
|
-
|
|
61
|
+
_getFeatures2 = _asyncToGenerator(function* (_ref) {
|
|
62
|
+
var {
|
|
63
|
+
state
|
|
64
|
+
} = _ref;
|
|
65
|
+
if (typeof state.getFeatures() !== 'undefined') return state.getFeatures();
|
|
29
66
|
try {
|
|
30
67
|
var {
|
|
31
68
|
result
|
|
32
|
-
} = yield (0, _FeatureApi.getFeatures)(
|
|
33
|
-
|
|
69
|
+
} = yield (0, _FeatureApi.getFeatures)({
|
|
70
|
+
state
|
|
71
|
+
});
|
|
72
|
+
state.setFeatures(JSON.parse(JSON.stringify(result)));
|
|
34
73
|
} catch (error) {
|
|
35
74
|
var _error$response;
|
|
36
75
|
(0, _Console.debugMessage)((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data);
|
|
37
|
-
|
|
76
|
+
state.setFeatures([]);
|
|
38
77
|
}
|
|
39
|
-
return
|
|
78
|
+
return state.getFeatures();
|
|
40
79
|
});
|
|
41
80
|
return _getFeatures2.apply(this, arguments);
|
|
42
81
|
}
|
|
43
|
-
function hasFeature(
|
|
82
|
+
function hasFeature(_x2) {
|
|
44
83
|
return _hasFeature.apply(this, arguments);
|
|
45
84
|
}
|
|
46
85
|
function _hasFeature() {
|
|
47
|
-
_hasFeature = _asyncToGenerator(function* (
|
|
48
|
-
|
|
49
|
-
|
|
86
|
+
_hasFeature = _asyncToGenerator(function* (_ref2) {
|
|
87
|
+
var {
|
|
88
|
+
featureId,
|
|
89
|
+
state
|
|
90
|
+
} = _ref2;
|
|
91
|
+
if (typeof state.getFeatures() === 'undefined') yield getFeatures({
|
|
92
|
+
state
|
|
93
|
+
});
|
|
94
|
+
var featureIds = state.getFeatures().map(feature => feature._id);
|
|
50
95
|
return featureIds.includes(featureId);
|
|
51
96
|
});
|
|
52
97
|
return _hasFeature.apply(this, arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureOps.js","names":["_FeatureApi","require","_Console","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","
|
|
1
|
+
{"version":3,"file":"FeatureOps.js","names":["_FeatureApi","require","_Console","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","FeatureOps","constructor","state","getFeatures","_this","hasFeature","featureId","_this2","exports","default","_x","_getFeatures2","_ref","result","_getFeatures","setFeatures","JSON","parse","stringify","_error$response","debugMessage","response","data","_x2","_hasFeature","_ref2","featureIds","map","feature","_id","includes"],"sources":["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 class FeatureOps {\n state: State;\n constructor(state: State) {\n this.state = state;\n }\n\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: this.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: this.state });\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(error.response?.data);\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":"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"}
|