@rockcarver/frodo-cli 0.18.2-8 → 0.18.2-9
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 +8 -1
- package/esm/cli/email/email-template-export.js +2 -6
- package/esm/cli/email/email-template-export.js.map +1 -1
- package/esm/cli/email/email-template-import.js +2 -7
- package/esm/cli/email/email-template-import.js.map +1 -1
- package/esm/cli/email/email-template-list.js +2 -4
- package/esm/cli/email/email-template-list.js.map +1 -1
- package/esm/cli/theme/theme-delete.js +3 -7
- package/esm/cli/theme/theme-delete.js.map +1 -1
- package/esm/cli/theme/theme-export.js +2 -7
- package/esm/cli/theme/theme-export.js.map +1 -1
- package/esm/cli/theme/theme-import.js +2 -8
- package/esm/cli/theme/theme-import.js.map +1 -1
- package/esm/cli/theme/theme-list.js +2 -4
- package/esm/cli/theme/theme-list.js.map +1 -1
- package/esm/ops/EmailTemplateOps.js +267 -2
- package/esm/ops/EmailTemplateOps.js.map +1 -1
- package/esm/ops/ThemeOps.js +329 -0
- package/esm/ops/ThemeOps.js.map +1 -1
- package/esm/utils/ExportImportUtils.js +46 -0
- package/esm/utils/ExportImportUtils.js.map +1 -0
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.18.2-9] - 2022-11-22
|
|
11
|
+
|
|
12
|
+
- \#110: Migrate from .frodorc to Connections.json
|
|
13
|
+
- Refactored Email Template and Theme functionality in lib to remove fs operations
|
|
14
|
+
|
|
10
15
|
## [0.18.2-8] - 2022-11-22
|
|
11
16
|
|
|
12
17
|
## [0.18.2-7] - 2022-11-21
|
|
@@ -727,7 +732,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
727
732
|
- Fixed problem with adding connection profiles
|
|
728
733
|
- Miscellaneous bug fixes
|
|
729
734
|
|
|
730
|
-
[Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v0.18.2-
|
|
735
|
+
[Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v0.18.2-9...HEAD
|
|
736
|
+
|
|
737
|
+
[0.18.2-9]: https://github.com/rockcarver/frodo-cli/compare/v0.18.2-8...v0.18.2-9
|
|
731
738
|
|
|
732
739
|
[0.18.2-8]: https://github.com/rockcarver/frodo-cli/compare/v0.18.2-7...v0.18.2-8
|
|
733
740
|
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
|
-
import { Authenticate,
|
|
2
|
+
import { Authenticate, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common.js';
|
|
4
4
|
import { printMessage } from '../../utils/Console.js';
|
|
5
|
+
import { exportEmailTemplateToFile, exportEmailTemplatesToFile, exportEmailTemplatesToFiles } from '../../ops/EmailTemplateOps';
|
|
5
6
|
const {
|
|
6
7
|
getTokens
|
|
7
8
|
} = Authenticate;
|
|
8
|
-
const {
|
|
9
|
-
exportEmailTemplatesToFile,
|
|
10
|
-
exportEmailTemplatesToFiles,
|
|
11
|
-
exportEmailTemplateToFile
|
|
12
|
-
} = EmailTemplate;
|
|
13
9
|
const program = new Command('frodo email template export');
|
|
14
10
|
program.description('Export email templates.').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('-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(
|
|
15
11
|
// implement command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-template-export.js","names":["Command","Option","Authenticate","
|
|
1
|
+
{"version":3,"file":"email-template-export.js","names":["Command","Option","Authenticate","state","common","printMessage","exportEmailTemplateToFile","exportEmailTemplatesToFile","exportEmailTemplatesToFiles","getTokens","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","templateId","getRealm","file","all","allSeparate","help","parse"],"sources":["cli/email/email-template-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\nimport {\n exportEmailTemplateToFile,\n exportEmailTemplatesToFile,\n exportEmailTemplatesToFiles,\n} from '../../ops/EmailTemplateOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo email template export');\n\nprogram\n .description('Export email templates.')\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 '-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) => {\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 id/name\n if (options.templateId) {\n printMessage(\n `Exporting email template \"${\n options.templateId\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n exportEmailTemplateToFile(options.templateId, options.file);\n }\n // --all -a\n else if (options.all) {\n printMessage('Exporting all email templates to a single file...');\n exportEmailTemplatesToFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate) {\n printMessage('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 }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAC1C,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SACEC,yBAAyB,EACzBC,0BAA0B,EAC1BC,2BAA2B,QACtB,4BAA4B;AAEnC,MAAM;EAAEC;AAAU,CAAC,GAAGP,YAAY;AAElC,MAAMQ,OAAO,GAAG,IAAIV,OAAO,CAAC,6BAA6B,CAAC;AAE1DU,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACV,MAAM,CAACW,aAAa,CAAC,CACjCD,WAAW,CAACV,MAAM,CAACY,aAAa,CAAC,CACjCF,WAAW,CAACV,MAAM,CAACa,YAAY,CAAC,CAChCH,WAAW,CAACV,MAAM,CAACc,gBAAgB,CAAC,CACpCC,SAAS,CAACf,MAAM,CAACgB,gBAAgB,CAAC,CAClCD,SAAS,CAACf,MAAM,CAACiB,cAAc,CAAC,CAChCF,SAAS,CACR,IAAIlB,MAAM,CACR,iCAAiC,EACjC,8DAA8D,CAC/D,CACF,CACAkB,SAAS,CACR,IAAIlB,MAAM,CACR,mBAAmB,EACnB,0FAA0F,CAC3F,CACF,CACAkB,SAAS,CACR,IAAIlB,MAAM,CACR,WAAW,EACX,+DAA+D,CAChE,CACF,CACAkB,SAAS,CACR,IAAIlB,MAAM,CACR,oBAAoB,EACpB,0GAA0G,CAC3G,CACF,CACAqB,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9CxB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACC,SAAS,CAACP,IAAI,CAAC;EACrCpB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACE,QAAQ,CAACP,KAAK,CAAC;EACrCrB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACG,WAAW,CAACP,IAAI,CAAC;EACvCtB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACI,WAAW,CAACP,QAAQ,CAAC;EAC3CvB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACK,iBAAiB,CAACP,OAAO,CAACQ,IAAI,CAAC;EACrDhC,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACO,0BAA0B,CAACT,OAAO,CAACU,QAAQ,CAAC;EAClE,IAAI,MAAM5B,SAAS,EAAE,EAAE;IACrB;IACA,IAAIkB,OAAO,CAACW,UAAU,EAAE;MACtBjC,YAAY,CACT,6BACCsB,OAAO,CAACW,UACT,iBAAgBnC,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACU,QAAQ,EAAG,MAAK,CACxD;MACDjC,yBAAyB,CAACqB,OAAO,CAACW,UAAU,EAAEX,OAAO,CAACa,IAAI,CAAC;IAC7D;IACA;IAAA,KACK,IAAIb,OAAO,CAACc,GAAG,EAAE;MACpBpC,YAAY,CAAC,mDAAmD,CAAC;MACjEE,0BAA0B,CAACoB,OAAO,CAACa,IAAI,CAAC;IAC1C;IACA;IAAA,KACK,IAAIb,OAAO,CAACe,WAAW,EAAE;MAC5BrC,YAAY,CAAC,oDAAoD,CAAC;MAClEG,2BAA2B,EAAE;IAC/B;IACA;IAAA,KACK;MACHH,YAAY,CACV,sDAAsD,EACtD,OAAO,CACR;MACDK,OAAO,CAACiC,IAAI,EAAE;IAChB;EACF;AACF;AACA;AAAA,CACD;;AAEHjC,OAAO,CAACkC,KAAK,EAAE"}
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
|
-
import { Authenticate,
|
|
2
|
+
import { Authenticate, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common.js';
|
|
4
4
|
import { printMessage } from '../../utils/Console.js';
|
|
5
|
+
import { importEmailTemplateFromFile, importEmailTemplatesFromFile, importEmailTemplatesFromFiles, importFirstEmailTemplateFromFile } from '../../ops/EmailTemplateOps';
|
|
5
6
|
const {
|
|
6
7
|
getTokens
|
|
7
8
|
} = Authenticate;
|
|
8
|
-
const {
|
|
9
|
-
importEmailTemplateFromFile,
|
|
10
|
-
importEmailTemplatesFromFile,
|
|
11
|
-
importEmailTemplatesFromFiles,
|
|
12
|
-
importFirstEmailTemplateFromFile
|
|
13
|
-
} = EmailTemplate;
|
|
14
9
|
const program = new Command('frodo email template import');
|
|
15
10
|
program.description('Import email templates.').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('-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(
|
|
16
11
|
// implement program logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-template-import.js","names":["Command","Option","Authenticate","
|
|
1
|
+
{"version":3,"file":"email-template-import.js","names":["Command","Option","Authenticate","state","common","printMessage","importEmailTemplateFromFile","importEmailTemplatesFromFile","importEmailTemplatesFromFiles","importFirstEmailTemplateFromFile","getTokens","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","templateId","all","allSeparate","help","parse"],"sources":["cli/email/email-template-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } 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 Command('frodo email template import');\n\nprogram\n .description('Import email templates.')\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 '-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) => {\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 id\n if (options.file && options.templateId) {\n printMessage(`Importing email template \"${options.templateId}\"...`);\n importEmailTemplateFromFile(options.templateId, options.file);\n }\n // --all -a\n else if (options.all && options.file) {\n printMessage(\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) {\n printMessage(\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) {\n printMessage(\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('Unrecognized combination of options or no options...');\n program.help();\n }\n }\n }\n // end program logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
|
-
import { Authenticate,
|
|
2
|
+
import { Authenticate, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common.js';
|
|
4
4
|
import { printMessage } from '../../utils/Console.js';
|
|
5
|
+
import { listEmailTemplates } from '../../ops/EmailTemplateOps';
|
|
5
6
|
const {
|
|
6
7
|
getTokens
|
|
7
8
|
} = Authenticate;
|
|
8
|
-
const {
|
|
9
|
-
listEmailTemplates
|
|
10
|
-
} = EmailTemplate;
|
|
11
9
|
const program = new Command('frodo email template list');
|
|
12
10
|
program.description('List email templates.').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 all fields.').default(false, 'false')).action(
|
|
13
11
|
// implement command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-template-list.js","names":["Command","Option","Authenticate","
|
|
1
|
+
{"version":3,"file":"email-template-list.js","names":["Command","Option","Authenticate","state","common","printMessage","listEmailTemplates","getTokens","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","long","parse"],"sources":["cli/email/email-template-list.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\nimport { listEmailTemplates } from '../../ops/EmailTemplateOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo email template list');\n\nprogram\n .description('List email templates.')\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 all 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 printMessage(`Listing email templates ...`);\n listEmailTemplates(options.long);\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAC1C,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,kBAAkB,QAAQ,4BAA4B;AAE/D,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAElC,MAAMM,OAAO,GAAG,IAAIR,OAAO,CAAC,2BAA2B,CAAC;AAExDQ,OAAO,CACJC,WAAW,CAAC,uBAAuB,CAAC,CACpCC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACR,MAAM,CAACS,aAAa,CAAC,CACjCD,WAAW,CAACR,MAAM,CAACU,aAAa,CAAC,CACjCF,WAAW,CAACR,MAAM,CAACW,YAAY,CAAC,CAChCH,WAAW,CAACR,MAAM,CAACY,gBAAgB,CAAC,CACpCC,SAAS,CAACb,MAAM,CAACc,gBAAgB,CAAC,CAClCD,SAAS,CAACb,MAAM,CAACe,cAAc,CAAC,CAChCF,SAAS,CACR,IAAIhB,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACmB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9CvB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACC,SAAS,CAACN,IAAI,CAAC;EACrCnB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACE,QAAQ,CAACN,KAAK,CAAC;EACrCpB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACG,WAAW,CAACN,IAAI,CAAC;EACvCrB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACI,WAAW,CAACN,QAAQ,CAAC;EAC3CtB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACK,iBAAiB,CAACN,OAAO,CAACO,IAAI,CAAC;EACrD9B,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACO,0BAA0B,CAACR,OAAO,CAACS,QAAQ,CAAC;EAClE,IAAI,MAAM5B,SAAS,EAAE,EAAE;IACrBF,YAAY,CAAE,6BAA4B,CAAC;IAC3CC,kBAAkB,CAACoB,OAAO,CAACU,IAAI,CAAC;EAClC;AACF;AACA;AAAA,CACD;;AAEH5B,OAAO,CAAC6B,KAAK,EAAE"}
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
|
-
import { Authenticate,
|
|
2
|
+
import { Authenticate, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common';
|
|
4
4
|
import { printMessage } from '../../utils/Console';
|
|
5
|
+
import { deleteThemeByNameCmd, deleteThemeCmd, deleteAllThemes } from '../../ops/ThemeOps';
|
|
5
6
|
const {
|
|
6
7
|
getTokens
|
|
7
8
|
} = Authenticate;
|
|
8
|
-
const {
|
|
9
|
-
deleteThemeByNameCmd,
|
|
10
|
-
deleteThemeCmd,
|
|
11
|
-
deleteThemesCmd
|
|
12
|
-
} = Theme;
|
|
13
9
|
const program = new Command('frodo theme delete');
|
|
14
10
|
program.description('Delete 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(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).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('-a, --all', 'Delete all the themes in the realm. Ignored with -n and -i.')).action(
|
|
15
11
|
// implement command logic inside action handler
|
|
@@ -36,7 +32,7 @@ async (host, realm, user, password, options) => {
|
|
|
36
32
|
// --all -a
|
|
37
33
|
else if (options.all && (await getTokens())) {
|
|
38
34
|
printMessage(`Deleting all themes from realm "${state.default.session.getRealm()}"...`);
|
|
39
|
-
|
|
35
|
+
deleteAllThemes();
|
|
40
36
|
}
|
|
41
37
|
// unrecognized combination of options or no options
|
|
42
38
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-delete.js","names":["Command","Option","Authenticate","
|
|
1
|
+
{"version":3,"file":"theme-delete.js","names":["Command","Option","Authenticate","state","common","printMessage","deleteThemeByNameCmd","deleteThemeCmd","deleteAllThemes","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","themeName","getRealm","themeId","all","help","parse"],"sources":["cli/theme/theme-delete.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\nimport {\n deleteThemeByNameCmd,\n deleteThemeCmd,\n deleteAllThemes,\n} from '../../ops/ThemeOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo theme delete');\n\nprogram\n .description('Delete 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(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\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 '-a, --all',\n 'Delete all the themes in the realm. Ignored with -n and -i.'\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 state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n // delete by name\n if (options.themeName && (await getTokens())) {\n printMessage(\n `Deleting theme with name \"${\n options.themeName\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n deleteThemeByNameCmd(options.themeName);\n }\n // delete by id\n else if (options.themeId && (await getTokens())) {\n printMessage(\n `Deleting theme with id \"${\n options.themeId\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n deleteThemeCmd(options.themeId);\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n printMessage(\n `Deleting all themes from realm \"${state.default.session.getRealm()}\"...`\n );\n deleteAllThemes();\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SACEC,oBAAoB,EACpBC,cAAc,EACdC,eAAe,QACV,oBAAoB;AAE3B,MAAM;EAAEC;AAAU,CAAC,GAAGP,YAAY;AAElC,MAAMQ,OAAO,GAAG,IAAIV,OAAO,CAAC,oBAAoB,CAAC;AAEjDU,OAAO,CACJC,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACV,MAAM,CAACW,aAAa,CAAC,CACjCD,WAAW,CAACV,MAAM,CAACY,aAAa,CAAC,CACjCF,WAAW,CAACV,MAAM,CAACa,YAAY,CAAC,CAChCH,WAAW,CAACV,MAAM,CAACc,gBAAgB,CAAC,CACpCC,SAAS,CAACf,MAAM,CAACgB,gBAAgB,CAAC,CAClCD,SAAS,CAACf,MAAM,CAACiB,cAAc,CAAC,CAChCF,SAAS,CAACf,MAAM,CAACkB,aAAa,CAAC,CAC/BH,SAAS,CAACf,MAAM,CAACmB,WAAW,CAAC,CAC7BJ,SAAS,CAACf,MAAM,CAACoB,eAAe,CAAC,CACjCL,SAAS,CACR,IAAIlB,MAAM,CACR,yBAAyB,EACzB,yDAAyD,CAC1D,CACF,CACAkB,SAAS,CACR,IAAIlB,MAAM,CACR,uBAAuB,EACvB,yDAAyD,CAC1D,CACF,CACAkB,SAAS,CACR,IAAIlB,MAAM,CACR,WAAW,EACX,6DAA6D,CAC9D,CACF,CACAwB,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9C3B,KAAK,CAAC4B,OAAO,CAACC,OAAO,CAACC,SAAS,CAACP,IAAI,CAAC;EACrCvB,KAAK,CAAC4B,OAAO,CAACC,OAAO,CAACE,QAAQ,CAACP,KAAK,CAAC;EACrCxB,KAAK,CAAC4B,OAAO,CAACC,OAAO,CAACG,WAAW,CAACP,IAAI,CAAC;EACvCzB,KAAK,CAAC4B,OAAO,CAACC,OAAO,CAACI,WAAW,CAACP,QAAQ,CAAC;EAC3C1B,KAAK,CAAC4B,OAAO,CAACC,OAAO,CAACK,iBAAiB,CAACP,OAAO,CAACQ,IAAI,CAAC;EACrDnC,KAAK,CAAC4B,OAAO,CAACC,OAAO,CAACO,0BAA0B,CAACT,OAAO,CAACU,QAAQ,CAAC;EAClErC,KAAK,CAAC4B,OAAO,CAACC,OAAO,CAACS,UAAU,CAACX,OAAO,CAACY,OAAO,CAAC;EACjDvC,KAAK,CAAC4B,OAAO,CAACC,OAAO,CAACW,QAAQ,CAACb,OAAO,CAACc,KAAK,CAAC;EAC7CzC,KAAK,CAAC4B,OAAO,CAACC,OAAO,CAACa,YAAY,CAACf,OAAO,CAACgB,SAAS,CAAC;EACrD;EACA,IAAIhB,OAAO,CAACiB,SAAS,KAAK,MAAMtC,SAAS,EAAE,CAAC,EAAE;IAC5CJ,YAAY,CACT,6BACCyB,OAAO,CAACiB,SACT,iBAAgB5C,KAAK,CAAC4B,OAAO,CAACC,OAAO,CAACgB,QAAQ,EAAG,MAAK,CACxD;IACD1C,oBAAoB,CAACwB,OAAO,CAACiB,SAAS,CAAC;EACzC;EACA;EAAA,KACK,IAAIjB,OAAO,CAACmB,OAAO,KAAK,MAAMxC,SAAS,EAAE,CAAC,EAAE;IAC/CJ,YAAY,CACT,2BACCyB,OAAO,CAACmB,OACT,iBAAgB9C,KAAK,CAAC4B,OAAO,CAACC,OAAO,CAACgB,QAAQ,EAAG,MAAK,CACxD;IACDzC,cAAc,CAACuB,OAAO,CAACmB,OAAO,CAAC;EACjC;EACA;EAAA,KACK,IAAInB,OAAO,CAACoB,GAAG,KAAK,MAAMzC,SAAS,EAAE,CAAC,EAAE;IAC3CJ,YAAY,CACT,mCAAkCF,KAAK,CAAC4B,OAAO,CAACC,OAAO,CAACgB,QAAQ,EAAG,MAAK,CAC1E;IACDxC,eAAe,EAAE;EACnB;EACA;EAAA,KACK;IACHH,YAAY,CAAC,sDAAsD,CAAC;IACpEK,OAAO,CAACyC,IAAI,EAAE;EAChB;AACF;AACA;AAAA,CACD;;AAEHzC,OAAO,CAAC0C,KAAK,EAAE"}
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
|
-
import { Authenticate,
|
|
2
|
+
import { Authenticate, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common';
|
|
4
4
|
import { printMessage } from '../../utils/Console';
|
|
5
|
+
import { exportThemeById, exportThemeByName, exportThemesToFile, exportThemesToFiles } from '../../ops/ThemeOps';
|
|
5
6
|
const {
|
|
6
7
|
getTokens
|
|
7
8
|
} = Authenticate;
|
|
8
|
-
const {
|
|
9
|
-
exportThemeById,
|
|
10
|
-
exportThemeByName,
|
|
11
|
-
exportThemesToFile,
|
|
12
|
-
exportThemesToFiles
|
|
13
|
-
} = Theme;
|
|
14
9
|
const program = new Command('frodo theme export');
|
|
15
10
|
program.description('Export 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(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).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 write the exported theme(s) to. Ignored with -A.')).addOption(new Option('-a, --all', 'Export all the themes in a realm to a single file. Ignored with -n and -i.')).addOption(new Option('-A, --all-separate', 'Export all the themes in a realm as separate files <theme name>.theme.json. Ignored with -n, -i, and -a.')).action(
|
|
16
11
|
// implement command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-export.js","names":["Command","Option","Authenticate","
|
|
1
|
+
{"version":3,"file":"theme-export.js","names":["Command","Option","Authenticate","state","common","printMessage","exportThemeById","exportThemeByName","exportThemesToFile","exportThemesToFiles","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","themeName","getRealm","file","themeId","all","allSeparate","help","parse"],"sources":["cli/theme/theme-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\nimport {\n exportThemeById,\n exportThemeByName,\n exportThemesToFile,\n exportThemesToFiles,\n} from '../../ops/ThemeOps';\n\nconst { getTokens } = Authenticate;\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(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\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 state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n // export by name\n if (options.themeName && (await getTokens())) {\n printMessage(\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 && (await getTokens())) {\n printMessage(\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 && (await getTokens())) {\n printMessage('Exporting all themes to a single file...');\n exportThemesToFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && (await getTokens())) {\n printMessage('Exporting all themes to separate files...');\n exportThemesToFiles();\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 }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
2
|
import * as common from '../cmd_common';
|
|
3
|
-
import { Authenticate,
|
|
3
|
+
import { Authenticate, state } from '@rockcarver/frodo-lib';
|
|
4
4
|
import { printMessage } from '../../utils/Console';
|
|
5
|
+
import { importFirstThemeFromFile, importThemeById, importThemeByName, importThemesFromFile, importThemesFromFiles } from '../../ops/ThemeOps';
|
|
5
6
|
const {
|
|
6
7
|
getTokens
|
|
7
8
|
} = Authenticate;
|
|
8
|
-
const {
|
|
9
|
-
importFirstThemeFromFile,
|
|
10
|
-
importThemeById,
|
|
11
|
-
importThemeByName,
|
|
12
|
-
importThemesFromFile,
|
|
13
|
-
importThemesFromFiles
|
|
14
|
-
} = Theme;
|
|
15
9
|
const program = new Command('frodo theme import');
|
|
16
10
|
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(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).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(
|
|
17
11
|
// implement command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-import.js","names":["Command","Option","common","Authenticate","
|
|
1
|
+
{"version":3,"file":"theme-import.js","names":["Command","Option","common","Authenticate","state","printMessage","importFirstThemeFromFile","importThemeById","importThemeByName","importThemesFromFile","importThemesFromFiles","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","file","themeName","getRealm","themeId","all","allSeparate","help","parse"],"sources":["cli/theme/theme-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport * as common from '../cmd_common';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { printMessage } from '../../utils/Console';\nimport {\n importFirstThemeFromFile,\n importThemeById,\n importThemeByName,\n importThemesFromFile,\n importThemesFromFiles,\n} from '../../ops/ThemeOps';\n\nconst { getTokens } = Authenticate;\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(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\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 state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n // import by name\n if (options.file && options.themeName && (await getTokens())) {\n printMessage(\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 && (await getTokens())) {\n printMessage(\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 && (await getTokens())) {\n printMessage(\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 && (await getTokens())) {\n printMessage(\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 && (await getTokens())) {\n printMessage(\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 printMessage('Unrecognized combination of options or no options...');\n program.help();\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
|
-
import { Authenticate,
|
|
2
|
+
import { Authenticate, state } from '@rockcarver/frodo-lib';
|
|
3
|
+
import { listThemes } from '../../ops/ThemeOps';
|
|
3
4
|
import * as common from '../cmd_common';
|
|
4
5
|
import { printMessage } from '../../utils/Console';
|
|
5
6
|
const {
|
|
6
7
|
getTokens
|
|
7
8
|
} = Authenticate;
|
|
8
|
-
const {
|
|
9
|
-
listThemes
|
|
10
|
-
} = Theme;
|
|
11
9
|
const program = new Command('frodo theme list');
|
|
12
10
|
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(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).addOption(new Option('-l, --long', 'Long with more fields.').default(false, 'false')).action(
|
|
13
11
|
// implement command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-list.js","names":["Command","Option","Authenticate","
|
|
1
|
+
{"version":3,"file":"theme-list.js","names":["Command","Option","Authenticate","state","listThemes","common","printMessage","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","getRealm","long","parse"],"sources":["cli/theme/theme-list.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { listThemes } from '../../ops/ThemeOps';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\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(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\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 state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n if (await getTokens()) {\n printMessage(\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,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,YAAY,QAAQ,qBAAqB;AAElD,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAElC,MAAMM,OAAO,GAAG,IAAIR,OAAO,CAAC,kBAAkB,CAAC;AAE/CQ,OAAO,CACJC,WAAW,CAAC,cAAc,CAAC,CAC3BC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACP,MAAM,CAACQ,aAAa,CAAC,CACjCD,WAAW,CAACP,MAAM,CAACS,aAAa,CAAC,CACjCF,WAAW,CAACP,MAAM,CAACU,YAAY,CAAC,CAChCH,WAAW,CAACP,MAAM,CAACW,gBAAgB,CAAC,CACpCC,SAAS,CAACZ,MAAM,CAACa,gBAAgB,CAAC,CAClCD,SAAS,CAACZ,MAAM,CAACc,cAAc,CAAC,CAChCF,SAAS,CAACZ,MAAM,CAACe,aAAa,CAAC,CAC/BH,SAAS,CAACZ,MAAM,CAACgB,WAAW,CAAC,CAC7BJ,SAAS,CAACZ,MAAM,CAACiB,eAAe,CAAC,CACjCL,SAAS,CACR,IAAIhB,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAACsB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC3E,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9C1B,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACC,SAAS,CAACN,IAAI,CAAC;EACrCtB,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACE,QAAQ,CAACN,KAAK,CAAC;EACrCvB,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACG,WAAW,CAACN,IAAI,CAAC;EACvCxB,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACI,WAAW,CAACN,QAAQ,CAAC;EAC3CzB,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACK,iBAAiB,CAACN,OAAO,CAACO,IAAI,CAAC;EACrDjC,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACO,0BAA0B,CAACR,OAAO,CAACS,QAAQ,CAAC;EAClEnC,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACS,UAAU,CAACV,OAAO,CAACW,OAAO,CAAC;EACjDrC,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACW,QAAQ,CAACZ,OAAO,CAACa,KAAK,CAAC;EAC7CvC,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACa,YAAY,CAACd,OAAO,CAACe,SAAS,CAAC;EACrD,IAAI,MAAMrC,SAAS,EAAE,EAAE;IACrBD,YAAY,CACT,4BAA2BH,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACe,QAAQ,EAAG,MAAK,CACnE;IACDzC,UAAU,CAACyB,OAAO,CAACiB,IAAI,CAAC;EAC1B;AACF;AACA;AAAA,CACD;;AAEHtC,OAAO,CAACuC,KAAK,EAAE"}
|