@rockcarver/frodo-lib 1.0.0 → 2.0.0-2
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 +6 -6
- 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 +13 -112
- 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 +964 -118
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/AgentOps.test.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +182 -87
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.test.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +360 -291
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +221 -139
- 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/OAuth2OidcOps.js +84 -0
- package/cjs/ops/OAuth2OidcOps.js.map +1 -0
- 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 +364 -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 +331 -55
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js +363 -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 +126 -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 +144 -13
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.test.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.js +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 +36 -6
- package/cjs/ops/utils/Version.js.map +1 -1
- package/cjs/ops/utils/Version.test.js.map +1 -1
- package/cjs/shared/State.js +453 -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 +1 -60
- package/esm/lib/FrodoLib.mjs +128 -0
- package/esm/ops/AdminOps.mjs +500 -71
- package/esm/ops/AgentOps.mjs +781 -81
- package/esm/ops/AgentOps.test.mjs +296 -113
- package/esm/ops/AuthenticateOps.mjs +156 -64
- package/esm/ops/AuthenticateOps.test.mjs +7 -4
- package/esm/ops/CirclesOfTrustOps.mjs +294 -229
- package/esm/ops/ConnectionProfileOps.mjs +190 -123
- 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/OAuth2OidcOps.mjs +40 -0
- 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 +278 -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 +261 -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 +107 -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 +2 -1
- package/esm/ops/utils/DataProtection.mjs +2 -3
- package/esm/ops/utils/ExportImportUtils.mjs +129 -8
- package/esm/ops/utils/ExportImportUtils.test.mjs +15 -2
- 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 +29 -6
- package/esm/ops/utils/Version.test.mjs +4 -1
- package/esm/shared/State.mjs +457 -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 +20 -8
- 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 +1 -48
- package/types/index.d.ts.map +1 -1
- package/types/lib/FrodoLib.d.ts +99 -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 +350 -36
- package/types/ops/AgentOps.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts +27 -4
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/CirclesOfTrustOps.d.ts +88 -24
- package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
- package/types/ops/ConnectionProfileOps.d.ts +78 -18
- 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/OAuth2OidcOps.d.ts +11 -0
- package/types/ops/OAuth2OidcOps.d.ts.map +1 -0
- 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 +95 -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 +72 -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 +20 -2
- 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/esm/ops/ServiceOps.mjs
CHANGED
|
@@ -1,5 +1,118 @@
|
|
|
1
1
|
import { deleteService, deleteServiceNextDescendent, getService, getListOfServices as _getListOfServices, getServiceDescendents, putService, putServiceNextDescendent } from '../api/ServiceApi';
|
|
2
2
|
import { debugMessage, printMessage } from './utils/Console';
|
|
3
|
+
export default class ServiceOps {
|
|
4
|
+
constructor(state) {
|
|
5
|
+
this.state = state;
|
|
6
|
+
}
|
|
7
|
+
createServiceExportTemplate() {
|
|
8
|
+
return createServiceExportTemplate();
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Get list of services
|
|
13
|
+
* @param {boolean} globalConfig true if the list of global services is requested, false otherwise. Default: false.
|
|
14
|
+
*/
|
|
15
|
+
async getListOfServices(globalConfig = false) {
|
|
16
|
+
return getListOfServices({
|
|
17
|
+
globalConfig,
|
|
18
|
+
state: this.state
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Get all services including their descendents.
|
|
24
|
+
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
25
|
+
* @returns Promise resolving to an array of services with their descendants
|
|
26
|
+
*/
|
|
27
|
+
async getFullServices(globalConfig = false) {
|
|
28
|
+
return getFullServices({
|
|
29
|
+
globalConfig,
|
|
30
|
+
state: this.state
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Deletes the specified service
|
|
36
|
+
* @param {string} serviceId The service to delete
|
|
37
|
+
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
38
|
+
*/
|
|
39
|
+
async deleteFullService(serviceId, globalConfig = false) {
|
|
40
|
+
return deleteFullService({
|
|
41
|
+
serviceId,
|
|
42
|
+
globalConfig,
|
|
43
|
+
state: this.state
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Deletes all services
|
|
49
|
+
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
50
|
+
*/
|
|
51
|
+
async deleteFullServices(globalConfig = false) {
|
|
52
|
+
return deleteFullServices({
|
|
53
|
+
globalConfig,
|
|
54
|
+
state: this.state
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Export service. The response can be saved to file as is.
|
|
60
|
+
* @param serviceId service id/name
|
|
61
|
+
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
62
|
+
* @returns {Promise<ServiceExportInterface>} Promise resolving to a ServiceExportInterface object.
|
|
63
|
+
*/
|
|
64
|
+
async exportService(serviceId, globalConfig = false) {
|
|
65
|
+
return exportService({
|
|
66
|
+
serviceId,
|
|
67
|
+
globalConfig,
|
|
68
|
+
state: this.state
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Export all services
|
|
74
|
+
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
75
|
+
*/
|
|
76
|
+
async exportServices(globalConfig = false) {
|
|
77
|
+
return exportServices({
|
|
78
|
+
globalConfig,
|
|
79
|
+
state: this.state
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Imports a single service using a reference to the service and a file to read the data from. Optionally clean (remove) an existing service first
|
|
85
|
+
* @param {string} serviceId The service id/name to add
|
|
86
|
+
* @param {ServiceExportInterface} importData The service configuration export data to import
|
|
87
|
+
* @param {boolean} clean Indicates whether to remove a possible existing service with the same id first.
|
|
88
|
+
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
89
|
+
* @returns Promise resolving when the service has been imported
|
|
90
|
+
*/
|
|
91
|
+
async importService(serviceId, importData, clean, globalConfig = false) {
|
|
92
|
+
return importService({
|
|
93
|
+
serviceId,
|
|
94
|
+
importData,
|
|
95
|
+
clean,
|
|
96
|
+
globalConfig,
|
|
97
|
+
state: this.state
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Imports multiple services from the same file. Optionally clean (remove) existing services first
|
|
103
|
+
* @param {ServiceExportInterface} importData The service configuration export data to import
|
|
104
|
+
* @param {boolean} clean Indicates whether to remove possible existing services first
|
|
105
|
+
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
106
|
+
*/
|
|
107
|
+
async importServices(importData, clean, globalConfig = false) {
|
|
108
|
+
return importServices({
|
|
109
|
+
importData,
|
|
110
|
+
clean,
|
|
111
|
+
globalConfig,
|
|
112
|
+
state: this.state
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
3
116
|
/**
|
|
4
117
|
* Create an empty service export template
|
|
5
118
|
* @returns {SingleTreeExportInterface} an empty service export template
|
|
@@ -15,9 +128,15 @@ export function createServiceExportTemplate() {
|
|
|
15
128
|
* Get list of services
|
|
16
129
|
* @param {boolean} globalConfig true if the list of global services is requested, false otherwise. Default: false.
|
|
17
130
|
*/
|
|
18
|
-
export async function getListOfServices(
|
|
131
|
+
export async function getListOfServices({
|
|
132
|
+
globalConfig = false,
|
|
133
|
+
state
|
|
134
|
+
}) {
|
|
19
135
|
debugMessage(`ServiceOps.getListOfServices: start`);
|
|
20
|
-
const services = (await _getListOfServices(
|
|
136
|
+
const services = (await _getListOfServices({
|
|
137
|
+
globalConfig,
|
|
138
|
+
state
|
|
139
|
+
})).result;
|
|
21
140
|
debugMessage(`ServiceOps.getListOfServices: end`);
|
|
22
141
|
return services;
|
|
23
142
|
}
|
|
@@ -27,12 +146,26 @@ export async function getListOfServices(globalConfig = false) {
|
|
|
27
146
|
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
28
147
|
* @returns Promise resolving to an array of services with their descendants
|
|
29
148
|
*/
|
|
30
|
-
export async function getFullServices(
|
|
149
|
+
export async function getFullServices({
|
|
150
|
+
globalConfig = false,
|
|
151
|
+
state
|
|
152
|
+
}) {
|
|
31
153
|
debugMessage(`ServiceOps.getFullServices: start, globalConfig=${globalConfig}`);
|
|
32
|
-
const serviceList = (await _getListOfServices(
|
|
154
|
+
const serviceList = (await _getListOfServices({
|
|
155
|
+
globalConfig,
|
|
156
|
+
state
|
|
157
|
+
})).result;
|
|
33
158
|
const fullServiceData = await Promise.all(serviceList.map(async listItem => {
|
|
34
159
|
try {
|
|
35
|
-
const [service, nextDescendents] = await Promise.all([getService(
|
|
160
|
+
const [service, nextDescendents] = await Promise.all([getService({
|
|
161
|
+
serviceId: listItem._id,
|
|
162
|
+
globalConfig,
|
|
163
|
+
state
|
|
164
|
+
}), getServiceDescendents({
|
|
165
|
+
serviceId: listItem._id,
|
|
166
|
+
globalConfig,
|
|
167
|
+
state
|
|
168
|
+
})]);
|
|
36
169
|
return {
|
|
37
170
|
...service,
|
|
38
171
|
nextDescendents
|
|
@@ -57,7 +190,13 @@ export async function getFullServices(globalConfig = false) {
|
|
|
57
190
|
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
58
191
|
* @returns promise resolving to a service object
|
|
59
192
|
*/
|
|
60
|
-
async function putFullService(
|
|
193
|
+
async function putFullService({
|
|
194
|
+
serviceId,
|
|
195
|
+
fullServiceData,
|
|
196
|
+
clean,
|
|
197
|
+
globalConfig = false,
|
|
198
|
+
state
|
|
199
|
+
}) {
|
|
61
200
|
debugMessage(`ServiceOps.putFullService: start, serviceId=${serviceId}, globalConfig=${globalConfig}`);
|
|
62
201
|
const nextDescendents = fullServiceData.nextDescendents;
|
|
63
202
|
delete fullServiceData.nextDescendents;
|
|
@@ -66,7 +205,11 @@ async function putFullService(serviceId, fullServiceData, clean, globalConfig =
|
|
|
66
205
|
if (clean) {
|
|
67
206
|
try {
|
|
68
207
|
debugMessage(`ServiceOps.putFullService: clean`);
|
|
69
|
-
await deleteFullService(
|
|
208
|
+
await deleteFullService({
|
|
209
|
+
serviceId,
|
|
210
|
+
globalConfig,
|
|
211
|
+
state
|
|
212
|
+
});
|
|
70
213
|
} catch (error) {
|
|
71
214
|
var _error$response4, _error$response5, _error$response5$data;
|
|
72
215
|
if (!(((_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.status) === 404 && ((_error$response5 = error.response) === null || _error$response5 === void 0 ? void 0 : (_error$response5$data = _error$response5.data) === null || _error$response5$data === void 0 ? void 0 : _error$response5$data.message) === 'Not Found')) {
|
|
@@ -78,7 +221,12 @@ async function putFullService(serviceId, fullServiceData, clean, globalConfig =
|
|
|
78
221
|
}
|
|
79
222
|
|
|
80
223
|
// create service first
|
|
81
|
-
const result = await putService(
|
|
224
|
+
const result = await putService({
|
|
225
|
+
serviceId,
|
|
226
|
+
serviceData: fullServiceData,
|
|
227
|
+
globalConfig,
|
|
228
|
+
state
|
|
229
|
+
});
|
|
82
230
|
|
|
83
231
|
// return fast if no next descendents supplied
|
|
84
232
|
if (nextDescendents.length === 0) {
|
|
@@ -93,7 +241,14 @@ async function putFullService(serviceId, fullServiceData, clean, globalConfig =
|
|
|
93
241
|
debugMessage(`ServiceOps.putFullService: descendentId=${descendentId}`);
|
|
94
242
|
let result = undefined;
|
|
95
243
|
try {
|
|
96
|
-
result = await putServiceNextDescendent(
|
|
244
|
+
result = await putServiceNextDescendent({
|
|
245
|
+
serviceId,
|
|
246
|
+
serviceType: type,
|
|
247
|
+
serviceNextDescendentId: descendentId,
|
|
248
|
+
serviceNextDescendentData: descendent,
|
|
249
|
+
globalConfig,
|
|
250
|
+
state
|
|
251
|
+
});
|
|
97
252
|
} catch (error) {
|
|
98
253
|
var _error$response7, _error$response7$data;
|
|
99
254
|
const message = (_error$response7 = error.response) === null || _error$response7 === void 0 ? void 0 : (_error$response7$data = _error$response7.data) === null || _error$response7$data === void 0 ? void 0 : _error$response7$data.message;
|
|
@@ -111,12 +266,23 @@ async function putFullService(serviceId, fullServiceData, clean, globalConfig =
|
|
|
111
266
|
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
112
267
|
* @returns {Promise<AmService[]>} promise resolving to an array of service objects
|
|
113
268
|
*/
|
|
114
|
-
async function putFullServices(
|
|
269
|
+
async function putFullServices({
|
|
270
|
+
serviceEntries,
|
|
271
|
+
clean,
|
|
272
|
+
globalConfig = false,
|
|
273
|
+
state
|
|
274
|
+
}) {
|
|
115
275
|
debugMessage(`ServiceOps.putFullServices: start, globalConfig=${globalConfig}`);
|
|
116
276
|
const results = [];
|
|
117
277
|
for (const [id, data] of serviceEntries) {
|
|
118
278
|
try {
|
|
119
|
-
const result = await putFullService(
|
|
279
|
+
const result = await putFullService({
|
|
280
|
+
serviceId: id,
|
|
281
|
+
fullServiceData: data,
|
|
282
|
+
clean,
|
|
283
|
+
globalConfig,
|
|
284
|
+
state
|
|
285
|
+
});
|
|
120
286
|
results.push(result);
|
|
121
287
|
printMessage(`Imported: ${id}`, 'info');
|
|
122
288
|
} catch (error) {
|
|
@@ -138,11 +304,29 @@ async function putFullServices(serviceEntries, clean, globalConfig = false) {
|
|
|
138
304
|
* @param {string} serviceId The service to delete
|
|
139
305
|
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
140
306
|
*/
|
|
141
|
-
export async function deleteFullService(
|
|
307
|
+
export async function deleteFullService({
|
|
308
|
+
serviceId,
|
|
309
|
+
globalConfig = false,
|
|
310
|
+
state
|
|
311
|
+
}) {
|
|
142
312
|
debugMessage(`ServiceOps.deleteFullService: start, globalConfig=${globalConfig}`);
|
|
143
|
-
const serviceNextDescendentData = await getServiceDescendents(
|
|
144
|
-
|
|
145
|
-
|
|
313
|
+
const serviceNextDescendentData = await getServiceDescendents({
|
|
314
|
+
serviceId,
|
|
315
|
+
globalConfig,
|
|
316
|
+
state
|
|
317
|
+
});
|
|
318
|
+
await Promise.all(serviceNextDescendentData.map(nextDescendent => deleteServiceNextDescendent({
|
|
319
|
+
serviceId,
|
|
320
|
+
serviceType: nextDescendent._type._id,
|
|
321
|
+
serviceNextDescendentId: nextDescendent._id,
|
|
322
|
+
globalConfig,
|
|
323
|
+
state
|
|
324
|
+
})));
|
|
325
|
+
await deleteService({
|
|
326
|
+
serviceId,
|
|
327
|
+
globalConfig,
|
|
328
|
+
state
|
|
329
|
+
});
|
|
146
330
|
debugMessage(`ServiceOps.deleteFullService: end`);
|
|
147
331
|
}
|
|
148
332
|
|
|
@@ -150,13 +334,23 @@ export async function deleteFullService(serviceId, globalConfig = false) {
|
|
|
150
334
|
* Deletes all services
|
|
151
335
|
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
152
336
|
*/
|
|
153
|
-
export async function deleteFullServices(
|
|
337
|
+
export async function deleteFullServices({
|
|
338
|
+
globalConfig = false,
|
|
339
|
+
state
|
|
340
|
+
}) {
|
|
154
341
|
debugMessage(`ServiceOps.deleteFullServices: start, globalConfig=${globalConfig}`);
|
|
155
342
|
try {
|
|
156
|
-
const serviceList = (await _getListOfServices(
|
|
343
|
+
const serviceList = (await _getListOfServices({
|
|
344
|
+
globalConfig,
|
|
345
|
+
state
|
|
346
|
+
})).result;
|
|
157
347
|
await Promise.all(serviceList.map(async serviceListItem => {
|
|
158
348
|
try {
|
|
159
|
-
await deleteFullService(
|
|
349
|
+
await deleteFullService({
|
|
350
|
+
serviceId: serviceListItem._id,
|
|
351
|
+
globalConfig,
|
|
352
|
+
state
|
|
353
|
+
});
|
|
160
354
|
} catch (error) {
|
|
161
355
|
var _error$response10, _error$response11, _error$response11$dat;
|
|
162
356
|
if (!(((_error$response10 = error.response) === null || _error$response10 === void 0 ? void 0 : _error$response10.status) === 403 && ((_error$response11 = error.response) === null || _error$response11 === void 0 ? void 0 : (_error$response11$dat = _error$response11.data) === null || _error$response11$dat === void 0 ? void 0 : _error$response11$dat.message) === 'This operation is not available in ForgeRock Identity Cloud.')) {
|
|
@@ -180,12 +374,24 @@ export async function deleteFullServices(globalConfig = false) {
|
|
|
180
374
|
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
181
375
|
* @returns {Promise<ServiceExportInterface>} Promise resolving to a ServiceExportInterface object.
|
|
182
376
|
*/
|
|
183
|
-
export async function exportService(
|
|
377
|
+
export async function exportService({
|
|
378
|
+
serviceId,
|
|
379
|
+
globalConfig = false,
|
|
380
|
+
state
|
|
381
|
+
}) {
|
|
184
382
|
debugMessage(`ServiceOps.exportService: start, globalConfig=${globalConfig}`);
|
|
185
383
|
const exportData = createServiceExportTemplate();
|
|
186
384
|
try {
|
|
187
|
-
const service = await getService(
|
|
188
|
-
|
|
385
|
+
const service = await getService({
|
|
386
|
+
serviceId,
|
|
387
|
+
globalConfig,
|
|
388
|
+
state
|
|
389
|
+
});
|
|
390
|
+
service.nextDescendents = await getServiceDescendents({
|
|
391
|
+
serviceId,
|
|
392
|
+
globalConfig,
|
|
393
|
+
state
|
|
394
|
+
});
|
|
189
395
|
exportData.service[serviceId] = service;
|
|
190
396
|
} catch (error) {
|
|
191
397
|
var _error$response14, _error$response14$dat;
|
|
@@ -200,11 +406,17 @@ export async function exportService(serviceId, globalConfig = false) {
|
|
|
200
406
|
* Export all services
|
|
201
407
|
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
202
408
|
*/
|
|
203
|
-
export async function exportServices(
|
|
409
|
+
export async function exportServices({
|
|
410
|
+
globalConfig = false,
|
|
411
|
+
state
|
|
412
|
+
}) {
|
|
204
413
|
debugMessage(`ServiceOps.exportServices: start, globalConfig=${globalConfig}`);
|
|
205
414
|
const exportData = createServiceExportTemplate();
|
|
206
415
|
try {
|
|
207
|
-
const services = await getFullServices(
|
|
416
|
+
const services = await getFullServices({
|
|
417
|
+
globalConfig,
|
|
418
|
+
state
|
|
419
|
+
});
|
|
208
420
|
for (const service of services) {
|
|
209
421
|
exportData.service[service._type._id] = service;
|
|
210
422
|
}
|
|
@@ -225,10 +437,22 @@ export async function exportServices(globalConfig = false) {
|
|
|
225
437
|
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
226
438
|
* @returns Promise resolving when the service has been imported
|
|
227
439
|
*/
|
|
228
|
-
export async function importService(
|
|
440
|
+
export async function importService({
|
|
441
|
+
serviceId,
|
|
442
|
+
importData,
|
|
443
|
+
clean,
|
|
444
|
+
globalConfig = false,
|
|
445
|
+
state
|
|
446
|
+
}) {
|
|
229
447
|
debugMessage(`ServiceOps.importService: start, globalConfig=${globalConfig}`);
|
|
230
448
|
const serviceData = importData.service[serviceId];
|
|
231
|
-
const result = await putFullService(
|
|
449
|
+
const result = await putFullService({
|
|
450
|
+
serviceId,
|
|
451
|
+
fullServiceData: serviceData,
|
|
452
|
+
clean,
|
|
453
|
+
globalConfig,
|
|
454
|
+
state
|
|
455
|
+
});
|
|
232
456
|
debugMessage(`ServiceOps.importService: end`);
|
|
233
457
|
return result;
|
|
234
458
|
}
|
|
@@ -239,10 +463,20 @@ export async function importService(serviceId, importData, clean, globalConfig =
|
|
|
239
463
|
* @param {boolean} clean Indicates whether to remove possible existing services first
|
|
240
464
|
* @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
|
|
241
465
|
*/
|
|
242
|
-
export async function importServices(
|
|
466
|
+
export async function importServices({
|
|
467
|
+
importData,
|
|
468
|
+
clean,
|
|
469
|
+
globalConfig = false,
|
|
470
|
+
state
|
|
471
|
+
}) {
|
|
243
472
|
debugMessage(`ServiceOps.importServices: start, globalConfig=${globalConfig}`);
|
|
244
473
|
try {
|
|
245
|
-
const result = await putFullServices(
|
|
474
|
+
const result = await putFullServices({
|
|
475
|
+
serviceEntries: Object.entries(importData.service),
|
|
476
|
+
clean,
|
|
477
|
+
globalConfig,
|
|
478
|
+
state
|
|
479
|
+
});
|
|
246
480
|
debugMessage(`ServiceOps.importServices: end`);
|
|
247
481
|
return result;
|
|
248
482
|
} catch (error) {
|