From edce08a06ed2412afd816a88935b003967e33f97 Mon Sep 17 00:00:00 2001 From: Dallin Sevy Date: Wed, 11 Feb 2026 16:02:26 -0700 Subject: [PATCH] feat: Add config manager push command for themes --- .vscode/launch.json | 31 ++++++----- package-lock.json | 11 ---- .../config-manager-pull-access-config.ts | 8 +-- .../config-manager-pull-all-static.ts | 8 +-- .../config-manager-pull-all.ts | 8 +-- .../config-manager-pull-audit.ts | 8 +-- .../config-manager-pull-authentication.ts | 8 +-- .../config-manager-pull-authz-policies.ts | 8 +-- ...nfig-manager-pull-connector-definitions.ts | 8 +-- .../config-manager-pull-connector-mappings.ts | 8 +-- .../config-manager-pull-cookie-domains.ts | 8 +-- .../config-manager-pull-cors.ts | 8 +-- .../config-manager-pull-csp.ts | 8 +-- .../config-manager-pull-email-provider.ts | 8 +-- .../config-manager-pull-email-templates.ts | 8 +-- .../config-manager-pull-endpoints.ts | 8 +-- .../config-manager-pull-internal-roles.ts | 8 +-- .../config-manager-pull-journeys.ts | 8 +-- .../config-manager-pull-kba.ts | 8 +-- .../config-manager-pull-locales.ts | 8 +-- .../config-manager-pull-managed-objects.ts | 8 +-- .../config-manager-pull-oauth2-agents.ts | 8 +-- .../config-manager-pull-org-privileges.ts | 8 +-- .../config-manager-pull-password-policy.ts | 8 +-- .../config-manager-pull-raw.ts | 8 +-- .../config-manager-pull-remote-servers.ts | 8 +-- .../config-manager-pull-saml.ts | 8 +-- .../config-manager-pull-schedules.ts | 8 +-- .../config-manager-pull-scripts.ts | 8 +-- .../config-manager-pull-secret-mappings.ts | 8 +-- .../config-manager-pull-secrets.ts | 8 +-- .../config-manager-pull-service-objects.ts | 8 +-- .../config-manager-pull-services.ts | 8 +-- ...onfig-manager-pull-terms-and-conditions.ts | 8 +-- .../config-manager-pull-test.ts | 6 +-- .../config-manager-pull-themes.ts | 8 +-- .../config-manager-pull-uiConfig.ts | 8 +-- .../config-manager-pull-variables.ts | 8 +-- .../config-manager-pull.ts | 2 +- .../config-manager-push-themes.ts | 45 ++++++++++++++++ .../config-manager-push-uiConfig.ts | 47 ++++++++++++++++ .../config-manager-push.ts | 17 ++++++ src/cli/config-manager/config-manager.ts | 6 ++- src/configManagerOps/FrConfigThemeOps.ts | 53 ++++++++++++++++++- src/configManagerOps/FrConfigUiConfigOps.ts | 39 +++++++++++++- src/utils/FrConfig.ts | 4 ++ 46 files changed, 368 insertions(+), 173 deletions(-) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-access-config.ts (78%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-all-static.ts (80%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-all.ts (87%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-audit.ts (78%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-authentication.ts (81%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-authz-policies.ts (96%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-connector-definitions.ts (87%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-connector-mappings.ts (77%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-cookie-domains.ts (77%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-cors.ts (78%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-csp.ts (86%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-email-provider.ts (82%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-email-templates.ts (80%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-endpoints.ts (81%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-internal-roles.ts (80%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-journeys.ts (85%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-kba.ts (78%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-locales.ts (81%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-managed-objects.ts (80%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-oauth2-agents.ts (96%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-org-privileges.ts (89%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-password-policy.ts (81%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-raw.ts (90%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-remote-servers.ts (78%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-saml.ts (89%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-schedules.ts (80%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-scripts.ts (96%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-secret-mappings.ts (84%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-secrets.ts (78%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-service-objects.ts (93%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-services.ts (83%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-terms-and-conditions.ts (77%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-test.ts (84%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-themes.ts (77%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-uiConfig.ts (78%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull-variables.ts (77%) rename src/cli/config-manager/{ => config-manager-pull}/config-manager-pull.ts (98%) create mode 100644 src/cli/config-manager/config-manager-push/config-manager-push-themes.ts create mode 100644 src/cli/config-manager/config-manager-push/config-manager-push-uiConfig.ts create mode 100644 src/cli/config-manager/config-manager-push/config-manager-push.ts diff --git a/.vscode/launch.json b/.vscode/launch.json index 59bbd295f..e3de1c338 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,16 +1,21 @@ -{ + // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - - { - "type": "node", - "request": "attach", - "name": "Attach Debugger", - "port": 2000, - "restart": true - } - ] -} \ No newline at end of file + { + "version": "0.2.0", + "configurations": [ + + { + "type": "node", + "request": "launch", + "name": "Run Frodo CLI", + "program": "${workspaceFolder}/src/app.ts", + "args": ["config-manager", "push", "themes", "demo1"], + "outFiles": [ + "${workspaceFolder}/dist/**/*.(m|c|)js", + "${workspaceFolder}/node_modules/@rockcarver/frodo-lib/dist/**/*.(m|c|)js" + ] + } + ] + } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 20b95dabe..e5c56a5cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -92,7 +92,6 @@ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -2362,7 +2361,6 @@ "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "7.18.0", @@ -2397,7 +2395,6 @@ "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "7.18.0", "@typescript-eslint/types": "7.18.0", @@ -2613,7 +2610,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -3315,7 +3311,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -4334,7 +4329,6 @@ "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "bin": { "esbuild": "bin/esbuild" }, @@ -4400,7 +4394,6 @@ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -4457,7 +4450,6 @@ "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "dev": true, "license": "MIT", - "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -6366,7 +6358,6 @@ "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -8336,7 +8327,6 @@ "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -10048,7 +10038,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/src/cli/config-manager/config-manager-pull-access-config.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-access-config.ts similarity index 78% rename from src/cli/config-manager/config-manager-pull-access-config.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-access-config.ts index d74d44c7c..f19be8a66 100644 --- a/src/cli/config-manager/config-manager-pull-access-config.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-access-config.ts @@ -1,7 +1,7 @@ -import { configManagerExportAccessConfig } from '../../configManagerOps/FrConfigAccessConfigOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportAccessConfig } from '../../../configManagerOps/FrConfigAccessConfigOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-all-static.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-all-static.ts similarity index 80% rename from src/cli/config-manager/config-manager-pull-all-static.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-all-static.ts index 153113ca0..15fc81fbf 100644 --- a/src/cli/config-manager/config-manager-pull-all-static.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-all-static.ts @@ -1,7 +1,7 @@ -import { configManagerExportAllStatic } from '../../configManagerOps/FrConfigAllOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportAllStatic } from '../../../configManagerOps/FrConfigAllOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-all.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-all.ts similarity index 87% rename from src/cli/config-manager/config-manager-pull-all.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-all.ts index d2321a449..25a4ffc8b 100644 --- a/src/cli/config-manager/config-manager-pull-all.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-all.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportAllWithConfigFolder } from '../../configManagerOps/FrConfigAllOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportAllWithConfigFolder } from '../../../configManagerOps/FrConfigAllOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-audit.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-audit.ts similarity index 78% rename from src/cli/config-manager/config-manager-pull-audit.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-audit.ts index 08ba0953b..c60bc27c6 100644 --- a/src/cli/config-manager/config-manager-pull-audit.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-audit.ts @@ -1,7 +1,7 @@ -import { configManagerExportAudit } from '../../configManagerOps/FrConfigAuditOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportAudit } from '../../../configManagerOps/FrConfigAuditOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-authentication.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-authentication.ts similarity index 81% rename from src/cli/config-manager/config-manager-pull-authentication.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-authentication.ts index dc283ccfa..1861d96d1 100644 --- a/src/cli/config-manager/config-manager-pull-authentication.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-authentication.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportAuthentication } from '../../configManagerOps/FrConfigAuthenticationOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportAuthentication } from '../../../configManagerOps/FrConfigAuthenticationOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-authz-policies.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-authz-policies.ts similarity index 96% rename from src/cli/config-manager/config-manager-pull-authz-policies.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-authz-policies.ts index 376cc221c..5469d921a 100644 --- a/src/cli/config-manager/config-manager-pull-authz-policies.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-authz-policies.ts @@ -6,10 +6,10 @@ import { configManagerExportAuthzPolicySet, configManagerExportAuthzPolicySets, configManagerExportAuthzPolicySetsRealm, -} from '../../configManagerOps/FrConfigAuthzPoliciesOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +} from '../../../configManagerOps/FrConfigAuthzPoliciesOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud']; const { constants } = frodo.utils; diff --git a/src/cli/config-manager/config-manager-pull-connector-definitions.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-connector-definitions.ts similarity index 87% rename from src/cli/config-manager/config-manager-pull-connector-definitions.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-connector-definitions.ts index 356fb6a4d..693185e39 100644 --- a/src/cli/config-manager/config-manager-pull-connector-definitions.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-connector-definitions.ts @@ -3,10 +3,10 @@ import { Option } from 'commander'; import { configManagerExportConnectorDefinition, configManagerExportConnectorDefinitionsAll, -} from '../../configManagerOps/FrConfigConnectorDefinitionsOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +} from '../../../configManagerOps/FrConfigConnectorDefinitionsOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud']; diff --git a/src/cli/config-manager/config-manager-pull-connector-mappings.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-connector-mappings.ts similarity index 77% rename from src/cli/config-manager/config-manager-pull-connector-mappings.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-connector-mappings.ts index 3a65150e6..1bfae8a1b 100644 --- a/src/cli/config-manager/config-manager-pull-connector-mappings.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-connector-mappings.ts @@ -1,7 +1,7 @@ -import { configManagerExportMappings } from '../../configManagerOps/FrConfigConnectorMappingOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportMappings } from '../../../configManagerOps/FrConfigConnectorMappingOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud']; diff --git a/src/cli/config-manager/config-manager-pull-cookie-domains.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-cookie-domains.ts similarity index 77% rename from src/cli/config-manager/config-manager-pull-cookie-domains.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-cookie-domains.ts index ec456b653..4ed319d7f 100644 --- a/src/cli/config-manager/config-manager-pull-cookie-domains.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-cookie-domains.ts @@ -1,7 +1,7 @@ -import { configManagerExportCookieDomains } from '../../configManagerOps/FrConfigCookieDomainsOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportCookieDomains } from '../../../configManagerOps/FrConfigCookieDomainsOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-cors.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-cors.ts similarity index 78% rename from src/cli/config-manager/config-manager-pull-cors.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-cors.ts index 18d3a0167..02e11ecf8 100644 --- a/src/cli/config-manager/config-manager-pull-cors.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-cors.ts @@ -1,7 +1,7 @@ -import { configManagerExportCors } from '../../configManagerOps/FrConfigCorsOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportCors } from '../../../configManagerOps/FrConfigCorsOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud']; diff --git a/src/cli/config-manager/config-manager-pull-csp.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-csp.ts similarity index 86% rename from src/cli/config-manager/config-manager-pull-csp.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-csp.ts index b913cbaa6..afbfadff6 100644 --- a/src/cli/config-manager/config-manager-pull-csp.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-csp.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportCsp } from '../../configManagerOps/FrConfigCspOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportCsp } from '../../../configManagerOps/FrConfigCspOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud']; diff --git a/src/cli/config-manager/config-manager-pull-email-provider.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-email-provider.ts similarity index 82% rename from src/cli/config-manager/config-manager-pull-email-provider.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-email-provider.ts index b8005cc32..e99d9beaf 100644 --- a/src/cli/config-manager/config-manager-pull-email-provider.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-email-provider.ts @@ -1,7 +1,7 @@ -import { configManagerExportEmailProviderConfiguration } from '../../configManagerOps/FrConfigEmailProviderOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportEmailProviderConfiguration } from '../../../configManagerOps/FrConfigEmailProviderOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud']; diff --git a/src/cli/config-manager/config-manager-pull-email-templates.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-email-templates.ts similarity index 80% rename from src/cli/config-manager/config-manager-pull-email-templates.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-email-templates.ts index a42b80018..ef5b865ea 100644 --- a/src/cli/config-manager/config-manager-pull-email-templates.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-email-templates.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportEmailTemplates } from '../../configManagerOps/FrConfigEmailTemplatesOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportEmailTemplates } from '../../../configManagerOps/FrConfigEmailTemplatesOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-endpoints.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-endpoints.ts similarity index 81% rename from src/cli/config-manager/config-manager-pull-endpoints.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-endpoints.ts index 7cb360949..8ad8fbc08 100644 --- a/src/cli/config-manager/config-manager-pull-endpoints.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-endpoints.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportEndpoints } from '../../configManagerOps/FrConfigEndpointsOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportEndpoints } from '../../../configManagerOps/FrConfigEndpointsOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-internal-roles.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-internal-roles.ts similarity index 80% rename from src/cli/config-manager/config-manager-pull-internal-roles.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-internal-roles.ts index d3699931d..297eac595 100644 --- a/src/cli/config-manager/config-manager-pull-internal-roles.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-internal-roles.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportInternalRoles } from '../../configManagerOps/FrConfigInternalRolesOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportInternalRoles } from '../../../configManagerOps/FrConfigInternalRolesOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-journeys.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-journeys.ts similarity index 85% rename from src/cli/config-manager/config-manager-pull-journeys.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-journeys.ts index 1d1043784..37c2ef629 100644 --- a/src/cli/config-manager/config-manager-pull-journeys.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-journeys.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportJourneys } from '../../configManagerOps/FrConfigJourneysOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportJourneys } from '../../../configManagerOps/FrConfigJourneysOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-kba.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-kba.ts similarity index 78% rename from src/cli/config-manager/config-manager-pull-kba.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-kba.ts index 030fbe9f7..9442b106e 100644 --- a/src/cli/config-manager/config-manager-pull-kba.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-kba.ts @@ -1,7 +1,7 @@ -import { configManagerExportKbaConfig } from '../../configManagerOps/FrConfigKbaOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportKbaConfig } from '../../../configManagerOps/FrConfigKbaOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-locales.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-locales.ts similarity index 81% rename from src/cli/config-manager/config-manager-pull-locales.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-locales.ts index 489bb0dd5..ef9007345 100644 --- a/src/cli/config-manager/config-manager-pull-locales.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-locales.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportLocales } from '../../configManagerOps/FrConfigLocalesOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportLocales } from '../../../configManagerOps/FrConfigLocalesOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-managed-objects.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-managed-objects.ts similarity index 80% rename from src/cli/config-manager/config-manager-pull-managed-objects.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-managed-objects.ts index f925084e1..5d5b5f38d 100644 --- a/src/cli/config-manager/config-manager-pull-managed-objects.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-managed-objects.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportManagedObjects } from '../../configManagerOps/FrConfigManagedObjectsOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportManagedObjects } from '../../../configManagerOps/FrConfigManagedObjectsOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-oauth2-agents.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-oauth2-agents.ts similarity index 96% rename from src/cli/config-manager/config-manager-pull-oauth2-agents.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-oauth2-agents.ts index 6f0ca8a09..f41ee506b 100644 --- a/src/cli/config-manager/config-manager-pull-oauth2-agents.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-oauth2-agents.ts @@ -6,10 +6,10 @@ import { configManagerExportAgentsAll, configManagerExportAgentsRealm, configManagerExportConfigAgents, -} from '../../configManagerOps/FrConfigOauth2AgentOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +} from '../../../configManagerOps/FrConfigOauth2AgentOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud']; const { constants } = frodo.utils; diff --git a/src/cli/config-manager/config-manager-pull-org-privileges.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-org-privileges.ts similarity index 89% rename from src/cli/config-manager/config-manager-pull-org-privileges.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-org-privileges.ts index 7b7e544d5..34fb29e01 100644 --- a/src/cli/config-manager/config-manager-pull-org-privileges.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-org-privileges.ts @@ -5,10 +5,10 @@ import { configManagerExportOrgPrivileges, configManagerExportOrgPrivilegesAllRealms, configManagerExportOrgPrivilegesRealm, -} from '../../configManagerOps/FrConfigOrgPrivilegesOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +} from '../../../configManagerOps/FrConfigOrgPrivilegesOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud']; const { constants } = frodo.utils; diff --git a/src/cli/config-manager/config-manager-pull-password-policy.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-password-policy.ts similarity index 81% rename from src/cli/config-manager/config-manager-pull-password-policy.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-password-policy.ts index ef1d8a99a..e1ffeb979 100644 --- a/src/cli/config-manager/config-manager-pull-password-policy.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-password-policy.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportPasswordPolicy } from '../../configManagerOps/FrConfigPasswordPolicyOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportPasswordPolicy } from '../../../configManagerOps/FrConfigPasswordPolicyOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-raw.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-raw.ts similarity index 90% rename from src/cli/config-manager/config-manager-pull-raw.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-raw.ts index 4d2a4e94d..c0bfe75af 100644 --- a/src/cli/config-manager/config-manager-pull-raw.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-raw.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportRaw } from '../../configManagerOps/FrConfigRawOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportRaw } from '../../../configManagerOps/FrConfigRawOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud']; diff --git a/src/cli/config-manager/config-manager-pull-remote-servers.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-remote-servers.ts similarity index 78% rename from src/cli/config-manager/config-manager-pull-remote-servers.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-remote-servers.ts index 01a37eb21..13b743776 100644 --- a/src/cli/config-manager/config-manager-pull-remote-servers.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-remote-servers.ts @@ -1,7 +1,7 @@ -import { configManagerExportRemoteServers } from '../../configManagerOps/FrConfigRemoteServersOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportRemoteServers } from '../../../configManagerOps/FrConfigRemoteServersOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-saml.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-saml.ts similarity index 89% rename from src/cli/config-manager/config-manager-pull-saml.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-saml.ts index 63c1291e7..d8c58b57d 100644 --- a/src/cli/config-manager/config-manager-pull-saml.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-saml.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportSaml } from '../../configManagerOps/FrConfigSamlOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportSaml } from '../../../configManagerOps/FrConfigSamlOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-schedules.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-schedules.ts similarity index 80% rename from src/cli/config-manager/config-manager-pull-schedules.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-schedules.ts index 775a3b4dd..492715e4c 100644 --- a/src/cli/config-manager/config-manager-pull-schedules.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-schedules.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportSchedules } from '../../configManagerOps/FrConfigSchedulesOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportSchedules } from '../../../configManagerOps/FrConfigSchedulesOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-scripts.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-scripts.ts similarity index 96% rename from src/cli/config-manager/config-manager-pull-scripts.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-scripts.ts index 11ee45c47..5923e1d43 100644 --- a/src/cli/config-manager/config-manager-pull-scripts.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-scripts.ts @@ -5,10 +5,10 @@ import { configManagerExportScript, configManagerExportScriptsAll, configManagerExportScriptsRealms, -} from '../../configManagerOps/FrConfigScriptOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +} from '../../../configManagerOps/FrConfigScriptOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud']; const { constants } = frodo.utils; diff --git a/src/cli/config-manager/config-manager-pull-secret-mappings.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-secret-mappings.ts similarity index 84% rename from src/cli/config-manager/config-manager-pull-secret-mappings.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-secret-mappings.ts index 3e3dae7dc..aa48c5ef8 100644 --- a/src/cli/config-manager/config-manager-pull-secret-mappings.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-secret-mappings.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportSecretMappings } from '../../configManagerOps/FrConfigSecretMappingsOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportSecretMappings } from '../../../configManagerOps/FrConfigSecretMappingsOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-secrets.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-secrets.ts similarity index 78% rename from src/cli/config-manager/config-manager-pull-secrets.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-secrets.ts index 96cf2287d..5aa2087e2 100644 --- a/src/cli/config-manager/config-manager-pull-secrets.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-secrets.ts @@ -1,7 +1,7 @@ -import { configManagerExportSecrets } from '../../configManagerOps/FrConfigSecretOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportSecrets } from '../../../configManagerOps/FrConfigSecretOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-service-objects.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-service-objects.ts similarity index 93% rename from src/cli/config-manager/config-manager-pull-service-objects.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-service-objects.ts index 95125a084..277641f1b 100644 --- a/src/cli/config-manager/config-manager-pull-service-objects.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-service-objects.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportServiceObjectsFromFile } from '../../configManagerOps/FrConfigServiceObjectsOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportServiceObjectsFromFile } from '../../../configManagerOps/FrConfigServiceObjectsOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-services.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-services.ts similarity index 83% rename from src/cli/config-manager/config-manager-pull-services.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-services.ts index 46da6ca03..67a930070 100644 --- a/src/cli/config-manager/config-manager-pull-services.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-services.ts @@ -1,9 +1,9 @@ import { Option } from 'commander'; -import { configManagerExportServices } from '../../configManagerOps/FrConfigServiceOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportServices } from '../../../configManagerOps/FrConfigServiceOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-terms-and-conditions.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-terms-and-conditions.ts similarity index 77% rename from src/cli/config-manager/config-manager-pull-terms-and-conditions.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-terms-and-conditions.ts index 12c4d85dc..7af8c3e56 100644 --- a/src/cli/config-manager/config-manager-pull-terms-and-conditions.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-terms-and-conditions.ts @@ -1,7 +1,7 @@ -import { configManagerExportTermsAndConditions } from '../../configManagerOps/FrConfigTermsAndConditionsOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportTermsAndConditions } from '../../../configManagerOps/FrConfigTermsAndConditionsOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-test.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-test.ts similarity index 84% rename from src/cli/config-manager/config-manager-pull-test.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-test.ts index 6696c0c10..9f95b55d4 100644 --- a/src/cli/config-manager/config-manager-pull-test.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-test.ts @@ -1,6 +1,6 @@ -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-themes.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-themes.ts similarity index 77% rename from src/cli/config-manager/config-manager-pull-themes.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-themes.ts index f784bebc2..ce0a9f36e 100644 --- a/src/cli/config-manager/config-manager-pull-themes.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-themes.ts @@ -1,7 +1,7 @@ -import { configManagerExportThemes } from '../../configManagerOps/FrConfigThemeOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportThemes } from '../../../configManagerOps/FrConfigThemeOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-uiConfig.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-uiConfig.ts similarity index 78% rename from src/cli/config-manager/config-manager-pull-uiConfig.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-uiConfig.ts index ee8123c26..5bcce171c 100644 --- a/src/cli/config-manager/config-manager-pull-uiConfig.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-uiConfig.ts @@ -1,7 +1,7 @@ -import { configManagerExportUiConfig } from '../../configManagerOps/FrConfigUiConfigOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportUiConfig } from '../../../configManagerOps/FrConfigUiConfigOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull-variables.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull-variables.ts similarity index 77% rename from src/cli/config-manager/config-manager-pull-variables.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull-variables.ts index b69b944de..0f443f2ed 100644 --- a/src/cli/config-manager/config-manager-pull-variables.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull-variables.ts @@ -1,7 +1,7 @@ -import { configManagerExportVariables } from '../../configManagerOps/FrConfigVariableOps'; -import { getTokens } from '../../ops/AuthenticateOps'; -import { printMessage, verboseMessage } from '../../utils/Console'; -import { FrodoCommand } from '../FrodoCommand'; +import { configManagerExportVariables } from '../../../configManagerOps/FrConfigVariableOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; const deploymentTypes = ['cloud', 'forgeops']; diff --git a/src/cli/config-manager/config-manager-pull.ts b/src/cli/config-manager/config-manager-pull/config-manager-pull.ts similarity index 98% rename from src/cli/config-manager/config-manager-pull.ts rename to src/cli/config-manager/config-manager-pull/config-manager-pull.ts index f6dcace08..4881a4960 100644 --- a/src/cli/config-manager/config-manager-pull.ts +++ b/src/cli/config-manager/config-manager-pull/config-manager-pull.ts @@ -1,4 +1,4 @@ -import { FrodoStubCommand } from '../FrodoCommand'; +import { FrodoStubCommand } from '../../FrodoCommand'; import AccessConfig from './config-manager-pull-access-config'; import All from './config-manager-pull-all'; import AllStatic from './config-manager-pull-all-static'; diff --git a/src/cli/config-manager/config-manager-push/config-manager-push-themes.ts b/src/cli/config-manager/config-manager-push/config-manager-push-themes.ts new file mode 100644 index 000000000..711398dd9 --- /dev/null +++ b/src/cli/config-manager/config-manager-push/config-manager-push-themes.ts @@ -0,0 +1,45 @@ + +import { configManagerImportThemes } from '../../../configManagerOps/FrConfigThemeOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; + +const deploymentTypes = ['cloud', 'forgeops']; + +export default function setup() { + const program = new FrodoCommand( + 'frodo config-manager push themes', + [], + deploymentTypes + ); + + program + .description('Import themes.') + .action(async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + + if (await getTokens(false, true, deploymentTypes)) { + verboseMessage('Importing themes'); + const outcome = await configManagerImportThemes(); + + } + // unrecognized combination of options or no options + else { + printMessage( + 'Unrecognized combination of options or no options...', + 'error' + ); + program.help(); + process.exitCode = 1; + } + }); + return program; +} + diff --git a/src/cli/config-manager/config-manager-push/config-manager-push-uiConfig.ts b/src/cli/config-manager/config-manager-push/config-manager-push-uiConfig.ts new file mode 100644 index 000000000..ae882496b --- /dev/null +++ b/src/cli/config-manager/config-manager-push/config-manager-push-uiConfig.ts @@ -0,0 +1,47 @@ +import { configManagerImportUiConfig } from '../../../configManagerOps/FrConfigUiConfigOps'; +import { getTokens } from '../../../ops/AuthenticateOps'; +import { printMessage, verboseMessage } from '../../../utils/Console'; +import { FrodoCommand } from '../../FrodoCommand'; +import { Option } from 'commander'; + + +const deploymentTypes = ['cloud', 'forgeops']; + +export default function setup() { + const program = new FrodoCommand( + 'frodo config-manager push ui-config', + [], + deploymentTypes + ); + + program + .description('Import ui-configuration objects.') + .addOption(new Option('-f, --file [file]', 'Fr-config-manager format file to import.')) + .action(async (host, realm, user, password, options, command) => { + command.handleDefaultArgsAndOpts( + host, + realm, + user, + password, + options, + command + ); + + if (await getTokens(false, true, deploymentTypes)) { + verboseMessage('Exporting config entity ui-configuration'); + const outcome = await configManagerImportUiConfig(options.file); + if (!outcome) process.exitCode = 1; + } + // unrecognized combination of options or no options + else { + printMessage( + 'Unrecognized combination of options or no options...', + 'error' + ); + program.help(); + process.exitCode = 1; + } + }); + + return program; +} \ No newline at end of file diff --git a/src/cli/config-manager/config-manager-push/config-manager-push.ts b/src/cli/config-manager/config-manager-push/config-manager-push.ts new file mode 100644 index 000000000..a8b337b55 --- /dev/null +++ b/src/cli/config-manager/config-manager-push/config-manager-push.ts @@ -0,0 +1,17 @@ +import { FrodoStubCommand } from '../../FrodoCommand'; +import Themes from './config-manager-push-themes'; +import UiConfig from './config-manager-push-uiConfig'; + +export default function setup() { + const program = new FrodoStubCommand('frodo config-manager pull').description( + 'Export cloud configuration using fr-config-manager.' + ); + + + program.addCommand(Themes().name('themes')); + program.addCommand(UiConfig().name('ui-config')); + + return program; +} + + diff --git a/src/cli/config-manager/config-manager.ts b/src/cli/config-manager/config-manager.ts index 7f292e605..5b730b0cf 100644 --- a/src/cli/config-manager/config-manager.ts +++ b/src/cli/config-manager/config-manager.ts @@ -1,5 +1,7 @@ import { FrodoStubCommand } from '../FrodoCommand'; -import PullCmd from './config-manager-pull'; +import PullCmd from './config-manager-pull/config-manager-pull'; +import PushCmd from './config-manager-push/config-manager-push'; + export default function setup() { const program = new FrodoStubCommand('config-manager').description( @@ -8,6 +10,8 @@ export default function setup() { program.addOption; program.addCommand(PullCmd().name('pull')); + program.addCommand(PushCmd().name('push')); + return program; } diff --git a/src/configManagerOps/FrConfigThemeOps.ts b/src/configManagerOps/FrConfigThemeOps.ts index b6028e7f5..987d51c65 100644 --- a/src/configManagerOps/FrConfigThemeOps.ts +++ b/src/configManagerOps/FrConfigThemeOps.ts @@ -4,10 +4,11 @@ import fs from 'fs'; import { printError, printMessage } from '../utils/Console'; import { decodeOrNot } from '../utils/FrConfig'; +import { encodeOrNot } from '../utils/FrConfig' -const { saveJsonToFile, getFilePath } = frodo.utils; +const { saveJsonToFile, getFilePath, getRealmPath } = frodo.utils; const { readRealms } = frodo.realm; -const { readThemes } = frodo.theme; +const { readThemes, importThemes } = frodo.theme; const THEME_HTML_FIELDS = [ { name: 'accountFooter', encoded: false }, @@ -83,3 +84,51 @@ export async function configManagerExportThemes(): Promise { return false; } } + +export async function processTheme(theme: ThemeSkeleton, themePath: string) { + // create the for loop that will read and iterate through each realm to find the themes + for (const field of THEME_HTML_FIELDS) { + if (!theme[field.name]) continue; + + if (typeof theme[field.name] === 'object' && typeof (theme[field.name]as any).file === 'string' ) { + const fileName = (theme[field.name] as any).file + const filePath = `${themePath}/${fileName}`; + const fileContent = fs.readFileSync(filePath, 'utf8'); + const encodedContent = encodeOrNot(fileContent, field.encoded); + theme[field.name] = encodedContent; + } + } +} + +export async function configManagerImportThemes(): Promise { + try { + const realms = await readRealms(); + for (const realm of realms) { + state.setRealm(realm.name); + const importDir = getFilePath(`realms${realm.name === '/' ? '' : realm.parentPath + realm.name}/themes`, true); + const themesDir = fs.readdirSync(importDir, { withFileTypes: true}) + .filter(dirent => dirent.isDirectory()) + .map(dirent => dirent.name); + const themeMap: Record = {}; + + for (const themeName of themesDir) { + const themeDir = `${importDir}/${themeName}`; + const themeJsonPath = `${themeDir}/${themeName}.json`; + const theme: ThemeSkeleton = JSON.parse(fs.readFileSync(themeJsonPath, 'utf8')); + processTheme(theme, themeDir); + themeMap[theme._id] = theme; + } + + // Import all themes for this realm + // await importThemes( + // { theme: themeMap } + // ); + + saveJsonToFile( { theme: themeMap }, 'export.json'); + } + return true; + } catch (error) { + printError(error); + return false; + } +} diff --git a/src/configManagerOps/FrConfigUiConfigOps.ts b/src/configManagerOps/FrConfigUiConfigOps.ts index 632268ee6..b3c78130b 100644 --- a/src/configManagerOps/FrConfigUiConfigOps.ts +++ b/src/configManagerOps/FrConfigUiConfigOps.ts @@ -1,9 +1,11 @@ import { frodo } from '@rockcarver/frodo-lib'; - +import fs from 'fs'; +import path from 'path'; import { getIdmImportExportOptions } from '../ops/IdmOps'; import { printError } from '../utils/Console'; +import { errorHandler } from '../ops/utils/OpsUtils'; -const { exportConfigEntity } = frodo.idm.config; +const { exportConfigEntity, importConfigEntities} = frodo.idm.config; const { getFilePath, saveJsonToFile } = frodo.utils; /** @@ -34,3 +36,36 @@ export async function configManagerExportUiConfig( } return false; } + +export async function configManagerImportUiConfig( + file?: string, + envFile?: string, + validate: boolean = false +): Promise { + try { + const fileData = fs.readFileSync( + path.resolve(process.cwd(), file), + 'utf8' + ); + let importData = JSON.parse(fileData); + importData = { idm: { [importData._id]: importData } }; + //saveJsonToFile (importData, './frconfigtestfile.json'); + const options = getIdmImportExportOptions(undefined, envFile); + + await importConfigEntities( + importData, + "ui/configuration", + { + envReplaceParams: options.envReplaceParams, + entitiesToImport: undefined, + validate, + }, + errorHandler + ); + return true + } + catch (error) { + printError(error); + } + return false +} \ No newline at end of file diff --git a/src/utils/FrConfig.ts b/src/utils/FrConfig.ts index a2044e333..d32bebb1a 100644 --- a/src/utils/FrConfig.ts +++ b/src/utils/FrConfig.ts @@ -34,6 +34,10 @@ export function decodeOrNot(value: string, encoded: boolean): string { return encoded ? Buffer.from(value, 'base64').toString('utf8') : value; } +export function encodeOrNot(value: string, encoded: boolean): string { + return encoded ? Buffer.from(value, 'base64').toString('utf8') : value; +} + export function replaceAllInJson( content: object, replacements: { search: string | RegExp; replacement?: string }[]