@rockcarver/frodo-cli 0.18.2-16 → 0.18.2-18
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 +9 -1
- package/esm/app.js +3 -0
- package/esm/app.js.map +1 -1
- package/esm/cli/FrodoCommand.js +133 -0
- package/esm/cli/FrodoCommand.js.map +1 -0
- package/esm/cli/_template/something-delete.js +9 -15
- package/esm/cli/_template/something-delete.js.map +1 -1
- package/esm/cli/_template/something-describe.js +9 -15
- package/esm/cli/_template/something-describe.js.map +1 -1
- package/esm/cli/_template/something-else-delete.js +9 -15
- package/esm/cli/_template/something-else-delete.js.map +1 -1
- package/esm/cli/_template/something-else-describe.js +9 -15
- package/esm/cli/_template/something-else-describe.js.map +1 -1
- package/esm/cli/_template/something-else-export.js +9 -15
- package/esm/cli/_template/something-else-export.js.map +1 -1
- package/esm/cli/_template/something-else-import.js +9 -15
- package/esm/cli/_template/something-else-import.js.map +1 -1
- package/esm/cli/_template/something-else-list.js +9 -15
- package/esm/cli/_template/something-else-list.js.map +1 -1
- package/esm/cli/_template/something-else.js +8 -8
- package/esm/cli/_template/something-else.js.map +1 -1
- package/esm/cli/_template/something-export.js +9 -15
- package/esm/cli/_template/something-export.js.map +1 -1
- package/esm/cli/_template/something-import.js +9 -15
- package/esm/cli/_template/something-import.js.map +1 -1
- package/esm/cli/_template/something-list.js +9 -15
- package/esm/cli/_template/something-list.js.map +1 -1
- package/esm/cli/_template/something-other-delete.js +9 -15
- package/esm/cli/_template/something-other-delete.js.map +1 -1
- package/esm/cli/_template/something-other-describe.js +9 -15
- package/esm/cli/_template/something-other-describe.js.map +1 -1
- package/esm/cli/_template/something-other-export.js +9 -15
- package/esm/cli/_template/something-other-export.js.map +1 -1
- package/esm/cli/_template/something-other-import.js +9 -15
- package/esm/cli/_template/something-other-import.js.map +1 -1
- package/esm/cli/_template/something-other-list.js +9 -15
- package/esm/cli/_template/something-other-list.js.map +1 -1
- package/esm/cli/_template/something-other.js +8 -8
- package/esm/cli/_template/something-other.js.map +1 -1
- package/esm/cli/_template/something.js +9 -10
- package/esm/cli/_template/something.js.map +1 -1
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +8 -15
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +9 -15
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-get-access-token.js +9 -15
- package/esm/cli/admin/admin-get-access-token.js.map +1 -1
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +9 -15
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js +9 -15
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +8 -15
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +8 -15
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
- package/esm/cli/admin/admin-list-static-user-mappings.js +9 -15
- package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
- package/esm/cli/admin/admin-remove-static-user-mapping.js +8 -15
- package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-repair-org-model.js +9 -15
- package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +9 -15
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-show-generic-extension-attributes.js +9 -15
- package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
- package/esm/cli/admin/admin.js +14 -15
- package/esm/cli/admin/admin.js.map +1 -1
- package/esm/cli/agent/agent-delete.js +8 -15
- package/esm/cli/agent/agent-delete.js.map +1 -1
- package/esm/cli/agent/agent-describe.js +9 -15
- package/esm/cli/agent/agent-describe.js.map +1 -1
- package/esm/cli/agent/agent-export.js +8 -15
- package/esm/cli/agent/agent-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-delete.js +8 -15
- package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
- package/esm/cli/agent/agent-gateway-describe.js +9 -15
- package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
- package/esm/cli/agent/agent-gateway-export.js +8 -15
- package/esm/cli/agent/agent-gateway-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-import.js +8 -15
- package/esm/cli/agent/agent-gateway-import.js.map +1 -1
- package/esm/cli/agent/agent-gateway-list.js +9 -15
- package/esm/cli/agent/agent-gateway-list.js.map +1 -1
- package/esm/cli/agent/agent-gateway.js +8 -8
- package/esm/cli/agent/agent-gateway.js.map +1 -1
- package/esm/cli/agent/agent-import.js +8 -15
- package/esm/cli/agent/agent-import.js.map +1 -1
- package/esm/cli/agent/agent-java-delete.js +8 -15
- package/esm/cli/agent/agent-java-delete.js.map +1 -1
- package/esm/cli/agent/agent-java-describe.js +9 -15
- package/esm/cli/agent/agent-java-describe.js.map +1 -1
- package/esm/cli/agent/agent-java-export.js +8 -15
- package/esm/cli/agent/agent-java-export.js.map +1 -1
- package/esm/cli/agent/agent-java-import.js +8 -15
- package/esm/cli/agent/agent-java-import.js.map +1 -1
- package/esm/cli/agent/agent-java-list.js +9 -15
- package/esm/cli/agent/agent-java-list.js.map +1 -1
- package/esm/cli/agent/agent-java.js +8 -8
- package/esm/cli/agent/agent-java.js.map +1 -1
- package/esm/cli/agent/agent-list.js +9 -15
- package/esm/cli/agent/agent-list.js.map +1 -1
- package/esm/cli/agent/agent-web-delete.js +8 -15
- package/esm/cli/agent/agent-web-delete.js.map +1 -1
- package/esm/cli/agent/agent-web-describe.js +9 -15
- package/esm/cli/agent/agent-web-describe.js.map +1 -1
- package/esm/cli/agent/agent-web-export.js +8 -15
- package/esm/cli/agent/agent-web-export.js.map +1 -1
- package/esm/cli/agent/agent-web-import.js +8 -15
- package/esm/cli/agent/agent-web-import.js.map +1 -1
- package/esm/cli/agent/agent-web-list.js +9 -15
- package/esm/cli/agent/agent-web-list.js.map +1 -1
- package/esm/cli/agent/agent-web.js +8 -8
- package/esm/cli/agent/agent-web.js.map +1 -1
- package/esm/cli/agent/agent.js +10 -11
- package/esm/cli/agent/agent.js.map +1 -1
- package/esm/cli/app/app-delete.js +9 -15
- package/esm/cli/app/app-delete.js.map +1 -1
- package/esm/cli/app/app-describe.js +9 -15
- package/esm/cli/app/app-describe.js.map +1 -1
- package/esm/cli/app/app-export.js +8 -15
- package/esm/cli/app/app-export.js.map +1 -1
- package/esm/cli/app/app-import.js +9 -15
- package/esm/cli/app/app-import.js.map +1 -1
- package/esm/cli/app/app-list.js +9 -15
- package/esm/cli/app/app-list.js.map +1 -1
- package/esm/cli/app/app.js +8 -10
- package/esm/cli/app/app.js.map +1 -1
- package/esm/cli/conn/conn-delete.js +6 -8
- package/esm/cli/conn/conn-delete.js.map +1 -1
- package/esm/cli/conn/conn-describe.js +7 -8
- package/esm/cli/conn/conn-describe.js.map +1 -1
- package/esm/cli/conn/conn-list.js +7 -8
- package/esm/cli/conn/conn-list.js.map +1 -1
- package/esm/cli/conn/conn-save.js +15 -21
- package/esm/cli/conn/conn-save.js.map +1 -1
- package/esm/cli/conn/conn.js +10 -8
- package/esm/cli/conn/conn.js.map +1 -1
- package/esm/cli/email/email-template-export.js +8 -15
- package/esm/cli/email/email-template-export.js.map +1 -1
- package/esm/cli/email/email-template-import.js +8 -15
- package/esm/cli/email/email-template-import.js.map +1 -1
- package/esm/cli/email/email-template-list.js +9 -15
- package/esm/cli/email/email-template-list.js.map +1 -1
- package/esm/cli/email/email-template.js +6 -6
- package/esm/cli/email/email-template.js.map +1 -1
- package/esm/cli/email/email.js +2 -2
- package/esm/cli/email/email.js.map +1 -1
- package/esm/cli/esv/esv-apply.js +9 -15
- package/esm/cli/esv/esv-apply.js.map +1 -1
- package/esm/cli/esv/esv-secret-create.js +9 -15
- package/esm/cli/esv/esv-secret-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-delete.js +8 -15
- package/esm/cli/esv/esv-secret-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-describe.js +9 -15
- package/esm/cli/esv/esv-secret-describe.js.map +1 -1
- package/esm/cli/esv/esv-secret-export.js +9 -15
- package/esm/cli/esv/esv-secret-export.js.map +1 -1
- package/esm/cli/esv/esv-secret-import.js +9 -15
- package/esm/cli/esv/esv-secret-import.js.map +1 -1
- package/esm/cli/esv/esv-secret-list.js +9 -15
- package/esm/cli/esv/esv-secret-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-set.js +9 -15
- package/esm/cli/esv/esv-secret-set.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-activate.js +8 -15
- package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-create.js +9 -15
- package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-deactivate.js +8 -15
- package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-delete.js +8 -15
- package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-list.js +9 -15
- package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-version.js +8 -8
- package/esm/cli/esv/esv-secret-version.js.map +1 -1
- package/esm/cli/esv/esv-secret.js +11 -11
- package/esm/cli/esv/esv-secret.js.map +1 -1
- package/esm/cli/esv/esv-variable-create.js +8 -15
- package/esm/cli/esv/esv-variable-create.js.map +1 -1
- package/esm/cli/esv/esv-variable-delete.js +8 -15
- package/esm/cli/esv/esv-variable-delete.js.map +1 -1
- package/esm/cli/esv/esv-variable-describe.js +9 -15
- package/esm/cli/esv/esv-variable-describe.js.map +1 -1
- package/esm/cli/esv/esv-variable-export.js +9 -15
- package/esm/cli/esv/esv-variable-export.js.map +1 -1
- package/esm/cli/esv/esv-variable-import.js +9 -15
- package/esm/cli/esv/esv-variable-import.js.map +1 -1
- package/esm/cli/esv/esv-variable-list.js +9 -15
- package/esm/cli/esv/esv-variable-list.js.map +1 -1
- package/esm/cli/esv/esv-variable-set.js +7 -15
- package/esm/cli/esv/esv-variable-set.js.map +1 -1
- package/esm/cli/esv/esv-variable.js +10 -10
- package/esm/cli/esv/esv-variable.js.map +1 -1
- package/esm/cli/esv/esv.js +5 -6
- package/esm/cli/esv/esv.js.map +1 -1
- package/esm/cli/idm/idm-count.js +9 -15
- package/esm/cli/idm/idm-count.js.map +1 -1
- package/esm/cli/idm/idm-export.js +9 -16
- package/esm/cli/idm/idm-export.js.map +1 -1
- package/esm/cli/idm/idm-import.js +9 -16
- package/esm/cli/idm/idm-import.js.map +1 -1
- package/esm/cli/idm/idm-list.js +8 -15
- package/esm/cli/idm/idm-list.js.map +1 -1
- package/esm/cli/idm/idm.js +6 -9
- package/esm/cli/idm/idm.js.map +1 -1
- package/esm/cli/idp/idp-export.js +8 -15
- package/esm/cli/idp/idp-export.js.map +1 -1
- package/esm/cli/idp/idp-import.js +9 -16
- package/esm/cli/idp/idp-import.js.map +1 -1
- package/esm/cli/idp/idp-list.js +8 -15
- package/esm/cli/idp/idp-list.js.map +1 -1
- package/esm/cli/idp/idp.js +5 -6
- package/esm/cli/idp/idp.js.map +1 -1
- package/esm/cli/info/info.js +5 -12
- package/esm/cli/info/info.js.map +1 -1
- package/esm/cli/journey/journey-delete.js +8 -15
- package/esm/cli/journey/journey-delete.js.map +1 -1
- package/esm/cli/journey/journey-describe.js +10 -18
- package/esm/cli/journey/journey-describe.js.map +1 -1
- package/esm/cli/journey/journey-disable.js +9 -16
- package/esm/cli/journey/journey-disable.js.map +1 -1
- package/esm/cli/journey/journey-enable.js +8 -15
- package/esm/cli/journey/journey-enable.js.map +1 -1
- package/esm/cli/journey/journey-export.js +8 -15
- package/esm/cli/journey/journey-export.js.map +1 -1
- package/esm/cli/journey/journey-import.js +8 -15
- package/esm/cli/journey/journey-import.js.map +1 -1
- package/esm/cli/journey/journey-list.js +9 -15
- package/esm/cli/journey/journey-list.js.map +1 -1
- package/esm/cli/journey/journey-prune.js +8 -15
- package/esm/cli/journey/journey-prune.js.map +1 -1
- package/esm/cli/journey/journey.js +10 -11
- package/esm/cli/journey/journey.js.map +1 -1
- package/esm/cli/logging/logs-fetch.js +14 -19
- package/esm/cli/logging/logs-fetch.js.map +1 -1
- package/esm/cli/logging/logs-list.js +17 -26
- package/esm/cli/logging/logs-list.js.map +1 -1
- package/esm/cli/logging/logs-tail.js +14 -19
- package/esm/cli/logging/logs-tail.js.map +1 -1
- package/esm/cli/logging/logs.js +7 -6
- package/esm/cli/logging/logs.js.map +1 -1
- package/esm/cli/realm/realm-add-custom-domain.js +10 -16
- package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm-describe.js +9 -16
- package/esm/cli/realm/realm-describe.js.map +1 -1
- package/esm/cli/realm/realm-list.js +9 -15
- package/esm/cli/realm/realm-list.js.map +1 -1
- package/esm/cli/realm/realm-remove-custom-domain.js +10 -16
- package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm.js +7 -8
- package/esm/cli/realm/realm.js.map +1 -1
- package/esm/cli/saml/saml-cot-export.js +8 -15
- package/esm/cli/saml/saml-cot-export.js.map +1 -1
- package/esm/cli/saml/saml-cot-import.js +9 -16
- package/esm/cli/saml/saml-cot-import.js.map +1 -1
- package/esm/cli/saml/saml-cot-list.js +9 -15
- package/esm/cli/saml/saml-cot-list.js.map +1 -1
- package/esm/cli/saml/saml-cot.js +6 -6
- package/esm/cli/saml/saml-cot.js.map +1 -1
- package/esm/cli/saml/saml-delete.js +8 -15
- package/esm/cli/saml/saml-delete.js.map +1 -1
- package/esm/cli/saml/saml-describe.js +9 -15
- package/esm/cli/saml/saml-describe.js.map +1 -1
- package/esm/cli/saml/saml-export.js +9 -16
- package/esm/cli/saml/saml-export.js.map +1 -1
- package/esm/cli/saml/saml-import.js +11 -18
- package/esm/cli/saml/saml-import.js.map +1 -1
- package/esm/cli/saml/saml-list.js +10 -16
- package/esm/cli/saml/saml-list.js.map +1 -1
- package/esm/cli/saml/saml-metadata-export.js +8 -15
- package/esm/cli/saml/saml-metadata-export.js.map +1 -1
- package/esm/cli/saml/saml-metadata.js +4 -4
- package/esm/cli/saml/saml-metadata.js.map +1 -1
- package/esm/cli/saml/saml.js +9 -10
- package/esm/cli/saml/saml.js.map +1 -1
- package/esm/cli/script/script-delete.js +9 -15
- package/esm/cli/script/script-delete.js.map +1 -1
- package/esm/cli/script/script-describe.js +9 -15
- package/esm/cli/script/script-describe.js.map +1 -1
- package/esm/cli/script/script-export.js +8 -15
- package/esm/cli/script/script-export.js.map +1 -1
- package/esm/cli/script/script-import.js +9 -15
- package/esm/cli/script/script-import.js.map +1 -1
- package/esm/cli/script/script-list.js +9 -15
- package/esm/cli/script/script-list.js.map +1 -1
- package/esm/cli/script/script.js +7 -8
- package/esm/cli/script/script.js.map +1 -1
- package/esm/cli/service/service-delete.js +7 -14
- package/esm/cli/service/service-delete.js.map +1 -1
- package/esm/cli/service/service-export.js +7 -14
- package/esm/cli/service/service-export.js.map +1 -1
- package/esm/cli/service/service-import.js +7 -14
- package/esm/cli/service/service-import.js.map +1 -1
- package/esm/cli/service/service-list.js +8 -14
- package/esm/cli/service/service-list.js.map +1 -1
- package/esm/cli/service/service.js +6 -7
- package/esm/cli/service/service.js.map +1 -1
- package/esm/cli/theme/theme-delete.js +10 -17
- package/esm/cli/theme/theme-delete.js.map +1 -1
- package/esm/cli/theme/theme-export.js +9 -16
- package/esm/cli/theme/theme-export.js.map +1 -1
- package/esm/cli/theme/theme-import.js +10 -17
- package/esm/cli/theme/theme-import.js.map +1 -1
- package/esm/cli/theme/theme-list.js +9 -15
- package/esm/cli/theme/theme-list.js.map +1 -1
- package/esm/cli/theme/theme.js +6 -7
- package/esm/cli/theme/theme.js.map +1 -1
- package/esm/ops/JourneyOps.js +2 -1
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/utils/Console.js +6 -6
- package/esm/utils/Console.js.map +1 -1
- package/package.json +2 -2
- package/esm/cli/cmd_common.js +0 -79
- package/esm/cli/cmd_common.js.map +0 -1
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ConnectionProfile
|
|
3
|
-
import * as common from '../cmd_common.js';
|
|
1
|
+
import { FrodoCommand } from '../FrodoCommand';
|
|
2
|
+
import { ConnectionProfile } from '@rockcarver/frodo-lib';
|
|
4
3
|
const {
|
|
5
4
|
deleteConnectionProfile
|
|
6
5
|
} = ConnectionProfile;
|
|
7
|
-
const program = new
|
|
8
|
-
program.description('Delete connection profiles.').
|
|
6
|
+
const program = new FrodoCommand('frodo conn delete', ['realm', 'username', 'password', 'type', 'insecure', 'curlirize']);
|
|
7
|
+
program.description('Delete connection profiles.').action(
|
|
9
8
|
// implement command logic inside action handler
|
|
10
|
-
async (host, options) => {
|
|
11
|
-
|
|
12
|
-
state.default.session.setDebug(options.debug);
|
|
9
|
+
async (host, options, command) => {
|
|
10
|
+
command.handleDefaultArgsAndOpts(host, options, command);
|
|
13
11
|
deleteConnectionProfile(host);
|
|
14
12
|
}
|
|
15
13
|
// end command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conn-delete.js","names":["
|
|
1
|
+
{"version":3,"file":"conn-delete.js","names":["FrodoCommand","ConnectionProfile","deleteConnectionProfile","program","description","action","host","options","command","handleDefaultArgsAndOpts","parse"],"sources":["cli/conn/conn-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { ConnectionProfile } from '@rockcarver/frodo-lib';\n\nconst { deleteConnectionProfile } = ConnectionProfile;\n\nconst program = new FrodoCommand('frodo conn delete', [\n 'realm',\n 'username',\n 'password',\n 'type',\n 'insecure',\n 'curlirize',\n]);\n\nprogram.description('Delete connection profiles.').action(\n // implement command logic inside action handler\n async (host, options, command) => {\n command.handleDefaultArgsAndOpts(host, options, command);\n deleteConnectionProfile(host);\n }\n // end command logic inside action handler\n);\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,iBAAiB,QAAQ,uBAAuB;AAEzD,MAAM;EAAEC;AAAwB,CAAC,GAAGD,iBAAiB;AAErD,MAAME,OAAO,GAAG,IAAIH,YAAY,CAAC,mBAAmB,EAAE,CACpD,OAAO,EACP,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,CACZ,CAAC;AAEFG,OAAO,CAACC,WAAW,CAAC,6BAA6B,CAAC,CAACC,MAAM;AACvD;AACA,OAAOC,IAAI,EAAEC,OAAO,EAAEC,OAAO,KAAK;EAChCA,OAAO,CAACC,wBAAwB,CAACH,IAAI,EAAEC,OAAO,EAAEC,OAAO,CAAC;EACxDN,uBAAuB,CAACI,IAAI,CAAC;AAC/B;AACA;AAAA,CACD;;AAEDH,OAAO,CAACO,KAAK,EAAE"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { FrodoCommand } from '../FrodoCommand';
|
|
2
|
+
import { Option } from 'commander';
|
|
3
|
+
import { ConnectionProfile } from '@rockcarver/frodo-lib';
|
|
4
4
|
const {
|
|
5
5
|
describeConnectionProfile
|
|
6
6
|
} = ConnectionProfile;
|
|
7
|
-
const program = new
|
|
8
|
-
program.description('Describe connection profile.').
|
|
7
|
+
const program = new FrodoCommand('frodo conn describe', ['realm', 'username', 'password', 'type', 'insecure', 'curlirize']);
|
|
8
|
+
program.description('Describe connection profile.').addOption(new Option('--show-secrets', 'Show passwords and secrets.')).action(
|
|
9
9
|
// implement command logic inside action handler
|
|
10
|
-
async (host, options) => {
|
|
11
|
-
|
|
12
|
-
state.default.session.setDebug(options.debug);
|
|
10
|
+
async (host, options, command) => {
|
|
11
|
+
command.handleDefaultArgsAndOpts(host, options, command);
|
|
13
12
|
describeConnectionProfile(host, options.showSecrets);
|
|
14
13
|
}
|
|
15
14
|
// end command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conn-describe.js","names":["
|
|
1
|
+
{"version":3,"file":"conn-describe.js","names":["FrodoCommand","Option","ConnectionProfile","describeConnectionProfile","program","description","addOption","action","host","options","command","handleDefaultArgsAndOpts","showSecrets","parse"],"sources":["cli/conn/conn-describe.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { ConnectionProfile } from '@rockcarver/frodo-lib';\n\nconst { describeConnectionProfile } = ConnectionProfile;\n\nconst program = new FrodoCommand('frodo conn describe', [\n 'realm',\n 'username',\n 'password',\n 'type',\n 'insecure',\n 'curlirize',\n]);\n\nprogram\n .description('Describe connection profile.')\n .addOption(new Option('--show-secrets', 'Show passwords and secrets.'))\n .action(\n // implement command logic inside action handler\n async (host, options, command) => {\n command.handleDefaultArgsAndOpts(host, options, command);\n describeConnectionProfile(host, options.showSecrets);\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,iBAAiB,QAAQ,uBAAuB;AAEzD,MAAM;EAAEC;AAA0B,CAAC,GAAGD,iBAAiB;AAEvD,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,qBAAqB,EAAE,CACtD,OAAO,EACP,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,CACZ,CAAC;AAEFI,OAAO,CACJC,WAAW,CAAC,8BAA8B,CAAC,CAC3CC,SAAS,CAAC,IAAIL,MAAM,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC,CACtEM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,OAAO,EAAEC,OAAO,KAAK;EAChCA,OAAO,CAACC,wBAAwB,CAACH,IAAI,EAAEC,OAAO,EAAEC,OAAO,CAAC;EACxDP,yBAAyB,CAACK,IAAI,EAAEC,OAAO,CAACG,WAAW,CAAC;AACtD;AACA;AAAA,CACD;;AAEHR,OAAO,CAACS,KAAK,EAAE"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { FrodoCommand } from '../FrodoCommand';
|
|
2
|
+
import { Option } from 'commander';
|
|
3
|
+
import { ConnectionProfile } from '@rockcarver/frodo-lib';
|
|
4
4
|
const {
|
|
5
5
|
listConnectionProfiles
|
|
6
6
|
} = ConnectionProfile;
|
|
7
|
-
const program = new
|
|
8
|
-
program.description('List connection profiles.').
|
|
7
|
+
const program = new FrodoCommand('frodo conn list', ['host', 'realm', 'username', 'password', 'type', 'insecure', 'curlirize']);
|
|
8
|
+
program.description('List connection profiles.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
|
|
9
9
|
// implement command logic inside action handler
|
|
10
|
-
async options => {
|
|
11
|
-
|
|
12
|
-
state.default.session.setDebug(options.debug);
|
|
10
|
+
async (options, command) => {
|
|
11
|
+
command.handleDefaultArgsAndOpts(options, command);
|
|
13
12
|
listConnectionProfiles(options.long);
|
|
14
13
|
}
|
|
15
14
|
// end command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conn-list.js","names":["
|
|
1
|
+
{"version":3,"file":"conn-list.js","names":["FrodoCommand","Option","ConnectionProfile","listConnectionProfiles","program","description","addOption","default","action","options","command","handleDefaultArgsAndOpts","long","parse"],"sources":["cli/conn/conn-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { ConnectionProfile } from '@rockcarver/frodo-lib';\n\nconst { listConnectionProfiles } = ConnectionProfile;\n\nconst program = new FrodoCommand('frodo conn list', [\n 'host',\n 'realm',\n 'username',\n 'password',\n 'type',\n 'insecure',\n 'curlirize',\n]);\n\nprogram\n .description('List connection profiles.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (options, command) => {\n command.handleDefaultArgsAndOpts(options, command);\n listConnectionProfiles(options.long);\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,iBAAiB,QAAQ,uBAAuB;AAEzD,MAAM;EAAEC;AAAuB,CAAC,GAAGD,iBAAiB;AAEpD,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,iBAAiB,EAAE,CAClD,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,CACZ,CAAC;AAEFI,OAAO,CACJC,WAAW,CAAC,2BAA2B,CAAC,CACxCC,SAAS,CACR,IAAIL,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACM,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,CACAC,MAAM;AACL;AACA,OAAOC,OAAO,EAAEC,OAAO,KAAK;EAC1BA,OAAO,CAACC,wBAAwB,CAACF,OAAO,EAAEC,OAAO,CAAC;EAClDP,sBAAsB,CAACM,OAAO,CAACG,IAAI,CAAC;AACtC;AACA;AAAA,CACD;;AAEHR,OAAO,CAACS,KAAK,EAAE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FrodoCommand } from '../FrodoCommand';
|
|
2
|
+
import { Option } from 'commander';
|
|
3
|
+
import { apiKeyArgument, apiSecretArgument } from './conn';
|
|
2
4
|
import { Authenticate, ConnectionProfile, ServiceAccount, state, constants } from '@rockcarver/frodo-lib';
|
|
3
|
-
import * as common from '../cmd_common.js';
|
|
4
5
|
import { verboseMessage, printMessage } from '../../utils/Console';
|
|
5
6
|
import { addExistingServiceAccount } from '../../ops/ConnectionProfileOps.js';
|
|
6
7
|
const {
|
|
@@ -13,30 +14,23 @@ const {
|
|
|
13
14
|
const {
|
|
14
15
|
isServiceAccountsFeatureAvailable
|
|
15
16
|
} = ServiceAccount;
|
|
16
|
-
const program = new
|
|
17
|
-
program.alias('add').description('Save connection profiles.').
|
|
17
|
+
const program = new FrodoCommand('frodo conn save', ['realm']);
|
|
18
|
+
program.alias('add').description('Save connection profiles.').addArgument(apiKeyArgument).addArgument(apiSecretArgument).addOption(new Option('--sa-id <uuid>', "Service account's uuid. If specified, must also include --sa-jwk-file. Ignored with --no-sa.")).addOption(new Option('--sa-jwk-file <file>', "File containing the service account's java web key (jwk). Jwk must contain private key! If specified, must also include --sa-id. Ignored with --no-sa.")).addOption(new Option('--no-sa', 'Do not add service account.')).addOption(new Option('--no-validate', 'Do not validate connection.')).addOption(new Option('--authentication-service [service]', 'Name of the authentication service/tree to use.')).addOption(new Option('--authentication-header-overrides [headers]', 'Map of headers: {"host":"am.example.com:8081"}.')).action(
|
|
18
19
|
// implement command logic inside action handler
|
|
19
|
-
async (host, user, password, key, secret, options) => {
|
|
20
|
-
|
|
21
|
-
state.
|
|
22
|
-
state.
|
|
23
|
-
state.default.session.setLogApiKey(key);
|
|
24
|
-
state.default.session.setLogApiSecret(secret);
|
|
25
|
-
state.default.session.setDeploymentType(options.type);
|
|
26
|
-
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
27
|
-
state.default.session.setVerbose(options.verbose);
|
|
28
|
-
state.default.session.setDebug(options.debug);
|
|
29
|
-
state.default.session.setCurlirize(options.curlirize);
|
|
20
|
+
async (host, user, password, key, secret, options, command) => {
|
|
21
|
+
command.handleDefaultArgsAndOpts(host, user, password, key, secret, options, command);
|
|
22
|
+
state.setLogApiKey(key);
|
|
23
|
+
state.setLogApiSecret(secret);
|
|
30
24
|
if (options.authenticationService) {
|
|
31
|
-
state.
|
|
25
|
+
state.setAuthenticationService(options.authenticationService);
|
|
32
26
|
}
|
|
33
27
|
if (options.authenticationHeaderOverrides) {
|
|
34
|
-
state.
|
|
28
|
+
state.setAuthenticationHeaderOverrides(JSON.parse(options.authenticationHeaderOverrides));
|
|
35
29
|
}
|
|
36
30
|
if (options.validate && (await getTokens()) || !options.validate) {
|
|
37
|
-
verboseMessage(`Saving connection profile for tenant ${state.
|
|
31
|
+
verboseMessage(`Saving connection profile for tenant ${state.getTenant()}...`);
|
|
38
32
|
// if cloud deployment add service account
|
|
39
|
-
if (options.validate && state.
|
|
33
|
+
if (options.validate && state.getDeploymentType() === constants.CLOUD_DEPLOYMENT_TYPE_KEY && options.sa && (await isServiceAccountsFeatureAvailable())) {
|
|
40
34
|
// validate and add existing service account
|
|
41
35
|
if (options.saId && options.saJwkFile) {
|
|
42
36
|
verboseMessage(`Validating and adding service account...`);
|
|
@@ -45,7 +39,7 @@ async (host, user, password, key, secret, options) => {
|
|
|
45
39
|
}
|
|
46
40
|
}
|
|
47
41
|
// add new service account if none already exists in the profile
|
|
48
|
-
else if (!state.
|
|
42
|
+
else if (!state.getServiceAccountId()) {
|
|
49
43
|
try {
|
|
50
44
|
verboseMessage(`Creating service account...`);
|
|
51
45
|
const sa = await addNewServiceAccount();
|
|
@@ -63,7 +57,7 @@ async (host, user, password, key, secret, options) => {
|
|
|
63
57
|
addExistingServiceAccount(options.saId, options.saJwkFile, options.validate);
|
|
64
58
|
}
|
|
65
59
|
if (await saveConnectionProfile(host)) {
|
|
66
|
-
printMessage(`Saved connection profile ${state.
|
|
60
|
+
printMessage(`Saved connection profile ${state.getTenant()}`);
|
|
67
61
|
} else {
|
|
68
62
|
process.exitCode = 1;
|
|
69
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conn-save.js","names":["Command","Option","Authenticate","ConnectionProfile","ServiceAccount","state","constants","common","verboseMessage","printMessage","addExistingServiceAccount","getTokens","saveConnectionProfile","addNewServiceAccount","isServiceAccountsFeatureAvailable","program","alias","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","userArgument","passwordArgument","apiKeyArgument","apiSecretArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","action","host","user","password","key","secret","options","default","session","setTenant","setUsername","setPassword","setLogApiKey","setLogApiSecret","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","authenticationService","setAuthenticationService","authenticationHeaderOverrides","setAuthenticationHeaderOverrides","JSON","parse","validate","getTenant","getDeploymentType","CLOUD_DEPLOYMENT_TYPE_KEY","sa","saId","saJwkFile","getServiceAccountId","name","_id","error","response","data","message","process","exitCode"],"sources":["cli/conn/conn-save.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport {\n Authenticate,\n ConnectionProfile,\n ServiceAccount,\n state,\n constants,\n} from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { verboseMessage, printMessage } from '../../utils/Console';\nimport { addExistingServiceAccount } from '../../ops/ConnectionProfileOps.js';\n\nconst { getTokens } = Authenticate;\nconst { saveConnectionProfile, addNewServiceAccount } = ConnectionProfile;\nconst { isServiceAccountsFeatureAvailable } = ServiceAccount;\n\nconst program = new Command('frodo conn save');\n\nprogram\n .alias('add')\n .description('Save connection profiles.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addArgument(common.apiKeyArgument)\n .addArgument(common.apiSecretArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\n .addOption(\n new Option(\n '--sa-id <uuid>',\n \"Service account's uuid. If specified, must also include --sa-jwk-file. Ignored with --no-sa.\"\n )\n )\n .addOption(\n new Option(\n '--sa-jwk-file <file>',\n \"File containing the service account's java web key (jwk). Jwk must contain private key! If specified, must also include --sa-id. Ignored with --no-sa.\"\n )\n )\n .addOption(new Option('--no-sa', 'Do not add service account.'))\n .addOption(new Option('--no-validate', 'Do not validate connection.'))\n .addOption(\n new Option(\n '--authentication-service [service]',\n 'Name of the authentication service/tree to use.'\n )\n )\n .addOption(\n new Option(\n '--authentication-header-overrides [headers]',\n 'Map of headers: {\"host\":\"am.example.com:8081\"}.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, user, password, key, secret, options) => {\n state.default.session.setTenant(host);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setLogApiKey(key);\n state.default.session.setLogApiSecret(secret);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n if (options.authenticationService) {\n state.default.session.setAuthenticationService(\n options.authenticationService\n );\n }\n if (options.authenticationHeaderOverrides) {\n state.default.session.setAuthenticationHeaderOverrides(\n JSON.parse(options.authenticationHeaderOverrides)\n );\n }\n if ((options.validate && (await getTokens())) || !options.validate) {\n verboseMessage(\n `Saving connection profile for tenant ${state.default.session.getTenant()}...`\n );\n // if cloud deployment add service account\n if (\n options.validate &&\n state.default.session.getDeploymentType() ===\n constants.CLOUD_DEPLOYMENT_TYPE_KEY &&\n options.sa &&\n (await isServiceAccountsFeatureAvailable())\n ) {\n // validate and add existing service account\n if (options.saId && options.saJwkFile) {\n verboseMessage(`Validating and adding service account...`);\n if (\n await addExistingServiceAccount(\n options.saId,\n options.saJwkFile,\n options.validate\n )\n ) {\n printMessage(\n `Validated and added service account with id ${options.saId} to profile.`\n );\n }\n }\n // add new service account if none already exists in the profile\n else if (!state.default.session.getServiceAccountId()) {\n try {\n verboseMessage(`Creating service account...`);\n const sa = await addNewServiceAccount();\n printMessage(\n `Created and added service account ${sa.name} with id ${sa._id} to profile.`\n );\n } catch (error) {\n printMessage(error.response?.data, 'error');\n printMessage(\n `Error creating service account: ${error.response?.data?.message}`,\n 'error'\n );\n process.exitCode = 1;\n }\n }\n }\n // add existing service account without validation\n else if (\n !options.validate &&\n options.saId &&\n options.saJwkFile &&\n options.sa\n ) {\n addExistingServiceAccount(\n options.saId,\n options.saJwkFile,\n options.validate\n );\n }\n if (await saveConnectionProfile(host)) {\n printMessage(\n `Saved connection profile ${state.default.session.getTenant()}`\n );\n } else {\n process.exitCode = 1;\n }\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conn-save.js","names":["FrodoCommand","Option","apiKeyArgument","apiSecretArgument","Authenticate","ConnectionProfile","ServiceAccount","state","constants","verboseMessage","printMessage","addExistingServiceAccount","getTokens","saveConnectionProfile","addNewServiceAccount","isServiceAccountsFeatureAvailable","program","alias","description","addArgument","addOption","action","host","user","password","key","secret","options","command","handleDefaultArgsAndOpts","setLogApiKey","setLogApiSecret","authenticationService","setAuthenticationService","authenticationHeaderOverrides","setAuthenticationHeaderOverrides","JSON","parse","validate","getTenant","getDeploymentType","CLOUD_DEPLOYMENT_TYPE_KEY","sa","saId","saJwkFile","getServiceAccountId","name","_id","error","response","data","message","process","exitCode"],"sources":["cli/conn/conn-save.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { apiKeyArgument, apiSecretArgument } from './conn';\nimport {\n Authenticate,\n ConnectionProfile,\n ServiceAccount,\n state,\n constants,\n} from '@rockcarver/frodo-lib';\nimport { verboseMessage, printMessage } from '../../utils/Console';\nimport { addExistingServiceAccount } from '../../ops/ConnectionProfileOps.js';\n\nconst { getTokens } = Authenticate;\nconst { saveConnectionProfile, addNewServiceAccount } = ConnectionProfile;\nconst { isServiceAccountsFeatureAvailable } = ServiceAccount;\n\nconst program = new FrodoCommand('frodo conn save', ['realm']);\n\nprogram\n .alias('add')\n .description('Save connection profiles.')\n .addArgument(apiKeyArgument)\n .addArgument(apiSecretArgument)\n .addOption(\n new Option(\n '--sa-id <uuid>',\n \"Service account's uuid. If specified, must also include --sa-jwk-file. Ignored with --no-sa.\"\n )\n )\n .addOption(\n new Option(\n '--sa-jwk-file <file>',\n \"File containing the service account's java web key (jwk). Jwk must contain private key! If specified, must also include --sa-id. Ignored with --no-sa.\"\n )\n )\n .addOption(new Option('--no-sa', 'Do not add service account.'))\n .addOption(new Option('--no-validate', 'Do not validate connection.'))\n .addOption(\n new Option(\n '--authentication-service [service]',\n 'Name of the authentication service/tree to use.'\n )\n )\n .addOption(\n new Option(\n '--authentication-header-overrides [headers]',\n 'Map of headers: {\"host\":\"am.example.com:8081\"}.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, user, password, key, secret, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n user,\n password,\n key,\n secret,\n options,\n command\n );\n state.setLogApiKey(key);\n state.setLogApiSecret(secret);\n if (options.authenticationService) {\n state.setAuthenticationService(options.authenticationService);\n }\n if (options.authenticationHeaderOverrides) {\n state.setAuthenticationHeaderOverrides(\n JSON.parse(options.authenticationHeaderOverrides)\n );\n }\n if ((options.validate && (await getTokens())) || !options.validate) {\n verboseMessage(\n `Saving connection profile for tenant ${state.getTenant()}...`\n );\n // if cloud deployment add service account\n if (\n options.validate &&\n state.getDeploymentType() === constants.CLOUD_DEPLOYMENT_TYPE_KEY &&\n options.sa &&\n (await isServiceAccountsFeatureAvailable())\n ) {\n // validate and add existing service account\n if (options.saId && options.saJwkFile) {\n verboseMessage(`Validating and adding service account...`);\n if (\n await addExistingServiceAccount(\n options.saId,\n options.saJwkFile,\n options.validate\n )\n ) {\n printMessage(\n `Validated and added service account with id ${options.saId} to profile.`\n );\n }\n }\n // add new service account if none already exists in the profile\n else if (!state.getServiceAccountId()) {\n try {\n verboseMessage(`Creating service account...`);\n const sa = await addNewServiceAccount();\n printMessage(\n `Created and added service account ${sa.name} with id ${sa._id} to profile.`\n );\n } catch (error) {\n printMessage(error.response?.data, 'error');\n printMessage(\n `Error creating service account: ${error.response?.data?.message}`,\n 'error'\n );\n process.exitCode = 1;\n }\n }\n }\n // add existing service account without validation\n else if (\n !options.validate &&\n options.saId &&\n options.saJwkFile &&\n options.sa\n ) {\n addExistingServiceAccount(\n options.saId,\n options.saJwkFile,\n options.validate\n );\n }\n if (await saveConnectionProfile(host)) {\n printMessage(`Saved connection profile ${state.getTenant()}`);\n } else {\n process.exitCode = 1;\n }\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
package/esm/cli/conn/conn.js
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FrodoStubCommand } from '../FrodoCommand';
|
|
2
|
+
import { Argument } from 'commander';
|
|
2
3
|
import path from 'path';
|
|
3
4
|
import { fileURLToPath } from 'url';
|
|
4
5
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
export const apiKeyArgument = new Argument('[key]', 'API key for logging API.');
|
|
7
|
+
export const apiSecretArgument = new Argument('[secret]', 'API secret for logging API.');
|
|
5
8
|
export default function setup() {
|
|
6
|
-
const program = new
|
|
9
|
+
const program = new FrodoStubCommand('conn').alias('connection')
|
|
7
10
|
// for backwards compatibility
|
|
8
|
-
.alias('connections').
|
|
9
|
-
program.command('save', 'Save connection profiles.').alias('add')
|
|
10
|
-
program.command('delete', 'Delete connection profiles.')
|
|
11
|
-
program.command('describe', 'Describe connection profiles.')
|
|
12
|
-
program.command('list', 'List connection profiles.')
|
|
13
|
-
program.showHelpAfterError();
|
|
11
|
+
.alias('connections').description('Manage connection profiles.').executableDir(__dirname);
|
|
12
|
+
program.command('save', 'Save connection profiles.').alias('add');
|
|
13
|
+
program.command('delete', 'Delete connection profiles.');
|
|
14
|
+
program.command('describe', 'Describe connection profiles.');
|
|
15
|
+
program.command('list', 'List connection profiles.');
|
|
14
16
|
return program;
|
|
15
17
|
}
|
|
16
18
|
//# sourceMappingURL=conn.js.map
|
package/esm/cli/conn/conn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conn.js","names":["
|
|
1
|
+
{"version":3,"file":"conn.js","names":["FrodoStubCommand","Argument","path","fileURLToPath","__dirname","dirname","import","meta","url","apiKeyArgument","apiSecretArgument","setup","program","alias","description","executableDir","command"],"sources":["cli/conn/conn.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\nimport { Argument } from 'commander';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport const apiKeyArgument = new Argument('[key]', 'API key for logging API.');\n\nexport const apiSecretArgument = new Argument(\n '[secret]',\n 'API secret for logging API.'\n);\n\nexport default function setup() {\n const program = new FrodoStubCommand('conn')\n .alias('connection')\n // for backwards compatibility\n .alias('connections')\n .description('Manage connection profiles.')\n .executableDir(__dirname);\n\n program.command('save', 'Save connection profiles.').alias('add');\n\n program.command('delete', 'Delete connection profiles.');\n\n program.command('describe', 'Describe connection profiles.');\n\n program.command('list', 'List connection profiles.');\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,SAASC,QAAQ,QAAQ,WAAW;AACpC,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,OAAO,MAAMC,cAAc,GAAG,IAAIR,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;AAE/E,OAAO,MAAMS,iBAAiB,GAAG,IAAIT,QAAQ,CAC3C,UAAU,EACV,6BAA6B,CAC9B;AAED,eAAe,SAASU,KAAK,GAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIZ,gBAAgB,CAAC,MAAM,CAAC,CACzCa,KAAK,CAAC,YAAY;EACnB;EAAA,CACCA,KAAK,CAAC,aAAa,CAAC,CACpBC,WAAW,CAAC,6BAA6B,CAAC,CAC1CC,aAAa,CAACX,SAAS,CAAC;EAE3BQ,OAAO,CAACI,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAACH,KAAK,CAAC,KAAK,CAAC;EAEjED,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC;EAExDJ,OAAO,CAACI,OAAO,CAAC,UAAU,EAAE,+BAA+B,CAAC;EAE5DJ,OAAO,CAACI,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC;EAEpD,OAAOJ,OAAO;AAChB"}
|
|
@@ -1,27 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FrodoCommand } from '../FrodoCommand';
|
|
2
|
+
import { Option } from 'commander';
|
|
2
3
|
import { Authenticate, state } from '@rockcarver/frodo-lib';
|
|
3
|
-
import * as common from '../cmd_common.js';
|
|
4
4
|
import { printMessage, verboseMessage } from '../../utils/Console.js';
|
|
5
5
|
import { exportEmailTemplateToFile, exportEmailTemplatesToFile, exportEmailTemplatesToFiles } from '../../ops/EmailTemplateOps';
|
|
6
6
|
const {
|
|
7
7
|
getTokens
|
|
8
8
|
} = Authenticate;
|
|
9
|
-
const program = new
|
|
10
|
-
program.description('Export email templates.').
|
|
9
|
+
const program = new FrodoCommand('frodo email template export');
|
|
10
|
+
program.description('Export email templates.').addOption(new Option('-i, --template-id <template-id>', 'Email template id/name. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file [file]', 'Name of the export file. Ignored with -A. Defaults to <template-id>.template.email.json.')).addOption(new Option('-a, --all', 'Export all email templates to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all email templates as separate files <template-id>.template.email.json. Ignored with -i, and -a.')).action(
|
|
11
11
|
// implement command logic inside action handler
|
|
12
|
-
async (host, realm, user, password, options) => {
|
|
13
|
-
|
|
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
|
-
state.default.session.setVerbose(options.verbose);
|
|
20
|
-
state.default.session.setDebug(options.debug);
|
|
21
|
-
state.default.session.setCurlirize(options.curlirize);
|
|
12
|
+
async (host, realm, user, password, options, command) => {
|
|
13
|
+
command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
|
|
22
14
|
// export by id/name
|
|
23
15
|
if (options.templateId && (await getTokens())) {
|
|
24
|
-
verboseMessage(`Exporting email template "${options.templateId}" from realm "${state.
|
|
16
|
+
verboseMessage(`Exporting email template "${options.templateId}" from realm "${state.getRealm()}"...`);
|
|
25
17
|
exportEmailTemplateToFile(options.templateId, options.file);
|
|
26
18
|
}
|
|
27
19
|
// --all -a
|
|
@@ -38,6 +30,7 @@ async (host, realm, user, password, options) => {
|
|
|
38
30
|
else {
|
|
39
31
|
printMessage('Unrecognized combination of options or no options...', 'error');
|
|
40
32
|
program.help();
|
|
33
|
+
process.exitCode = 1;
|
|
41
34
|
}
|
|
42
35
|
}
|
|
43
36
|
// end command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-template-export.js","names":["
|
|
1
|
+
{"version":3,"file":"email-template-export.js","names":["FrodoCommand","Option","Authenticate","state","printMessage","verboseMessage","exportEmailTemplateToFile","exportEmailTemplatesToFile","exportEmailTemplatesToFiles","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","templateId","getRealm","file","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/email/email-template-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport {\n exportEmailTemplateToFile,\n exportEmailTemplatesToFile,\n exportEmailTemplatesToFiles,\n} from '../../ops/EmailTemplateOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo email template export');\n\nprogram\n .description('Export email templates.')\n .addOption(\n new Option(\n '-i, --template-id <template-id>',\n 'Email template id/name. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file [file]',\n 'Name of the export file. Ignored with -A. Defaults to <template-id>.template.email.json.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all email templates to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all email templates as separate files <template-id>.template.email.json. Ignored with -i, and -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // export by id/name\n if (options.templateId && (await getTokens())) {\n verboseMessage(\n `Exporting email template \"${\n options.templateId\n }\" from realm \"${state.getRealm()}\"...`\n );\n exportEmailTemplateToFile(options.templateId, options.file);\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n verboseMessage('Exporting all email templates to a single file...');\n exportEmailTemplatesToFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Exporting all email templates to separate files...');\n exportEmailTemplatesToFiles();\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SACEC,yBAAyB,EACzBC,0BAA0B,EAC1BC,2BAA2B,QACtB,4BAA4B;AAEnC,MAAM;EAAEC;AAAU,CAAC,GAAGP,YAAY;AAElC,MAAMQ,OAAO,GAAG,IAAIV,YAAY,CAAC,6BAA6B,CAAC;AAE/DU,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,SAAS,CACR,IAAIX,MAAM,CACR,iCAAiC,EACjC,8DAA8D,CAC/D,CACF,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,mBAAmB,EACnB,0FAA0F,CAC3F,CACF,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,WAAW,EACX,+DAA+D,CAChE,CACF,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,oBAAoB,EACpB,0GAA0G,CAC3G,CACF,CACAY,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD;EACA,IAAID,OAAO,CAACG,UAAU,KAAK,MAAMZ,SAAS,EAAE,CAAC,EAAE;IAC7CJ,cAAc,CACX,6BACCa,OAAO,CAACG,UACT,iBAAgBlB,KAAK,CAACmB,QAAQ,EAAG,MAAK,CACxC;IACDhB,yBAAyB,CAACY,OAAO,CAACG,UAAU,EAAEH,OAAO,CAACK,IAAI,CAAC;EAC7D;EACA;EAAA,KACK,IAAIL,OAAO,CAACM,GAAG,KAAK,MAAMf,SAAS,EAAE,CAAC,EAAE;IAC3CJ,cAAc,CAAC,mDAAmD,CAAC;IACnEE,0BAA0B,CAACW,OAAO,CAACK,IAAI,CAAC;EAC1C;EACA;EAAA,KACK,IAAIL,OAAO,CAACO,WAAW,KAAK,MAAMhB,SAAS,EAAE,CAAC,EAAE;IACnDJ,cAAc,CAAC,oDAAoD,CAAC;IACpEG,2BAA2B,EAAE;EAC/B;EACA;EAAA,KACK;IACHJ,YAAY,CACV,sDAAsD,EACtD,OAAO,CACR;IACDM,OAAO,CAACgB,IAAI,EAAE;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHlB,OAAO,CAACmB,KAAK,EAAE"}
|
|
@@ -1,24 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { FrodoCommand } from '../FrodoCommand';
|
|
2
|
+
import { Option } from 'commander';
|
|
3
|
+
import { Authenticate } from '@rockcarver/frodo-lib';
|
|
4
4
|
import { printMessage, verboseMessage } from '../../utils/Console.js';
|
|
5
5
|
import { importEmailTemplateFromFile, importEmailTemplatesFromFile, importEmailTemplatesFromFiles, importFirstEmailTemplateFromFile } from '../../ops/EmailTemplateOps';
|
|
6
6
|
const {
|
|
7
7
|
getTokens
|
|
8
8
|
} = Authenticate;
|
|
9
|
-
const program = new
|
|
10
|
-
program.description('Import email templates.').
|
|
9
|
+
const program = new FrodoCommand('frodo email template import');
|
|
10
|
+
program.description('Import email templates.').addOption(new Option('-i, --template-id <template-id>', 'Email template id/name. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the import file.')).addOption(new Option('-a, --all', 'Import all email templates from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all email templates from separate files (*.template.email.json) in the current directory. Ignored with -i or -a.')).action(
|
|
11
11
|
// implement program logic inside action handler
|
|
12
|
-
async (host, realm, user, password, options) => {
|
|
13
|
-
|
|
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
|
-
state.default.session.setVerbose(options.verbose);
|
|
20
|
-
state.default.session.setDebug(options.debug);
|
|
21
|
-
state.default.session.setCurlirize(options.curlirize);
|
|
12
|
+
async (host, realm, user, password, options, command) => {
|
|
13
|
+
command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
|
|
22
14
|
// import by id
|
|
23
15
|
if (options.file && options.templateId && (await getTokens())) {
|
|
24
16
|
verboseMessage(`Importing email template "${options.templateId}"...`);
|
|
@@ -43,6 +35,7 @@ async (host, realm, user, password, options) => {
|
|
|
43
35
|
else {
|
|
44
36
|
printMessage('Unrecognized combination of options or no options...', 'error');
|
|
45
37
|
program.help();
|
|
38
|
+
process.exitCode = 1;
|
|
46
39
|
}
|
|
47
40
|
}
|
|
48
41
|
// end program logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-template-import.js","names":["
|
|
1
|
+
{"version":3,"file":"email-template-import.js","names":["FrodoCommand","Option","Authenticate","printMessage","verboseMessage","importEmailTemplateFromFile","importEmailTemplatesFromFile","importEmailTemplatesFromFiles","importFirstEmailTemplateFromFile","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","templateId","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/email/email-template-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport {\n importEmailTemplateFromFile,\n importEmailTemplatesFromFile,\n importEmailTemplatesFromFiles,\n importFirstEmailTemplateFromFile,\n} from '../../ops/EmailTemplateOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo email template import');\n\nprogram\n .description('Import email templates.')\n .addOption(\n new Option(\n '-i, --template-id <template-id>',\n 'Email template id/name. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the import file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Import all email templates from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all email templates from separate files (*.template.email.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .action(\n // implement program logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // import by id\n if (options.file && options.templateId && (await getTokens())) {\n verboseMessage(`Importing email template \"${options.templateId}\"...`);\n importEmailTemplateFromFile(options.templateId, options.file);\n }\n // --all -a\n else if (options.all && options.file && (await getTokens())) {\n verboseMessage(\n `Importing all email templates from a single file (${options.file})...`\n );\n importEmailTemplatesFromFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file && (await getTokens())) {\n verboseMessage(\n 'Importing all email templates from separate files (*.template.email.json) in current directory...'\n );\n importEmailTemplatesFromFiles();\n }\n // import first template from file\n else if (options.file && (await getTokens())) {\n verboseMessage(\n `Importing first email template from file \"${options.file}\"...`\n );\n importFirstEmailTemplateFromFile(options.file);\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end program logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SACEC,2BAA2B,EAC3BC,4BAA4B,EAC5BC,6BAA6B,EAC7BC,gCAAgC,QAC3B,4BAA4B;AAEnC,MAAM;EAAEC;AAAU,CAAC,GAAGP,YAAY;AAElC,MAAMQ,OAAO,GAAG,IAAIV,YAAY,CAAC,6BAA6B,CAAC;AAE/DU,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,SAAS,CACR,IAAIX,MAAM,CACR,iCAAiC,EACjC,8DAA8D,CAC/D,CACF,CACAW,SAAS,CAAC,IAAIX,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEW,SAAS,CACR,IAAIX,MAAM,CACR,WAAW,EACX,+DAA+D,CAChE,CACF,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,oBAAoB,EACpB,yHAAyH,CAC1H,CACF,CACAY,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD;EACA,IAAID,OAAO,CAACG,IAAI,IAAIH,OAAO,CAACI,UAAU,KAAK,MAAMb,SAAS,EAAE,CAAC,EAAE;IAC7DL,cAAc,CAAE,6BAA4Bc,OAAO,CAACI,UAAW,MAAK,CAAC;IACrEjB,2BAA2B,CAACa,OAAO,CAACI,UAAU,EAAEJ,OAAO,CAACG,IAAI,CAAC;EAC/D;EACA;EAAA,KACK,IAAIH,OAAO,CAACK,GAAG,IAAIL,OAAO,CAACG,IAAI,KAAK,MAAMZ,SAAS,EAAE,CAAC,EAAE;IAC3DL,cAAc,CACX,qDAAoDc,OAAO,CAACG,IAAK,MAAK,CACxE;IACDf,4BAA4B,CAACY,OAAO,CAACG,IAAI,CAAC;EAC5C;EACA;EAAA,KACK,IAAIH,OAAO,CAACM,WAAW,IAAI,CAACN,OAAO,CAACG,IAAI,KAAK,MAAMZ,SAAS,EAAE,CAAC,EAAE;IACpEL,cAAc,CACZ,mGAAmG,CACpG;IACDG,6BAA6B,EAAE;EACjC;EACA;EAAA,KACK,IAAIW,OAAO,CAACG,IAAI,KAAK,MAAMZ,SAAS,EAAE,CAAC,EAAE;IAC5CL,cAAc,CACX,6CAA4Cc,OAAO,CAACG,IAAK,MAAK,CAChE;IACDb,gCAAgC,CAACU,OAAO,CAACG,IAAI,CAAC;EAChD;EACA;EAAA,KACK;IACHlB,YAAY,CACV,sDAAsD,EACtD,OAAO,CACR;IACDO,OAAO,CAACe,IAAI,EAAE;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHjB,OAAO,CAACkB,KAAK,EAAE"}
|
|
@@ -1,27 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { FrodoCommand } from '../FrodoCommand';
|
|
2
|
+
import { Option } from 'commander';
|
|
3
|
+
import { Authenticate } from '@rockcarver/frodo-lib';
|
|
4
4
|
import { verboseMessage } from '../../utils/Console.js';
|
|
5
5
|
import { listEmailTemplates } from '../../ops/EmailTemplateOps';
|
|
6
6
|
const {
|
|
7
7
|
getTokens
|
|
8
8
|
} = Authenticate;
|
|
9
|
-
const program = new
|
|
10
|
-
program.description('List email templates.').
|
|
9
|
+
const program = new FrodoCommand('frodo email template list');
|
|
10
|
+
program.description('List email templates.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
|
|
11
11
|
// implement command logic inside action handler
|
|
12
|
-
async (host, realm, user, password, options) => {
|
|
13
|
-
|
|
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
|
-
state.default.session.setVerbose(options.verbose);
|
|
20
|
-
state.default.session.setDebug(options.debug);
|
|
21
|
-
state.default.session.setCurlirize(options.curlirize);
|
|
12
|
+
async (host, realm, user, password, options, command) => {
|
|
13
|
+
command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
|
|
22
14
|
if (await getTokens()) {
|
|
23
15
|
verboseMessage(`Listing email templates ...`);
|
|
24
16
|
listEmailTemplates(options.long);
|
|
17
|
+
} else {
|
|
18
|
+
process.exitCode = 1;
|
|
25
19
|
}
|
|
26
20
|
}
|
|
27
21
|
// end command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-template-list.js","names":["
|
|
1
|
+
{"version":3,"file":"email-template-list.js","names":["FrodoCommand","Option","Authenticate","verboseMessage","listEmailTemplates","getTokens","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","long","process","exitCode","parse"],"sources":["cli/email/email-template-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { listEmailTemplates } from '../../ops/EmailTemplateOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo email template list');\n\nprogram\n .description('List email templates.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(`Listing email templates ...`);\n listEmailTemplates(options.long);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,kBAAkB,QAAQ,4BAA4B;AAE/D,MAAM;EAAEC;AAAU,CAAC,GAAGH,YAAY;AAElC,MAAMI,OAAO,GAAG,IAAIN,YAAY,CAAC,2BAA2B,CAAC;AAE7DM,OAAO,CACJC,WAAW,CAAC,uBAAuB,CAAC,CACpCC,SAAS,CACR,IAAIP,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACQ,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMX,SAAS,EAAE,EAAE;IACrBF,cAAc,CAAE,6BAA4B,CAAC;IAC7CC,kBAAkB,CAACW,OAAO,CAACG,IAAI,CAAC;EAClC,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHd,OAAO,CAACe,KAAK,EAAE"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
const program = new
|
|
3
|
-
program.description('Manage email templates.')
|
|
4
|
-
program.command('list', 'List email templates.')
|
|
5
|
-
program.command('export', 'Export email templates.')
|
|
6
|
-
program.command('import', 'Import email templates.')
|
|
1
|
+
import { FrodoStubCommand } from '../FrodoCommand';
|
|
2
|
+
const program = new FrodoStubCommand('frodo email template');
|
|
3
|
+
program.description('Manage email templates.');
|
|
4
|
+
program.command('list', 'List email templates.');
|
|
5
|
+
program.command('export', 'Export email templates.');
|
|
6
|
+
program.command('import', 'Import email templates.');
|
|
7
7
|
program.parse();
|
|
8
8
|
//# sourceMappingURL=email-template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-template.js","names":["
|
|
1
|
+
{"version":3,"file":"email-template.js","names":["FrodoStubCommand","program","description","command","parse"],"sources":["cli/email/email-template.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\n\nconst program = new FrodoStubCommand('frodo email template');\n\nprogram.description('Manage email templates.');\n\nprogram.command('list', 'List email templates.');\n\nprogram.command('export', 'Export email templates.');\n\nprogram.command('import', 'Import email templates.');\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,OAAO,GAAG,IAAID,gBAAgB,CAAC,sBAAsB,CAAC;AAE5DC,OAAO,CAACC,WAAW,CAAC,yBAAyB,CAAC;AAE9CD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,uBAAuB,CAAC;AAEhDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAC;AAEpDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAC;AAEpDF,OAAO,CAACG,KAAK,EAAE"}
|
package/esm/cli/email/email.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FrodoStubCommand } from '../FrodoCommand';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
5
5
|
export default function setup() {
|
|
6
|
-
const program = new
|
|
6
|
+
const program = new FrodoStubCommand('email').description('Manage email templates and configuration.').executableDir(__dirname);
|
|
7
7
|
program.command('template', 'Manage email templates.').showHelpAfterError();
|
|
8
8
|
program.showHelpAfterError();
|
|
9
9
|
return program;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.js","names":["
|
|
1
|
+
{"version":3,"file":"email.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command","showHelpAfterError"],"sources":["cli/email/email.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\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 FrodoStubCommand('email')\n .description('Manage email templates and configuration.')\n .executableDir(__dirname);\n\n program.command('template', 'Manage email templates.').showHelpAfterError();\n\n program.showHelpAfterError();\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAK,GAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,gBAAgB,CAAC,OAAO,CAAC,CAC1CU,WAAW,CAAC,2CAA2C,CAAC,CACxDC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAACC,kBAAkB,EAAE;EAE3EJ,OAAO,CAACI,kBAAkB,EAAE;EAC5B,OAAOJ,OAAO;AAChB"}
|