@rockcarver/frodo-cli 0.15.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -1
- package/esm/app.js +55 -0
- package/esm/app.js.map +1 -0
- package/esm/cli/_template/cmd-delete.js +22 -0
- package/esm/cli/_template/cmd-delete.js.map +1 -0
- package/esm/cli/_template/cmd-describe.js +22 -0
- package/esm/cli/_template/cmd-describe.js.map +1 -0
- package/esm/cli/_template/cmd-export.js +22 -0
- package/esm/cli/_template/cmd-export.js.map +1 -0
- package/esm/cli/_template/cmd-import.js +22 -0
- package/esm/cli/_template/cmd-import.js.map +1 -0
- package/esm/cli/_template/cmd-list.js +22 -0
- package/esm/cli/_template/cmd-list.js.map +1 -0
- package/esm/cli/_template/cmd-sub1-delete.js +22 -0
- package/esm/cli/_template/cmd-sub1-delete.js.map +1 -0
- package/esm/cli/_template/cmd-sub1-describe.js +22 -0
- package/esm/cli/_template/cmd-sub1-describe.js.map +1 -0
- package/esm/cli/_template/cmd-sub1-export.js +22 -0
- package/esm/cli/_template/cmd-sub1-export.js.map +1 -0
- package/esm/cli/_template/cmd-sub1-import.js +22 -0
- package/esm/cli/_template/cmd-sub1-import.js.map +1 -0
- package/esm/cli/_template/cmd-sub1-list.js +22 -0
- package/esm/cli/_template/cmd-sub1-list.js.map +1 -0
- package/esm/cli/_template/cmd-sub1.js +10 -0
- package/esm/cli/_template/cmd-sub1.js.map +1 -0
- package/esm/cli/_template/cmd-sub2-delete.js +22 -0
- package/esm/cli/_template/cmd-sub2-delete.js.map +1 -0
- package/esm/cli/_template/cmd-sub2-describe.js +22 -0
- package/esm/cli/_template/cmd-sub2-describe.js.map +1 -0
- package/esm/cli/_template/cmd-sub2-export.js +22 -0
- package/esm/cli/_template/cmd-sub2-export.js.map +1 -0
- package/esm/cli/_template/cmd-sub2-import.js +22 -0
- package/esm/cli/_template/cmd-sub2-import.js.map +1 -0
- package/esm/cli/_template/cmd-sub2-list.js +22 -0
- package/esm/cli/_template/cmd-sub2-list.js.map +1 -0
- package/esm/cli/_template/cmd-sub2.js +10 -0
- package/esm/cli/_template/cmd-sub2.js.map +1 -0
- package/esm/cli/_template/cmd.js +19 -0
- package/esm/cli/_template/cmd.js.map +1 -0
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +28 -0
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -0
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +85 -0
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -0
- package/esm/cli/admin/admin-get-access-token.js +28 -0
- package/esm/cli/admin/admin-get-access-token.js.map +1 -0
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +28 -0
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -0
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js +28 -0
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -0
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +31 -0
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -0
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +31 -0
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -0
- package/esm/cli/admin/admin-list-static-user-mappings.js +31 -0
- package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -0
- package/esm/cli/admin/admin-remove-static-user-mapping.js +28 -0
- package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -0
- package/esm/cli/admin/admin-repair-org-model.js +28 -0
- package/esm/cli/admin/admin-repair-org-model.js.map +1 -0
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +28 -0
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -0
- package/esm/cli/admin/admin-show-generic-extension-attributes.js +28 -0
- package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -0
- package/esm/cli/admin/admin.js +24 -0
- package/esm/cli/admin/admin.js.map +1 -0
- package/esm/cli/app/app-delete.js +22 -0
- package/esm/cli/app/app-delete.js.map +1 -0
- package/esm/cli/app/app-describe.js +22 -0
- package/esm/cli/app/app-describe.js.map +1 -0
- package/esm/cli/app/app-export.js +44 -0
- package/esm/cli/app/app-export.js.map +1 -0
- package/esm/cli/app/app-import.js +45 -0
- package/esm/cli/app/app-import.js.map +1 -0
- package/esm/cli/app/app-list.js +27 -0
- package/esm/cli/app/app-list.js.map +1 -0
- package/esm/cli/app/app.js +20 -0
- package/esm/cli/app/app.js.map +1 -0
- package/esm/cli/cmd_common.js +77 -0
- package/esm/cli/cmd_common.js.map +1 -0
- package/esm/cli/conn/conn-add.js +37 -0
- package/esm/cli/conn/conn-add.js.map +1 -0
- package/esm/cli/conn/conn-delete.js +14 -0
- package/esm/cli/conn/conn-delete.js.map +1 -0
- package/esm/cli/conn/conn-describe.js +14 -0
- package/esm/cli/conn/conn-describe.js.map +1 -0
- package/esm/cli/conn/conn-list.js +16 -0
- package/esm/cli/conn/conn-list.js.map +1 -0
- package/esm/cli/conn/conn.js +17 -0
- package/esm/cli/conn/conn.js.map +1 -0
- package/esm/cli/email/email-template-export.js +44 -0
- package/esm/cli/email/email-template-export.js.map +1 -0
- package/esm/cli/email/email-template-import.js +49 -0
- package/esm/cli/email/email-template-import.js.map +1 -0
- package/esm/cli/email/email-template-list.js +27 -0
- package/esm/cli/email/email-template-list.js.map +1 -0
- package/esm/cli/email/email-template.js +8 -0
- package/esm/cli/email/email-template.js.map +1 -0
- package/esm/cli/email/email.js +13 -0
- package/esm/cli/email/email.js.map +1 -0
- package/esm/cli/esv/esv-apply.js +67 -0
- package/esm/cli/esv/esv-apply.js.map +1 -0
- package/esm/cli/esv/esv-secret-create.js +27 -0
- package/esm/cli/esv/esv-secret-create.js.map +1 -0
- package/esm/cli/esv/esv-secret-delete.js +39 -0
- package/esm/cli/esv/esv-secret-delete.js.map +1 -0
- package/esm/cli/esv/esv-secret-describe.js +27 -0
- package/esm/cli/esv/esv-secret-describe.js.map +1 -0
- package/esm/cli/esv/esv-secret-export.js +22 -0
- package/esm/cli/esv/esv-secret-export.js.map +1 -0
- package/esm/cli/esv/esv-secret-import.js +22 -0
- package/esm/cli/esv/esv-secret-import.js.map +1 -0
- package/esm/cli/esv/esv-secret-list.js +27 -0
- package/esm/cli/esv/esv-secret-list.js.map +1 -0
- package/esm/cli/esv/esv-secret-set.js +27 -0
- package/esm/cli/esv/esv-secret-set.js.map +1 -0
- package/esm/cli/esv/esv-secret-version-activate.js +34 -0
- package/esm/cli/esv/esv-secret-version-activate.js.map +1 -0
- package/esm/cli/esv/esv-secret-version-create.js +27 -0
- package/esm/cli/esv/esv-secret-version-create.js.map +1 -0
- package/esm/cli/esv/esv-secret-version-deactivate.js +34 -0
- package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -0
- package/esm/cli/esv/esv-secret-version-delete.js +39 -0
- package/esm/cli/esv/esv-secret-version-delete.js.map +1 -0
- package/esm/cli/esv/esv-secret-version-list.js +27 -0
- package/esm/cli/esv/esv-secret-version-list.js.map +1 -0
- package/esm/cli/esv/esv-secret-version.js +10 -0
- package/esm/cli/esv/esv-secret-version.js.map +1 -0
- package/esm/cli/esv/esv-secret.js +13 -0
- package/esm/cli/esv/esv-secret.js.map +1 -0
- package/esm/cli/esv/esv-variable-create.js +27 -0
- package/esm/cli/esv/esv-variable-create.js.map +1 -0
- package/esm/cli/esv/esv-variable-delete.js +39 -0
- package/esm/cli/esv/esv-variable-delete.js.map +1 -0
- package/esm/cli/esv/esv-variable-describe.js +27 -0
- package/esm/cli/esv/esv-variable-describe.js.map +1 -0
- package/esm/cli/esv/esv-variable-export.js +22 -0
- package/esm/cli/esv/esv-variable-export.js.map +1 -0
- package/esm/cli/esv/esv-variable-import.js +22 -0
- package/esm/cli/esv/esv-variable-import.js.map +1 -0
- package/esm/cli/esv/esv-variable-list.js +27 -0
- package/esm/cli/esv/esv-variable-list.js.map +1 -0
- package/esm/cli/esv/esv-variable-set.js +37 -0
- package/esm/cli/esv/esv-variable-set.js.map +1 -0
- package/esm/cli/esv/esv-variable.js +12 -0
- package/esm/cli/esv/esv-variable.js.map +1 -0
- package/esm/cli/esv/esv.js +15 -0
- package/esm/cli/esv/esv.js.map +1 -0
- package/esm/cli/idm/idm-count.js +27 -0
- package/esm/cli/idm/idm-count.js.map +1 -0
- package/esm/cli/idm/idm-export.js +44 -0
- package/esm/cli/idm/idm-export.js.map +1 -0
- package/esm/cli/idm/idm-list.js +30 -0
- package/esm/cli/idm/idm-list.js.map +1 -0
- package/esm/cli/idm/idm.js +16 -0
- package/esm/cli/idm/idm.js.map +1 -0
- package/esm/cli/idp/idp-export.js +44 -0
- package/esm/cli/idp/idp-export.js.map +1 -0
- package/esm/cli/idp/idp-import.js +49 -0
- package/esm/cli/idp/idp-import.js.map +1 -0
- package/esm/cli/idp/idp-list.js +30 -0
- package/esm/cli/idp/idp-list.js.map +1 -0
- package/esm/cli/idp/idp.js +15 -0
- package/esm/cli/idp/idp.js.map +1 -0
- package/esm/cli/info/info.js +48 -0
- package/esm/cli/info/info.js.map +1 -0
- package/esm/cli/journey/journey-delete.e2e.test_.js.map +1 -0
- package/esm/cli/journey/journey-delete.js +39 -0
- package/esm/cli/journey/journey-delete.js.map +1 -0
- package/esm/cli/journey/journey-describe.js +100 -0
- package/esm/cli/journey/journey-describe.js.map +1 -0
- package/esm/cli/journey/journey-disable.js +46 -0
- package/esm/cli/journey/journey-disable.js.map +1 -0
- package/esm/cli/journey/journey-enable.js +46 -0
- package/esm/cli/journey/journey-enable.js.map +1 -0
- package/esm/cli/journey/journey-export.js +56 -0
- package/esm/cli/journey/journey-export.js.map +1 -0
- package/esm/cli/journey/journey-import.js +65 -0
- package/esm/cli/journey/journey-import.js.map +1 -0
- package/esm/cli/journey/journey-list.e2e.test_.js.map +1 -0
- package/esm/cli/journey/journey-list.js +27 -0
- package/esm/cli/journey/journey-list.js.map +1 -0
- package/esm/cli/journey/journey-prune.js +41 -0
- package/esm/cli/journey/journey-prune.js.map +1 -0
- package/esm/cli/journey/journey.js +20 -0
- package/esm/cli/journey/journey.js.map +1 -0
- package/esm/cli/logging/logs-list.js +66 -0
- package/esm/cli/logging/logs-list.js.map +1 -0
- package/esm/cli/logging/logs-tail.js +60 -0
- package/esm/cli/logging/logs-tail.js.map +1 -0
- package/esm/cli/logging/logs.js +13 -0
- package/esm/cli/logging/logs.js.map +1 -0
- package/esm/cli/realm/realm-add-custom-domain.js +27 -0
- package/esm/cli/realm/realm-add-custom-domain.js.map +1 -0
- package/esm/cli/realm/realm-describe.js +30 -0
- package/esm/cli/realm/realm-describe.js.map +1 -0
- package/esm/cli/realm/realm-list.js +27 -0
- package/esm/cli/realm/realm-list.js.map +1 -0
- package/esm/cli/realm/realm-remove-custom-domain.js +27 -0
- package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -0
- package/esm/cli/realm/realm.js +18 -0
- package/esm/cli/realm/realm.js.map +1 -0
- package/esm/cli/saml/saml-cot-export.js +44 -0
- package/esm/cli/saml/saml-cot-export.js.map +1 -0
- package/esm/cli/saml/saml-cot-import.js +49 -0
- package/esm/cli/saml/saml-cot-import.js.map +1 -0
- package/esm/cli/saml/saml-cot-list.js +27 -0
- package/esm/cli/saml/saml-cot-list.js.map +1 -0
- package/esm/cli/saml/saml-cot.js +8 -0
- package/esm/cli/saml/saml-cot.js.map +1 -0
- package/esm/cli/saml/saml-describe.js +27 -0
- package/esm/cli/saml/saml-describe.js.map +1 -0
- package/esm/cli/saml/saml-export.js +44 -0
- package/esm/cli/saml/saml-export.js.map +1 -0
- package/esm/cli/saml/saml-import.js +49 -0
- package/esm/cli/saml/saml-import.js.map +1 -0
- package/esm/cli/saml/saml-list.js +27 -0
- package/esm/cli/saml/saml-list.js.map +1 -0
- package/esm/cli/saml/saml-metadata-export.js +39 -0
- package/esm/cli/saml/saml-metadata-export.js.map +1 -0
- package/esm/cli/saml/saml-metadata.js +6 -0
- package/esm/cli/saml/saml-metadata.js.map +1 -0
- package/esm/cli/saml/saml.js +18 -0
- package/esm/cli/saml/saml.js.map +1 -0
- package/esm/cli/script/script-delete.js +22 -0
- package/esm/cli/script/script-delete.js.map +1 -0
- package/esm/cli/script/script-describe.js +22 -0
- package/esm/cli/script/script-describe.js.map +1 -0
- package/esm/cli/script/script-export.js +55 -0
- package/esm/cli/script/script-export.js.map +1 -0
- package/esm/cli/script/script-import.js +28 -0
- package/esm/cli/script/script-import.js.map +1 -0
- package/esm/cli/script/script-list.js +27 -0
- package/esm/cli/script/script-list.js.map +1 -0
- package/esm/cli/script/script.js +17 -0
- package/esm/cli/script/script.js.map +1 -0
- package/esm/cli/theme/theme-delete.e2e.test_.js.map +1 -0
- package/esm/cli/theme/theme-delete.js +44 -0
- package/esm/cli/theme/theme-delete.js.map +1 -0
- package/esm/cli/theme/theme-export.js +49 -0
- package/esm/cli/theme/theme-export.js.map +1 -0
- package/esm/cli/theme/theme-import.js +54 -0
- package/esm/cli/theme/theme-import.js.map +1 -0
- package/esm/cli/theme/theme-list.e2e.test_.js.map +1 -0
- package/esm/cli/theme/theme-list.js +27 -0
- package/esm/cli/theme/theme-list.js.map +1 -0
- package/esm/cli/theme/theme.js +16 -0
- package/esm/cli/theme/theme.js.map +1 -0
- package/esm/ops/CirclesOfTrustOps.js +12 -0
- package/esm/ops/CirclesOfTrustOps.js.map +1 -0
- package/esm/ops/EmailTemplateOps.js +10 -0
- package/esm/ops/EmailTemplateOps.js.map +1 -0
- package/esm/ops/IdpOps.js +10 -0
- package/esm/ops/IdpOps.js.map +1 -0
- package/esm/ops/JourneyOps.js +203 -0
- package/esm/ops/JourneyOps.js.map +1 -0
- package/esm/ops/NodeOps.js +36 -0
- package/esm/ops/NodeOps.js.map +1 -0
- package/esm/ops/Saml2Ops.js +23 -0
- package/esm/ops/Saml2Ops.js.map +1 -0
- package/esm/ops/ScriptOps.js +10 -0
- package/esm/ops/ScriptOps.js.map +1 -0
- package/esm/ops/ThemeOps.js +10 -0
- package/esm/ops/ThemeOps.js.map +1 -0
- package/esm/ops/utils/Wordwrap.js +5 -0
- package/esm/ops/utils/Wordwrap.js.map +1 -0
- package/esm/storage/StaticStorage.js +12 -0
- package/esm/storage/StaticStorage.js.map +1 -0
- package/esm/utils/Config.js +54 -0
- package/esm/utils/Config.js.map +1 -0
- package/esm/utils/Console.js +532 -0
- package/esm/utils/Console.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-export.js","names":["Command","Option","Authenticate","Theme","state","common","getTokens","exportThemeById","exportThemeByName","exportThemesToFile","exportThemesToFiles","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","themeName","console","log","getRealm","file","themeId","all","allSeparate","help","parse"],"sources":["cli/theme/theme-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Theme, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst {\n exportThemeById,\n exportThemeByName,\n exportThemesToFile,\n exportThemesToFiles,\n} = Theme;\n\nconst program = new Command('frodo theme export');\n\nprogram\n .description('Export themes.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-n, --theme-name <name>',\n 'Name of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-i, --theme-id <uuid>',\n 'Uuid of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file [file]',\n 'Name of the file to write the exported theme(s) to. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all the themes in a realm to a single file. Ignored with -n and -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all the themes in a realm as separate files <theme name>.theme.json. Ignored with -n, -i, and -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // export by name\n if (options.themeName) {\n console.log(\n `Exporting theme \"${\n options.themeName\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n exportThemeByName(options.themeName, options.file);\n }\n // export by id\n else if (options.themeId) {\n console.log(\n `Exporting theme \"${\n options.themeId\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n exportThemeById(options.themeId, options.file);\n }\n // --all -a\n else if (options.all) {\n console.log('Exporting all themes to a single file...');\n exportThemesToFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate) {\n console.log('Exporting all themes to separate files...');\n exportThemesToFiles();\n }\n // unrecognized combination of options or no options\n else {\n console.log(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Command, Option } from 'commander';
|
|
2
|
+
import { Authenticate, Theme, state } from '@rockcarver/frodo-lib';
|
|
3
|
+
import * as common from '../cmd_common.js';
|
|
4
|
+
const {
|
|
5
|
+
getTokens
|
|
6
|
+
} = Authenticate;
|
|
7
|
+
const {
|
|
8
|
+
importFirstThemeFromFile,
|
|
9
|
+
importThemeById,
|
|
10
|
+
importThemeByName,
|
|
11
|
+
importThemesFromFile,
|
|
12
|
+
importThemesFromFiles
|
|
13
|
+
} = Theme;
|
|
14
|
+
const program = new Command('frodo theme import');
|
|
15
|
+
program.description('Import themes.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-n, --theme-name <name>', 'Name of the theme. If specified, -a and -A are ignored.')).addOption(new Option('-i, --theme-id <uuid>', 'Uuid of the theme. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import the theme(s) from.')).addOption(new Option('-a, --all', 'Import all the themes from single file. Ignored with -n or -i.')).addOption(new Option('-A, --all-separate', 'Import all the themes from separate files (*.json) in the current directory. Ignored with -n or -i or -a.')).action( // implement command logic inside action handler
|
|
16
|
+
async (host, realm, user, password, options) => {
|
|
17
|
+
state.default.session.setTenant(host);
|
|
18
|
+
state.default.session.setRealm(realm);
|
|
19
|
+
state.default.session.setUsername(user);
|
|
20
|
+
state.default.session.setPassword(password);
|
|
21
|
+
state.default.session.setDeploymentType(options.type);
|
|
22
|
+
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
23
|
+
|
|
24
|
+
if (await getTokens()) {
|
|
25
|
+
// import by name
|
|
26
|
+
if (options.file && options.themeName) {
|
|
27
|
+
console.log(`Importing theme with name "${options.themeName}" into realm "${state.default.session.getRealm()}"...`);
|
|
28
|
+
importThemeByName(options.themeName, options.file);
|
|
29
|
+
} // import by id
|
|
30
|
+
else if (options.file && options.themeId) {
|
|
31
|
+
console.log(`Importing theme with id "${options.themeId}" into realm "${state.default.session.getRealm()}"...`);
|
|
32
|
+
importThemeById(options.themeId, options.file);
|
|
33
|
+
} // --all -a
|
|
34
|
+
else if (options.all && options.file) {
|
|
35
|
+
console.log(`Importing all themes from a single file (${options.file})...`);
|
|
36
|
+
importThemesFromFile(options.file);
|
|
37
|
+
} // --all-separate -A
|
|
38
|
+
else if (options.allSeparate && !options.file) {
|
|
39
|
+
console.log('Importing all themes from separate files in current directory...');
|
|
40
|
+
importThemesFromFiles();
|
|
41
|
+
} // import single theme from file
|
|
42
|
+
else if (options.file) {
|
|
43
|
+
console.log(`Importing first theme from file "${options.file}" into realm "${state.default.session.getRealm()}"...`);
|
|
44
|
+
importFirstThemeFromFile(options.file);
|
|
45
|
+
} // unrecognized combination of options or no options
|
|
46
|
+
else {
|
|
47
|
+
console.log('Unrecognized combination of options or no options...');
|
|
48
|
+
program.help();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
} // end command logic inside action handler
|
|
52
|
+
);
|
|
53
|
+
program.parse();
|
|
54
|
+
//# sourceMappingURL=theme-import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-import.js","names":["Command","Option","Authenticate","Theme","state","common","getTokens","importFirstThemeFromFile","importThemeById","importThemeByName","importThemesFromFile","importThemesFromFiles","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","file","themeName","console","log","getRealm","themeId","all","allSeparate","help","parse"],"sources":["cli/theme/theme-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Theme, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst {\n importFirstThemeFromFile,\n importThemeById,\n importThemeByName,\n importThemesFromFile,\n importThemesFromFiles,\n} = Theme;\n\nconst program = new Command('frodo theme import');\n\nprogram\n .description('Import themes.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-n, --theme-name <name>',\n 'Name of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-i, --theme-id <uuid>',\n 'Uuid of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import the theme(s) from.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all the themes from single file. Ignored with -n or -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all the themes from separate files (*.json) in the current directory. Ignored with -n or -i or -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // import by name\n if (options.file && options.themeName) {\n console.log(\n `Importing theme with name \"${\n options.themeName\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importThemeByName(options.themeName, options.file);\n }\n // import by id\n else if (options.file && options.themeId) {\n console.log(\n `Importing theme with id \"${\n options.themeId\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importThemeById(options.themeId, options.file);\n }\n // --all -a\n else if (options.all && options.file) {\n console.log(\n `Importing all themes from a single file (${options.file})...`\n );\n importThemesFromFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file) {\n console.log(\n 'Importing all themes from separate files in current directory...'\n );\n importThemesFromFiles();\n }\n // import single theme from file\n else if (options.file) {\n console.log(\n `Importing first theme from file \"${\n options.file\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importFirstThemeFromFile(options.file);\n }\n // unrecognized combination of options or no options\n else {\n console.log('Unrecognized combination of options or no options...');\n program.help();\n }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-list.e2e.test_.js","names":["spawn","spawnSync","ansiEscapeCodes","beforeAll","deleteThemesCmd","status","console","error","stderr","toString","log","stdout","importBaselineThemesCmd","cwd","describe","it","done","themeList","expected","join","chunks","on","chunk","push","output","Buffer","concat","replace","expect","toBe","expectedLong"],"sources":["cli/theme/theme-list.e2e.test_.ts"],"sourcesContent":["// import { jest } from '@jest/globals';\nimport { spawn, spawnSync } from 'child_process';\n\nconst ansiEscapeCodes =\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;\n\n/**\n * delete all themes and import baseline and additional test themes\n */\nbeforeAll(async () => {\n // delete all themes\n const deleteThemesCmd = spawnSync('frodo', [\n 'theme',\n 'delete',\n '--all',\n 'frodo-dev',\n ]);\n if (deleteThemesCmd.status > 0) {\n console.error(deleteThemesCmd.stderr.toString());\n console.log(deleteThemesCmd.stdout.toString());\n }\n\n // import baseline themes\n const importBaselineThemesCmd = spawnSync(\n 'frodo',\n ['theme', 'import', '--all-separate', 'frodo-dev'],\n {\n cwd: `test/e2e/theme/baseline`,\n }\n );\n if (importBaselineThemesCmd.status > 0) {\n console.error(importBaselineThemesCmd.stderr.toString());\n console.log(importBaselineThemesCmd.stdout.toString());\n }\n});\n\ndescribe('frodo theme list', () => {\n it('\"frodo theme list\": should list the names of the default themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', 'frodo-dev']);\n const expected = [\n 'Contrast',\n 'Highlander',\n 'Robroy',\n 'Starter Theme',\n 'Zardoz',\n '',\n ].join('\\n');\n\n const chunks = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n const expectedLong = [\n 'Name │Id │Default',\n 'Contrast │cd6c93e2-52e2-4340-9770-66a588343841│ ',\n 'Highlander │00203891-dde0-4114-b27a-219ae0b43a61│ ',\n 'Robroy │b82755e8-fe9a-4d27-b66b-45e37ae12345│ ',\n 'Starter Theme│86ce2f64-586d-44fe-8593-b12a85aac68d│Yes ',\n 'Zardoz │4ded6d91-ceea-400a-ae3f-42209f1b0e06│ ',\n '',\n ].join('\\n');\n\n it('\"frodo theme list -l\": should list the names, ids, and default flag of the baseline themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', '-l', 'frodo-dev']);\n\n const chunks = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expectedLong);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme list --long\": should list the names, status, and default flag of the baseline themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', '--long', 'frodo-dev']);\n\n const chunks = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expectedLong);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Command, Option } from 'commander';
|
|
2
|
+
import { Authenticate, Theme, state } from '@rockcarver/frodo-lib';
|
|
3
|
+
import * as common from '../cmd_common.js';
|
|
4
|
+
const {
|
|
5
|
+
getTokens
|
|
6
|
+
} = Authenticate;
|
|
7
|
+
const {
|
|
8
|
+
listThemes
|
|
9
|
+
} = Theme;
|
|
10
|
+
const program = new Command('frodo theme list');
|
|
11
|
+
program.description('List themes.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-l, --long', 'Long with more fields.').default(false, 'false')).action( // implement command logic inside action handler
|
|
12
|
+
async (host, realm, user, password, options) => {
|
|
13
|
+
state.default.session.setTenant(host);
|
|
14
|
+
state.default.session.setRealm(realm);
|
|
15
|
+
state.default.session.setUsername(user);
|
|
16
|
+
state.default.session.setPassword(password);
|
|
17
|
+
state.default.session.setDeploymentType(options.type);
|
|
18
|
+
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
19
|
+
|
|
20
|
+
if (await getTokens()) {
|
|
21
|
+
console.log(`Listing themes in realm "${state.default.session.getRealm()}"...`);
|
|
22
|
+
listThemes(options.long);
|
|
23
|
+
}
|
|
24
|
+
} // end command logic inside action handler
|
|
25
|
+
);
|
|
26
|
+
program.parse();
|
|
27
|
+
//# sourceMappingURL=theme-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-list.js","names":["Command","Option","Authenticate","Theme","state","common","getTokens","listThemes","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","console","log","getRealm","long","parse"],"sources":["cli/theme/theme-list.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Theme, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\nconst { listThemes } = Theme;\n\nconst program = new Command('frodo theme list');\n\nprogram\n .description('List themes.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option('-l, --long', 'Long with more fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n console.log(\n `Listing themes in realm \"${state.default.session.getRealm()}\"...`\n );\n listThemes(options.long);\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,EAA8BC,KAA9B,QAA2C,uBAA3C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBJ,YAAtB;AACA,MAAM;EAAEK;AAAF,IAAiBJ,KAAvB;AAEA,MAAMK,OAAO,GAAG,IAAIR,OAAJ,CAAY,kBAAZ,CAAhB;AAEAQ,OAAO,CACJC,WADH,CACe,cADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeP,MAAM,CAACQ,aAJtB,EAKGD,WALH,CAKeP,MAAM,CAACS,aALtB,EAMGF,WANH,CAMeP,MAAM,CAACU,YANtB,EAOGH,WAPH,CAOeP,MAAM,CAACW,gBAPtB,EAQGC,SARH,CAQaZ,MAAM,CAACa,gBARpB,EASGD,SATH,CASaZ,MAAM,CAACc,cATpB,EAUGF,SAVH,CAWI,IAAIhB,MAAJ,CAAW,YAAX,EAAyB,wBAAzB,EAAmDmB,OAAnD,CAA2D,KAA3D,EAAkE,OAAlE,CAXJ,EAaGC,MAbH,EAcI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CtB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBC,SAAtB,CAAgCN,IAAhC;EACAlB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBE,QAAtB,CAA+BN,KAA/B;EACAnB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBG,WAAtB,CAAkCN,IAAlC;EACApB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBI,WAAtB,CAAkCN,QAAlC;EACArB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBK,iBAAtB,CAAwCN,OAAO,CAACO,IAAhD;EACA7B,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBO,0BAAtB,CAAiDR,OAAO,CAACS,QAAzD;;EACA,IAAI,MAAM7B,SAAS,EAAnB,EAAuB;IACrB8B,OAAO,CAACC,GAAR,CACG,4BAA2BjC,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBW,QAAtB,EAAiC,MAD/D;IAGA/B,UAAU,CAACmB,OAAO,CAACa,IAAT,CAAV;EACD;AACF,CA5BL,CA6BI;AA7BJ;AAgCA/B,OAAO,CAACgC,KAAR"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
|
|
5
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
|
|
7
|
+
export default function setup() {
|
|
8
|
+
const program = new Command('theme').helpOption('-h, --help', 'Help').description('Manage themes.').executableDir(__dirname);
|
|
9
|
+
program.command('list', 'List themes.').showHelpAfterError();
|
|
10
|
+
program.command('export', 'Export themes.').showHelpAfterError();
|
|
11
|
+
program.command('import', 'Import themes.').showHelpAfterError();
|
|
12
|
+
program.command('delete', 'Delete themes.').showHelpAfterError();
|
|
13
|
+
program.showHelpAfterError();
|
|
14
|
+
return program;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","names":["Command","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","helpOption","description","executableDir","command","showHelpAfterError"],"sources":["cli/theme/theme.ts"],"sourcesContent":["import { Command } from 'commander';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new Command('theme')\n .helpOption('-h, --help', 'Help')\n .description('Manage themes.')\n .executableDir(__dirname);\n\n program.command('list', 'List themes.').showHelpAfterError();\n\n program.command('export', 'Export themes.').showHelpAfterError();\n\n program.command('import', 'Import themes.').showHelpAfterError();\n\n program.command('delete', 'Delete themes.').showHelpAfterError();\n\n program.showHelpAfterError();\n return program;\n}\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,aAAT,QAA8B,KAA9B;;AAEA,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAL,CAAaF,aAAa,CAACG,MAAM,CAACC,IAAP,CAAYC,GAAb,CAA1B,CAAlB;;AAEA,eAAe,SAASC,KAAT,GAAiB;EAC9B,MAAMC,OAAO,GAAG,IAAIT,OAAJ,CAAY,OAAZ,EACbU,UADa,CACF,YADE,EACY,MADZ,EAEbC,WAFa,CAED,gBAFC,EAGbC,aAHa,CAGCT,SAHD,CAAhB;EAKAM,OAAO,CAACI,OAAR,CAAgB,MAAhB,EAAwB,cAAxB,EAAwCC,kBAAxC;EAEAL,OAAO,CAACI,OAAR,CAAgB,QAAhB,EAA0B,gBAA1B,EAA4CC,kBAA5C;EAEAL,OAAO,CAACI,OAAR,CAAgB,QAAhB,EAA0B,gBAA1B,EAA4CC,kBAA5C;EAEAL,OAAO,CAACI,OAAR,CAAgB,QAAhB,EAA0B,gBAA1B,EAA4CC,kBAA5C;EAEAL,OAAO,CAACK,kBAAR;EACA,OAAOL,OAAP;AACD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// import { CircleOfTrustSkeleton } from "@rockcarver/frodo-lib/types/api/ApiTypes";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Get a one-line description of the circle of trust object
|
|
5
|
+
* @param {CircleOfTrustSkeleton} cotObj circle of trust object to describe
|
|
6
|
+
* @returns {string} a one-line description
|
|
7
|
+
*/
|
|
8
|
+
export function getOneLineDescription(cotObj) {
|
|
9
|
+
const description = `[${cotObj._id['brightCyan']}]`;
|
|
10
|
+
return description;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=CirclesOfTrustOps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CirclesOfTrustOps.js","names":["getOneLineDescription","cotObj","description","_id"],"sources":["ops/CirclesOfTrustOps.ts"],"sourcesContent":["// import { CircleOfTrustSkeleton } from \"@rockcarver/frodo-lib/types/api/ApiTypes\";\nimport { TypesRaw } from '@rockcarver/frodo-lib';\n\n/**\n * Get a one-line description of the circle of trust object\n * @param {CircleOfTrustSkeleton} cotObj circle of trust object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(cotObj: TypesRaw.CircleOfTrustSkeleton): string {\n const description = `[${cotObj._id['brightCyan']}]`;\n return description;\n}\n"],"mappings":"AAAA;;AAGA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAT,CAA+BC,MAA/B,EAA+E;EACpF,MAAMC,WAAW,GAAI,IAAGD,MAAM,CAACE,GAAP,CAAW,YAAX,CAAyB,GAAjD;EACA,OAAOD,WAAP;AACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get a one-line description of the email template
|
|
3
|
+
* @param {EmailTemplateSkeleton} templateObj email template object to describe
|
|
4
|
+
* @returns {string} a one-line description
|
|
5
|
+
*/
|
|
6
|
+
export function getOneLineDescription(templateObj) {
|
|
7
|
+
const description = `[${templateObj._id.split('/')[1]['brightCyan']}] ${templateObj.displayName ? templateObj.displayName : ''} - ${templateObj.defaultLocale ? templateObj.subject[templateObj.defaultLocale] : Object.values(templateObj.subject)[0]}`;
|
|
8
|
+
return description;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=EmailTemplateOps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmailTemplateOps.js","names":["getOneLineDescription","templateObj","description","_id","split","displayName","defaultLocale","subject","Object","values"],"sources":["ops/EmailTemplateOps.ts"],"sourcesContent":["import { EmailTemplateSkeleton } from '@rockcarver/frodo-lib/types/api/ApiTypes';\n\n/**\n * Get a one-line description of the email template\n * @param {EmailTemplateSkeleton} templateObj email template object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(\n templateObj: EmailTemplateSkeleton\n): string {\n const description = `[${templateObj._id.split('/')[1]['brightCyan']}] ${\n templateObj.displayName ? templateObj.displayName : ''\n } - ${\n templateObj.defaultLocale\n ? templateObj.subject[templateObj.defaultLocale]\n : Object.values(templateObj.subject)[0]\n }`;\n return description;\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAT,CACLC,WADK,EAEG;EACR,MAAMC,WAAW,GAAI,IAAGD,WAAW,CAACE,GAAZ,CAAgBC,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,EAA8B,YAA9B,CAA4C,KAClEH,WAAW,CAACI,WAAZ,GAA0BJ,WAAW,CAACI,WAAtC,GAAoD,EACrD,MACCJ,WAAW,CAACK,aAAZ,GACIL,WAAW,CAACM,OAAZ,CAAoBN,WAAW,CAACK,aAAhC,CADJ,GAEIE,MAAM,CAACC,MAAP,CAAcR,WAAW,CAACM,OAA1B,EAAmC,CAAnC,CACL,EAND;EAOA,OAAOL,WAAP;AACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get a one-line description of the social idp object
|
|
3
|
+
* @param {SocialIdpSkeleton} socialIdpObj social idp object to describe
|
|
4
|
+
* @returns {string} a one-line description
|
|
5
|
+
*/
|
|
6
|
+
export function getOneLineDescription(socialIdpObj) {
|
|
7
|
+
const description = `[${socialIdpObj._id['brightCyan']}] ${socialIdpObj._type._id}`;
|
|
8
|
+
return description;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=IdpOps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdpOps.js","names":["getOneLineDescription","socialIdpObj","description","_id","_type"],"sources":["ops/IdpOps.ts"],"sourcesContent":["import { SocialIdpSkeleton } from \"@rockcarver/frodo-lib/types/api/ApiTypes\";\n\n/**\n * Get a one-line description of the social idp object\n * @param {SocialIdpSkeleton} socialIdpObj social idp object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(socialIdpObj: SocialIdpSkeleton): string {\n const description = `[${socialIdpObj._id['brightCyan']}] ${socialIdpObj._type._id}`;\n return description;\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAT,CAA+BC,YAA/B,EAAwE;EAC7E,MAAMC,WAAW,GAAI,IAAGD,YAAY,CAACE,GAAb,CAAiB,YAAjB,CAA+B,KAAIF,YAAY,CAACG,KAAb,CAAmBD,GAAI,EAAlF;EACA,OAAOD,WAAP;AACD"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { printMessage } from '../utils/Console';
|
|
2
|
+
import { Journey, Types, state } from '@rockcarver/frodo-lib';
|
|
3
|
+
import * as CirclesOfTrust from './CirclesOfTrustOps';
|
|
4
|
+
import * as EmailTemplate from './EmailTemplateOps';
|
|
5
|
+
import * as Idp from './IdpOps';
|
|
6
|
+
import * as Node from './NodeOps';
|
|
7
|
+
import * as Saml2 from './Saml2Ops';
|
|
8
|
+
import * as Script from './ScriptOps';
|
|
9
|
+
import * as Theme from './ThemeOps';
|
|
10
|
+
const {
|
|
11
|
+
onlineTreeExportResolver,
|
|
12
|
+
getTreeDescendents,
|
|
13
|
+
getNodeRef
|
|
14
|
+
} = Journey;
|
|
15
|
+
/**
|
|
16
|
+
* Get journey classification
|
|
17
|
+
* @param {SingleTreeExportInterface} journey journey export
|
|
18
|
+
* @returns {stringp[]} Colored string array of classifications
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
export function getJourneyClassification(journey) {
|
|
22
|
+
return Journey.getJourneyClassification(journey).map(it => {
|
|
23
|
+
switch (it) {
|
|
24
|
+
case Types.JourneyClassification.STANDARD:
|
|
25
|
+
return it.toString()['brightGreen'];
|
|
26
|
+
|
|
27
|
+
case Types.JourneyClassification.CLOUD:
|
|
28
|
+
return it.toString()['brightMagenta'];
|
|
29
|
+
|
|
30
|
+
case Types.JourneyClassification.CUSTOM:
|
|
31
|
+
return it.toString()['brightRed'];
|
|
32
|
+
|
|
33
|
+
case Types.JourneyClassification.PREMIUM:
|
|
34
|
+
return it.toString()['brightYellow'];
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Get a one-line description of the tree object
|
|
40
|
+
* @param {TreeSkeleton} treeObj circle of trust object to describe
|
|
41
|
+
* @returns {string} a one-line description
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
export function getOneLineDescription(treeObj) {
|
|
45
|
+
const description = `[${treeObj._id['brightCyan']}]`;
|
|
46
|
+
return description;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Helper function to render a nested list of dependent trees
|
|
50
|
+
* @param {TreeDependencyMapInterface} descendents tree dependency map
|
|
51
|
+
* @param {number} depth level of nesting
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
function describeTreeDescendents(descendents, depth = 0) {
|
|
55
|
+
if (depth || Object.values(descendents)[0].length) {
|
|
56
|
+
// heading
|
|
57
|
+
if (depth === 0) {
|
|
58
|
+
printMessage(`\nInner Tree Dependencies (${Object.values(descendents)[0].length}):`, 'data');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const indent = Array(depth * 2).fill(' ').join('');
|
|
62
|
+
const [tree] = Object.keys(descendents);
|
|
63
|
+
printMessage(`${indent}- ${tree['brightCyan']}`, 'data');
|
|
64
|
+
|
|
65
|
+
for (const descendent of descendents[tree]) {
|
|
66
|
+
describeTreeDescendents(descendent, depth + 1);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Describe a journey:
|
|
72
|
+
* - Properties, tags, description, name, metadata
|
|
73
|
+
* - Inner tree dependency tree
|
|
74
|
+
* - Node type summary
|
|
75
|
+
* - Nodes
|
|
76
|
+
* - Themes
|
|
77
|
+
* - Scripts
|
|
78
|
+
* - Email templates
|
|
79
|
+
* - Social identity providers
|
|
80
|
+
* - SAML2 entity providers
|
|
81
|
+
* - SAML2 circles of trust
|
|
82
|
+
* @param {SingleTreeExportInterface} journeyData journey export object
|
|
83
|
+
* @param {TreeExportResolverInterface} resolveTreeExport tree export resolver callback function
|
|
84
|
+
*/
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
export async function describeJourney(journeyData, resolveTreeExport = onlineTreeExportResolver) {
|
|
88
|
+
var _journeyData$meta, _journeyData$tree$uiC, _journeyData$themes;
|
|
89
|
+
|
|
90
|
+
const allNodes = { ...journeyData.nodes,
|
|
91
|
+
...journeyData.innerNodes
|
|
92
|
+
};
|
|
93
|
+
const nodeTypeMap = {};
|
|
94
|
+
|
|
95
|
+
for (const nodeData of Object.values(allNodes)) {
|
|
96
|
+
if (nodeTypeMap[nodeData._type._id]) {
|
|
97
|
+
nodeTypeMap[nodeData._type._id] += 1;
|
|
98
|
+
} else {
|
|
99
|
+
nodeTypeMap[nodeData._type._id] = 1;
|
|
100
|
+
}
|
|
101
|
+
} // Journey Name
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
printMessage(`${getOneLineDescription(journeyData.tree)}`, 'data');
|
|
105
|
+
printMessage(Array(`[${journeyData.tree._id}]`['length']).fill('=').join('')); // Description
|
|
106
|
+
|
|
107
|
+
if (journeyData.tree.description) {
|
|
108
|
+
printMessage(`\n${journeyData.tree.description}`, 'data');
|
|
109
|
+
} // Status
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
printMessage(`\nStatus\n${journeyData.tree.enabled === false ? 'disabled'['brightRed'] : 'enabled'['brightGreen']}`); // Classification
|
|
113
|
+
|
|
114
|
+
if (!state.default.session.getAmVersion() && (_journeyData$meta = journeyData.meta) !== null && _journeyData$meta !== void 0 && _journeyData$meta.originAmVersion) {
|
|
115
|
+
state.default.session.setAmVersion(journeyData.meta.originAmVersion);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (state.default.session.getAmVersion()) {
|
|
119
|
+
printMessage(`\nClassification\n${getJourneyClassification(journeyData).join(', ')}`, 'data');
|
|
120
|
+
} // Categories/Tags
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
if ((_journeyData$tree$uiC = journeyData.tree.uiConfig) !== null && _journeyData$tree$uiC !== void 0 && _journeyData$tree$uiC.categories && journeyData.tree.uiConfig.categories != '[]') {
|
|
124
|
+
printMessage('\nCategories/Tags', 'data');
|
|
125
|
+
printMessage(`${JSON.parse(journeyData.tree.uiConfig.categories).join(', ')}`, 'data');
|
|
126
|
+
} // Dependency Tree
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
const descendents = await getTreeDescendents(journeyData, resolveTreeExport);
|
|
130
|
+
describeTreeDescendents(descendents); // Node Types
|
|
131
|
+
|
|
132
|
+
if (Object.entries(nodeTypeMap).length) {
|
|
133
|
+
printMessage(`\nNode Types (${Object.entries(nodeTypeMap).length}):`, 'data');
|
|
134
|
+
|
|
135
|
+
for (const [nodeType, count] of Object.entries(nodeTypeMap)) {
|
|
136
|
+
printMessage(`- ${String(count)} [${nodeType['brightCyan']}] (${Node.getNodeClassification(nodeType).join(', ')})`, 'data');
|
|
137
|
+
}
|
|
138
|
+
} // Nodes
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
if (Object.entries(allNodes).length) {
|
|
142
|
+
printMessage(`\nNodes (${Object.entries(allNodes).length}):`, 'data');
|
|
143
|
+
|
|
144
|
+
for (const nodeObj of Object.values(allNodes)) {
|
|
145
|
+
printMessage(`- ${Node.getOneLineDescription(nodeObj, getNodeRef(nodeObj, journeyData))}`, 'data');
|
|
146
|
+
}
|
|
147
|
+
} // Themes
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
if ((_journeyData$themes = journeyData.themes) !== null && _journeyData$themes !== void 0 && _journeyData$themes.length) {
|
|
151
|
+
printMessage(`\nThemes (${journeyData.themes.length}):`, 'data');
|
|
152
|
+
|
|
153
|
+
for (const themeData of journeyData.themes) {
|
|
154
|
+
printMessage(`- ${Theme.getOneLineDescription(themeData)}`, 'data');
|
|
155
|
+
}
|
|
156
|
+
} // Scripts
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
if (Object.entries(journeyData.scripts).length) {
|
|
160
|
+
printMessage(`\nScripts (${Object.entries(journeyData.scripts).length}):`, 'data');
|
|
161
|
+
|
|
162
|
+
for (const scriptData of Object.values(journeyData.scripts)) {
|
|
163
|
+
printMessage(`- ${Script.getOneLineDescription(scriptData)}`, 'data');
|
|
164
|
+
}
|
|
165
|
+
} // Email Templates
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
if (Object.entries(journeyData.emailTemplates).length) {
|
|
169
|
+
printMessage(`\nEmail Templates (${Object.entries(journeyData.emailTemplates).length}):`, 'data');
|
|
170
|
+
|
|
171
|
+
for (const templateData of Object.values(journeyData.emailTemplates)) {
|
|
172
|
+
printMessage(`- ${EmailTemplate.getOneLineDescription(templateData)}`, 'data');
|
|
173
|
+
}
|
|
174
|
+
} // Social Identity Providers
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
if (Object.entries(journeyData.socialIdentityProviders).length) {
|
|
178
|
+
printMessage(`\nSocial Identity Providers (${Object.entries(journeyData.socialIdentityProviders).length}):`, 'data');
|
|
179
|
+
|
|
180
|
+
for (const socialIdpData of Object.values(journeyData.socialIdentityProviders)) {
|
|
181
|
+
printMessage(`- ${Idp.getOneLineDescription(socialIdpData)}`, 'data');
|
|
182
|
+
}
|
|
183
|
+
} // SAML2 Entity Providers
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
if (Object.entries(journeyData.saml2Entities).length) {
|
|
187
|
+
printMessage(`\nSAML2 Entity Providers (${Object.entries(journeyData.saml2Entities).length}):`, 'data');
|
|
188
|
+
|
|
189
|
+
for (const entityProviderData of Object.values(journeyData.saml2Entities)) {
|
|
190
|
+
printMessage(`- ${Saml2.getOneLineDescription(entityProviderData)}`, 'data');
|
|
191
|
+
}
|
|
192
|
+
} // SAML2 Circles Of Trust
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
if (Object.entries(journeyData.circlesOfTrust).length) {
|
|
196
|
+
printMessage(`\nSAML2 Circles Of Trust (${Object.entries(journeyData.circlesOfTrust).length}):`, 'data');
|
|
197
|
+
|
|
198
|
+
for (const cotData of Object.values(journeyData.circlesOfTrust)) {
|
|
199
|
+
printMessage(`- ${CirclesOfTrust.getOneLineDescription(cotData)}`, 'data');
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=JourneyOps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JourneyOps.js","names":["printMessage","Journey","Types","state","CirclesOfTrust","EmailTemplate","Idp","Node","Saml2","Script","Theme","onlineTreeExportResolver","getTreeDescendents","getNodeRef","getJourneyClassification","journey","map","it","JourneyClassification","STANDARD","toString","CLOUD","CUSTOM","PREMIUM","getOneLineDescription","treeObj","description","_id","describeTreeDescendents","descendents","depth","Object","values","length","indent","Array","fill","join","tree","keys","descendent","describeJourney","journeyData","resolveTreeExport","allNodes","nodes","innerNodes","nodeTypeMap","nodeData","_type","enabled","default","session","getAmVersion","meta","originAmVersion","setAmVersion","uiConfig","categories","JSON","parse","entries","nodeType","count","String","getNodeClassification","nodeObj","themes","themeData","scripts","scriptData","emailTemplates","templateData","socialIdentityProviders","socialIdpData","saml2Entities","entityProviderData","circlesOfTrust","cotData"],"sources":["ops/JourneyOps.ts"],"sourcesContent":["import {\n NodeSkeleton,\n TreeSkeleton,\n} from '@rockcarver/frodo-lib/types/api/ApiTypes';\nimport {\n SingleTreeExportInterface,\n TreeDependencyMapInterface,\n TreeExportResolverInterface,\n} from '@rockcarver/frodo-lib/types/ops/OpsTypes';\nimport { printMessage } from '../utils/Console';\nimport { Journey, Types, state } from '@rockcarver/frodo-lib';\nimport * as CirclesOfTrust from './CirclesOfTrustOps';\nimport * as EmailTemplate from './EmailTemplateOps';\nimport * as Idp from './IdpOps';\nimport * as Node from './NodeOps';\nimport * as Saml2 from './Saml2Ops';\nimport * as Script from './ScriptOps';\nimport * as Theme from './ThemeOps';\n\nconst {\n onlineTreeExportResolver,\n getTreeDescendents,\n getNodeRef,\n} = Journey;\n\n/**\n * Get journey classification\n * @param {SingleTreeExportInterface} journey journey export\n * @returns {stringp[]} Colored string array of classifications\n */\nexport function getJourneyClassification(journey: SingleTreeExportInterface): string[] {\n return Journey.getJourneyClassification(journey).map((it) => {\n switch (it) {\n case Types.JourneyClassification.STANDARD:\n return it.toString()['brightGreen'];\n\n case Types.JourneyClassification.CLOUD:\n return it.toString()['brightMagenta'];\n\n case Types.JourneyClassification.CUSTOM:\n return it.toString()['brightRed'];\n\n case Types.JourneyClassification.PREMIUM:\n return it.toString()['brightYellow'];\n }\n });\n}\n\n/**\n * Get a one-line description of the tree object\n * @param {TreeSkeleton} treeObj circle of trust object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(treeObj: TreeSkeleton): string {\n const description = `[${treeObj._id['brightCyan']}]`;\n return description;\n}\n\n/**\n * Helper function to render a nested list of dependent trees\n * @param {TreeDependencyMapInterface} descendents tree dependency map\n * @param {number} depth level of nesting\n */\nfunction describeTreeDescendents(\n descendents: TreeDependencyMapInterface,\n depth = 0\n) {\n if (depth || Object.values(descendents)[0].length) {\n // heading\n if (depth === 0) {\n printMessage(\n `\\nInner Tree Dependencies (${Object.values(descendents)[0].length}):`,\n 'data'\n );\n }\n const indent = Array(depth * 2)\n .fill(' ')\n .join('');\n const [tree] = Object.keys(descendents);\n printMessage(`${indent}- ${tree['brightCyan']}`, 'data');\n for (const descendent of descendents[tree]) {\n describeTreeDescendents(descendent, depth + 1);\n }\n }\n}\n\n/**\n * Describe a journey:\n * - Properties, tags, description, name, metadata\n * - Inner tree dependency tree\n * - Node type summary\n * - Nodes\n * - Themes\n * - Scripts\n * - Email templates\n * - Social identity providers\n * - SAML2 entity providers\n * - SAML2 circles of trust\n * @param {SingleTreeExportInterface} journeyData journey export object\n * @param {TreeExportResolverInterface} resolveTreeExport tree export resolver callback function\n */\nexport async function describeJourney(\n journeyData: SingleTreeExportInterface,\n resolveTreeExport: TreeExportResolverInterface = onlineTreeExportResolver\n): Promise<void> {\n const allNodes = {\n ...journeyData.nodes,\n ...journeyData.innerNodes,\n };\n const nodeTypeMap = {};\n\n for (const nodeData of Object.values(allNodes)) {\n if (nodeTypeMap[nodeData._type._id]) {\n nodeTypeMap[nodeData._type._id] += 1;\n } else {\n nodeTypeMap[nodeData._type._id] = 1;\n }\n }\n\n // Journey Name\n printMessage(`${getOneLineDescription(journeyData.tree)}`, 'data');\n printMessage(Array(`[${journeyData.tree._id}]`['length']).fill('=').join(''));\n\n // Description\n if (journeyData.tree.description) {\n printMessage(`\\n${journeyData.tree.description}`, 'data');\n }\n\n // Status\n printMessage(\n `\\nStatus\\n${\n journeyData.tree.enabled === false\n ? 'disabled'['brightRed']\n : 'enabled'['brightGreen']\n }`\n );\n\n // Classification\n if (\n !state.default.session.getAmVersion() &&\n journeyData.meta?.originAmVersion\n ) {\n state.default.session.setAmVersion(journeyData.meta.originAmVersion);\n }\n if (state.default.session.getAmVersion()) {\n printMessage(\n `\\nClassification\\n${getJourneyClassification(journeyData).join(', ')}`,\n 'data'\n );\n }\n\n // Categories/Tags\n if (journeyData.tree.uiConfig?.categories && journeyData.tree.uiConfig.categories != '[]') {\n printMessage('\\nCategories/Tags', 'data');\n printMessage(\n `${\n JSON.parse(journeyData.tree.uiConfig.categories).join(', ')\n }`,\n 'data'\n );\n }\n\n // Dependency Tree\n const descendents = await getTreeDescendents(journeyData, resolveTreeExport);\n describeTreeDescendents(descendents);\n\n // Node Types\n if (Object.entries(nodeTypeMap).length) {\n printMessage(\n `\\nNode Types (${Object.entries(nodeTypeMap).length}):`,\n 'data'\n );\n for (const [nodeType, count] of Object.entries(nodeTypeMap)) {\n printMessage(\n `- ${String(count)} [${\n nodeType['brightCyan']\n }] (${Node.getNodeClassification(nodeType).join(', ')})`,\n 'data'\n );\n }\n }\n\n // Nodes\n if (Object.entries(allNodes).length) {\n printMessage(`\\nNodes (${Object.entries(allNodes).length}):`, 'data');\n for (const nodeObj of Object.values<NodeSkeleton>(allNodes)) {\n printMessage(\n `- ${Node.getOneLineDescription(\n nodeObj,\n getNodeRef(nodeObj, journeyData)\n )}`,\n 'data'\n );\n }\n }\n\n // Themes\n if (journeyData.themes?.length) {\n printMessage(`\\nThemes (${journeyData.themes.length}):`, 'data');\n for (const themeData of journeyData.themes) {\n printMessage(`- ${Theme.getOneLineDescription(themeData)}`, 'data');\n }\n }\n\n // Scripts\n if (Object.entries(journeyData.scripts).length) {\n printMessage(\n `\\nScripts (${Object.entries(journeyData.scripts).length}):`,\n 'data'\n );\n for (const scriptData of Object.values(journeyData.scripts)) {\n printMessage(`- ${Script.getOneLineDescription(scriptData)}`, 'data');\n }\n }\n\n // Email Templates\n if (Object.entries(journeyData.emailTemplates).length) {\n printMessage(\n `\\nEmail Templates (${\n Object.entries(journeyData.emailTemplates).length\n }):`,\n 'data'\n );\n for (const templateData of Object.values(journeyData.emailTemplates)) {\n printMessage(\n `- ${EmailTemplate.getOneLineDescription(templateData)}`,\n 'data'\n );\n }\n }\n\n // Social Identity Providers\n if (Object.entries(journeyData.socialIdentityProviders).length) {\n printMessage(\n `\\nSocial Identity Providers (${\n Object.entries(journeyData.socialIdentityProviders).length\n }):`,\n 'data'\n );\n for (const socialIdpData of Object.values(\n journeyData.socialIdentityProviders\n )) {\n printMessage(`- ${Idp.getOneLineDescription(socialIdpData)}`, 'data');\n }\n }\n\n // SAML2 Entity Providers\n if (Object.entries(journeyData.saml2Entities).length) {\n printMessage(\n `\\nSAML2 Entity Providers (${\n Object.entries(journeyData.saml2Entities).length\n }):`,\n 'data'\n );\n for (const entityProviderData of Object.values(journeyData.saml2Entities)) {\n printMessage(\n `- ${Saml2.getOneLineDescription(entityProviderData)}`,\n 'data'\n );\n }\n }\n\n // SAML2 Circles Of Trust\n if (Object.entries(journeyData.circlesOfTrust).length) {\n printMessage(\n `\\nSAML2 Circles Of Trust (${\n Object.entries(journeyData.circlesOfTrust).length\n }):`,\n 'data'\n );\n for (const cotData of Object.values(journeyData.circlesOfTrust)) {\n printMessage(\n `- ${CirclesOfTrust.getOneLineDescription(cotData)}`,\n 'data'\n );\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Node, Types } from '@rockcarver/frodo-lib';
|
|
2
|
+
/**
|
|
3
|
+
* Get node classification
|
|
4
|
+
* @param {string} nodeType node type
|
|
5
|
+
* @returns {stringp[]} Colored string array of classifications
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export function getNodeClassification(nodeType) {
|
|
9
|
+
return Node.getNodeClassification(nodeType).map(it => {
|
|
10
|
+
switch (it) {
|
|
11
|
+
case Types.NodeClassification.STANDARD:
|
|
12
|
+
return it.toString()['brightGreen'];
|
|
13
|
+
|
|
14
|
+
case Types.NodeClassification.CLOUD:
|
|
15
|
+
return it.toString()['brightMagenta'];
|
|
16
|
+
|
|
17
|
+
case Types.NodeClassification.CUSTOM:
|
|
18
|
+
return it.toString()['brightRed'];
|
|
19
|
+
|
|
20
|
+
case Types.NodeClassification.PREMIUM:
|
|
21
|
+
return it.toString()['brightYellow'];
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get a one-line description of the node
|
|
27
|
+
* @param {NodeSkeleton} nodeObj node object to describe
|
|
28
|
+
* @param {NodeRefSkeletonInterface | InnerNodeRefSkeletonInterface} nodeRef node reference object
|
|
29
|
+
* @returns {string} a one-line description
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
export function getOneLineDescription(nodeObj, nodeRef) {
|
|
33
|
+
const description = `[${nodeObj._id['brightCyan']}] (${getNodeClassification(nodeObj._type._id).join(', ')}) ${nodeObj._type._id}${nodeRef ? ' - ' + (nodeRef === null || nodeRef === void 0 ? void 0 : nodeRef.displayName) : ''}`;
|
|
34
|
+
return description;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=NodeOps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeOps.js","names":["Node","Types","getNodeClassification","nodeType","map","it","NodeClassification","STANDARD","toString","CLOUD","CUSTOM","PREMIUM","getOneLineDescription","nodeObj","nodeRef","description","_id","_type","join","displayName"],"sources":["ops/NodeOps.ts"],"sourcesContent":["import {\n InnerNodeRefSkeletonInterface,\n NodeRefSkeletonInterface,\n NodeSkeleton,\n} from '@rockcarver/frodo-lib/types/api/ApiTypes';\nimport { Node, Types } from '@rockcarver/frodo-lib';\n\n/**\n * Get node classification\n * @param {string} nodeType node type\n * @returns {stringp[]} Colored string array of classifications\n */\nexport function getNodeClassification(nodeType: string): string[] {\n return Node.getNodeClassification(nodeType).map((it) => {\n switch (it) {\n case Types.NodeClassification.STANDARD:\n return it.toString()['brightGreen'];\n\n case Types.NodeClassification.CLOUD:\n return it.toString()['brightMagenta'];\n\n case Types.NodeClassification.CUSTOM:\n return it.toString()['brightRed'];\n\n case Types.NodeClassification.PREMIUM:\n return it.toString()['brightYellow'];\n }\n });\n}\n\n/**\n * Get a one-line description of the node\n * @param {NodeSkeleton} nodeObj node object to describe\n * @param {NodeRefSkeletonInterface | InnerNodeRefSkeletonInterface} nodeRef node reference object\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(\n nodeObj: NodeSkeleton,\n nodeRef?: NodeRefSkeletonInterface | InnerNodeRefSkeletonInterface\n): string {\n const description = `[${nodeObj._id['brightCyan']}] (${getNodeClassification(\n nodeObj._type._id\n ).join(', ')}) ${nodeObj._type._id}${\n nodeRef ? ' - ' + nodeRef?.displayName : ''\n }`;\n return description;\n}\n"],"mappings":"AAKA,SAASA,IAAT,EAAeC,KAAf,QAA4B,uBAA5B;AAEA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,qBAAT,CAA+BC,QAA/B,EAA2D;EAChE,OAAOH,IAAI,CAACE,qBAAL,CAA2BC,QAA3B,EAAqCC,GAArC,CAA0CC,EAAD,IAAQ;IACtD,QAAQA,EAAR;MACE,KAAKJ,KAAK,CAACK,kBAAN,CAAyBC,QAA9B;QACE,OAAOF,EAAE,CAACG,QAAH,GAAc,aAAd,CAAP;;MAEF,KAAKP,KAAK,CAACK,kBAAN,CAAyBG,KAA9B;QACE,OAAOJ,EAAE,CAACG,QAAH,GAAc,eAAd,CAAP;;MAEF,KAAKP,KAAK,CAACK,kBAAN,CAAyBI,MAA9B;QACE,OAAOL,EAAE,CAACG,QAAH,GAAc,WAAd,CAAP;;MAEF,KAAKP,KAAK,CAACK,kBAAN,CAAyBK,OAA9B;QACE,OAAON,EAAE,CAACG,QAAH,GAAc,cAAd,CAAP;IAXJ;EAaD,CAdM,CAAP;AAeD;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASI,qBAAT,CACLC,OADK,EAELC,OAFK,EAGG;EACR,MAAMC,WAAW,GAAI,IAAGF,OAAO,CAACG,GAAR,CAAY,YAAZ,CAA0B,MAAKd,qBAAqB,CAC1EW,OAAO,CAACI,KAAR,CAAcD,GAD4D,CAArB,CAErDE,IAFqD,CAEhD,IAFgD,CAE1C,KAAIL,OAAO,CAACI,KAAR,CAAcD,GAAI,GACjCF,OAAO,GAAG,SAAQA,OAAR,aAAQA,OAAR,uBAAQA,OAAO,CAAEK,WAAjB,CAAH,GAAkC,EAC1C,EAJD;EAKA,OAAOJ,WAAP;AACD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Saml2 } from '@rockcarver/frodo-lib';
|
|
2
|
+
const {
|
|
3
|
+
roleMap
|
|
4
|
+
} = Saml2;
|
|
5
|
+
/**
|
|
6
|
+
* Get a one-line description of the saml2 provider object
|
|
7
|
+
* @param {Saml2ProviderSkeleton} saml2ProviderObj saml2 provider object to describe
|
|
8
|
+
* @returns {string} a one-line description
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export function getOneLineDescription(saml2ProviderObj) {
|
|
12
|
+
const roles = [];
|
|
13
|
+
|
|
14
|
+
for (const [key, value] of Object.entries(roleMap)) {
|
|
15
|
+
if (saml2ProviderObj[key]) {
|
|
16
|
+
roles.push(value);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const description = `[${saml2ProviderObj.entityId['brightCyan']}]${' (' + saml2ProviderObj.entityLocation}${roles.length ? ' ' + roles.join(', ') + ')' : ')'}`;
|
|
21
|
+
return description;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=Saml2Ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Saml2Ops.js","names":["Saml2","roleMap","getOneLineDescription","saml2ProviderObj","roles","key","value","Object","entries","push","description","entityId","entityLocation","length","join"],"sources":["ops/Saml2Ops.ts"],"sourcesContent":["import { Saml2ProviderSkeleton } from '@rockcarver/frodo-lib/types/api/ApiTypes';\nimport { Saml2 } from '@rockcarver/frodo-lib';\n\nconst { roleMap } = Saml2;\n\n/**\n * Get a one-line description of the saml2 provider object\n * @param {Saml2ProviderSkeleton} saml2ProviderObj saml2 provider object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(\n saml2ProviderObj: Saml2ProviderSkeleton\n): string {\n const roles: string[] = [];\n for (const [key, value] of Object.entries(roleMap)) {\n if (saml2ProviderObj[key]) {\n roles.push(value);\n }\n }\n const description = `[${saml2ProviderObj.entityId['brightCyan']}]${\n ' (' + saml2ProviderObj.entityLocation\n }${roles.length ? ' ' + roles.join(', ') + ')' : ')'}`;\n return description;\n}\n"],"mappings":"AACA,SAASA,KAAT,QAAsB,uBAAtB;AAEA,MAAM;EAAEC;AAAF,IAAcD,KAApB;AAEA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASE,qBAAT,CACLC,gBADK,EAEG;EACR,MAAMC,KAAe,GAAG,EAAxB;;EACA,KAAK,MAAM,CAACC,GAAD,EAAMC,KAAN,CAAX,IAA2BC,MAAM,CAACC,OAAP,CAAeP,OAAf,CAA3B,EAAoD;IAClD,IAAIE,gBAAgB,CAACE,GAAD,CAApB,EAA2B;MACzBD,KAAK,CAACK,IAAN,CAAWH,KAAX;IACD;EACF;;EACD,MAAMI,WAAW,GAAI,IAAGP,gBAAgB,CAACQ,QAAjB,CAA0B,YAA1B,CAAwC,IAC9D,OAAOR,gBAAgB,CAACS,cACzB,GAAER,KAAK,CAACS,MAAN,GAAe,MAAMT,KAAK,CAACU,IAAN,CAAW,IAAX,CAAN,GAAyB,GAAxC,GAA8C,GAAI,EAFrD;EAGA,OAAOJ,WAAP;AACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get a one-line description of the script object
|
|
3
|
+
* @param {ScriptSkeleton} scriptObj script object to describe
|
|
4
|
+
* @returns {string} a one-line description
|
|
5
|
+
*/
|
|
6
|
+
export function getOneLineDescription(scriptObj) {
|
|
7
|
+
const description = `[${scriptObj._id['brightCyan']}] ${scriptObj.context} - ${scriptObj.name}`;
|
|
8
|
+
return description;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ScriptOps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScriptOps.js","names":["getOneLineDescription","scriptObj","description","_id","context","name"],"sources":["ops/ScriptOps.ts"],"sourcesContent":["import { ScriptSkeleton } from '@rockcarver/frodo-lib/types/api/ApiTypes';\n\n/**\n * Get a one-line description of the script object\n * @param {ScriptSkeleton} scriptObj script object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(scriptObj: ScriptSkeleton): string {\n const description = `[${scriptObj._id['brightCyan']}] ${scriptObj.context} - ${scriptObj.name}`;\n return description;\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAT,CAA+BC,SAA/B,EAAkE;EACvE,MAAMC,WAAW,GAAI,IAAGD,SAAS,CAACE,GAAV,CAAc,YAAd,CAA4B,KAAIF,SAAS,CAACG,OAAQ,MAAKH,SAAS,CAACI,IAAK,EAA9F;EACA,OAAOH,WAAP;AACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get a one-line description of the theme
|
|
3
|
+
* @param {ThemeSkeleton} themeObj theme object to describe
|
|
4
|
+
* @returns {string} a one-line description
|
|
5
|
+
*/
|
|
6
|
+
export function getOneLineDescription(themeObj) {
|
|
7
|
+
const description = `[${themeObj._id['brightCyan']}] ${themeObj.name}${themeObj.linkedTrees ? ' (' + themeObj.linkedTrees.join(', ')['brightCyan'] + ')' : ''}`;
|
|
8
|
+
return description;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ThemeOps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeOps.js","names":["getOneLineDescription","themeObj","description","_id","name","linkedTrees","join"],"sources":["ops/ThemeOps.ts"],"sourcesContent":["import { ThemeSkeleton } from '@rockcarver/frodo-lib/types/api/ApiTypes';\n\n/**\n * Get a one-line description of the theme\n * @param {ThemeSkeleton} themeObj theme object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(themeObj: ThemeSkeleton): string {\n const description = `[${themeObj._id['brightCyan']}] ${\n themeObj.name\n }${\n themeObj.linkedTrees\n ? ' (' + themeObj.linkedTrees.join(', ')['brightCyan'] + ')'\n : ''\n }`;\n return description;\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAT,CAA+BC,QAA/B,EAAgE;EACrE,MAAMC,WAAW,GAAI,IAAGD,QAAQ,CAACE,GAAT,CAAa,YAAb,CAA2B,KACjDF,QAAQ,CAACG,IACV,GACCH,QAAQ,CAACI,WAAT,GACI,OAAOJ,QAAQ,CAACI,WAAT,CAAqBC,IAArB,CAA0B,IAA1B,EAAgC,YAAhC,CAAP,GAAuD,GAD3D,GAEI,EACL,EAND;EAOA,OAAOJ,WAAP;AACD"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export default function wordwrap(str, len, indent = undefined) {
|
|
2
|
+
if (!str) return '';
|
|
3
|
+
return (str.match(new RegExp(`(\\S.{0,${len - 1 - (indent ? indent.length : 0)}})(?=\\s+|$)`, 'g')) || []).join(indent ? `\n${indent}` : '\n');
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=Wordwrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Wordwrap.js","names":["wordwrap","str","len","indent","undefined","match","RegExp","length","join"],"sources":["ops/utils/Wordwrap.ts"],"sourcesContent":["export default function wordwrap(str, len, indent = undefined) {\n if (!str) return '';\n return (\n str.match(\n new RegExp(\n `(\\\\S.{0,${len - 1 - (indent ? indent.length : 0)}})(?=\\\\s+|$)`,\n 'g'\n )\n ) || []\n ).join(indent ? `\\n${indent}` : '\\n');\n}\n"],"mappings":"AAAA,eAAe,SAASA,QAAT,CAAkBC,GAAlB,EAAuBC,GAAvB,EAA4BC,MAAM,GAAGC,SAArC,EAAgD;EAC7D,IAAI,CAACH,GAAL,EAAU,OAAO,EAAP;EACV,OAAO,CACLA,GAAG,CAACI,KAAJ,CACE,IAAIC,MAAJ,CACG,WAAUJ,GAAG,GAAG,CAAN,IAAWC,MAAM,GAAGA,MAAM,CAACI,MAAV,GAAmB,CAApC,CAAuC,cADpD,EAEE,GAFF,CADF,KAKK,EANA,EAOLC,IAPK,CAOAL,MAAM,GAAI,KAAIA,MAAO,EAAf,GAAmB,IAPzB,CAAP;AAQD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const DEFAULT_REALM_KEY = '__default__realm__';
|
|
2
|
+
export const CLASSIC_DEPLOYMENT_TYPE_KEY = 'classic';
|
|
3
|
+
export const CLOUD_DEPLOYMENT_TYPE_KEY = 'cloud';
|
|
4
|
+
export const FORGEOPS_DEPLOYMENT_TYPE_KEY = 'forgeops';
|
|
5
|
+
export const DEPLOYMENT_TYPES = [CLASSIC_DEPLOYMENT_TYPE_KEY, CLOUD_DEPLOYMENT_TYPE_KEY, FORGEOPS_DEPLOYMENT_TYPE_KEY];
|
|
6
|
+
export const DEPLOYMENT_TYPE_REALM_MAP = {
|
|
7
|
+
[CLASSIC_DEPLOYMENT_TYPE_KEY]: '/',
|
|
8
|
+
[CLOUD_DEPLOYMENT_TYPE_KEY]: 'alpha',
|
|
9
|
+
[FORGEOPS_DEPLOYMENT_TYPE_KEY]: '/'
|
|
10
|
+
};
|
|
11
|
+
export const FRODO_METADATA_ID = 'frodo';
|
|
12
|
+
//# sourceMappingURL=StaticStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticStorage.js","names":["DEFAULT_REALM_KEY","CLASSIC_DEPLOYMENT_TYPE_KEY","CLOUD_DEPLOYMENT_TYPE_KEY","FORGEOPS_DEPLOYMENT_TYPE_KEY","DEPLOYMENT_TYPES","DEPLOYMENT_TYPE_REALM_MAP","FRODO_METADATA_ID"],"sources":["storage/StaticStorage.ts"],"sourcesContent":["export const DEFAULT_REALM_KEY = '__default__realm__';\nexport const CLASSIC_DEPLOYMENT_TYPE_KEY = 'classic';\nexport const CLOUD_DEPLOYMENT_TYPE_KEY = 'cloud';\nexport const FORGEOPS_DEPLOYMENT_TYPE_KEY = 'forgeops';\nexport const DEPLOYMENT_TYPES = [\n CLASSIC_DEPLOYMENT_TYPE_KEY,\n CLOUD_DEPLOYMENT_TYPE_KEY,\n FORGEOPS_DEPLOYMENT_TYPE_KEY,\n];\nexport const DEPLOYMENT_TYPE_REALM_MAP = {\n [CLASSIC_DEPLOYMENT_TYPE_KEY]: '/',\n [CLOUD_DEPLOYMENT_TYPE_KEY]: 'alpha',\n [FORGEOPS_DEPLOYMENT_TYPE_KEY]: '/',\n};\nexport const FRODO_METADATA_ID = 'frodo';\n"],"mappings":"AAAA,OAAO,MAAMA,iBAAiB,GAAG,oBAA1B;AACP,OAAO,MAAMC,2BAA2B,GAAG,SAApC;AACP,OAAO,MAAMC,yBAAyB,GAAG,OAAlC;AACP,OAAO,MAAMC,4BAA4B,GAAG,UAArC;AACP,OAAO,MAAMC,gBAAgB,GAAG,CAC9BH,2BAD8B,EAE9BC,yBAF8B,EAG9BC,4BAH8B,CAAzB;AAKP,OAAO,MAAME,yBAAyB,GAAG;EACvC,CAACJ,2BAAD,GAA+B,GADQ;EAEvC,CAACC,yBAAD,GAA6B,OAFU;EAGvC,CAACC,4BAAD,GAAgC;AAHO,CAAlC;AAKP,OAAO,MAAMG,iBAAiB,GAAG,OAA1B"}
|