contensis-cli 1.0.0-beta.8 → 1.0.0-beta.81

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.
Files changed (81) hide show
  1. package/README.md +1146 -78
  2. package/dist/commands/connect.js +3 -3
  3. package/dist/commands/connect.js.map +2 -2
  4. package/dist/commands/create.js +45 -10
  5. package/dist/commands/create.js.map +2 -2
  6. package/dist/commands/diff.js +57 -0
  7. package/dist/commands/diff.js.map +7 -0
  8. package/dist/commands/execute.js +103 -0
  9. package/dist/commands/execute.js.map +7 -0
  10. package/dist/commands/get.js +107 -18
  11. package/dist/commands/get.js.map +2 -2
  12. package/dist/commands/globalOptions.js +22 -17
  13. package/dist/commands/globalOptions.js.map +2 -2
  14. package/dist/commands/import.js +46 -11
  15. package/dist/commands/import.js.map +2 -2
  16. package/dist/commands/index.js +16 -2
  17. package/dist/commands/index.js.map +2 -2
  18. package/dist/commands/list.js +53 -10
  19. package/dist/commands/list.js.map +2 -2
  20. package/dist/commands/login.js +3 -3
  21. package/dist/commands/login.js.map +2 -2
  22. package/dist/commands/push.js +9 -5
  23. package/dist/commands/push.js.map +2 -2
  24. package/dist/commands/remove.js +51 -8
  25. package/dist/commands/remove.js.map +2 -2
  26. package/dist/commands/set.js +139 -12
  27. package/dist/commands/set.js.map +2 -2
  28. package/dist/index.js +1 -1
  29. package/dist/index.js.map +2 -2
  30. package/dist/localisation/en-GB.js +193 -49
  31. package/dist/localisation/en-GB.js.map +2 -2
  32. package/dist/providers/CredentialProvider.js +36 -7
  33. package/dist/providers/CredentialProvider.js.map +3 -3
  34. package/dist/providers/SessionCacheProvider.js +21 -1
  35. package/dist/providers/SessionCacheProvider.js.map +2 -2
  36. package/dist/providers/file-provider.js +8 -4
  37. package/dist/providers/file-provider.js.map +3 -3
  38. package/dist/services/ContensisCliService.js +1092 -410
  39. package/dist/services/ContensisCliService.js.map +3 -3
  40. package/dist/shell.js +48 -14
  41. package/dist/shell.js.map +3 -3
  42. package/dist/util/console.printer.js +171 -55
  43. package/dist/util/console.printer.js.map +2 -2
  44. package/dist/util/diff.js +39 -0
  45. package/dist/util/diff.js.map +7 -0
  46. package/dist/util/index.js +8 -2
  47. package/dist/util/index.js.map +3 -3
  48. package/dist/util/logger.js +61 -29
  49. package/dist/util/logger.js.map +3 -3
  50. package/dist/util/timers.js +49 -0
  51. package/dist/util/timers.js.map +7 -0
  52. package/dist/version.js +1 -1
  53. package/dist/version.js.map +1 -1
  54. package/esbuild.config.js +3 -1
  55. package/package.json +2 -2
  56. package/src/commands/connect.ts +3 -2
  57. package/src/commands/create.ts +61 -8
  58. package/src/commands/diff.ts +41 -0
  59. package/src/commands/execute.ts +117 -0
  60. package/src/commands/get.ts +150 -14
  61. package/src/commands/globalOptions.ts +18 -17
  62. package/src/commands/import.ts +57 -7
  63. package/src/commands/index.ts +16 -1
  64. package/src/commands/list.ts +85 -11
  65. package/src/commands/login.ts +3 -2
  66. package/src/commands/push.ts +10 -3
  67. package/src/commands/remove.ts +66 -4
  68. package/src/commands/set.ts +189 -9
  69. package/src/index.ts +1 -4
  70. package/src/localisation/en-GB.ts +269 -66
  71. package/src/providers/CredentialProvider.ts +39 -6
  72. package/src/providers/SessionCacheProvider.ts +29 -2
  73. package/src/providers/file-provider.ts +12 -4
  74. package/src/services/ContensisCliService.ts +1384 -484
  75. package/src/shell.ts +52 -15
  76. package/src/util/console.printer.ts +240 -78
  77. package/src/util/diff.ts +17 -0
  78. package/src/util/index.ts +16 -7
  79. package/src/util/logger.ts +111 -31
  80. package/src/util/timers.ts +24 -0
  81. package/src/version.ts +1 -1
@@ -26,14 +26,14 @@ var import_ContensisCliService = require("../services/ContensisCliService");
26
26
  var import_shell = require("../shell");
27
27
  var import_globalOptions = require("./globalOptions");
28
28
  const makeConnectCommand = () => {
29
- const connect = new import_commander.Command().command("connect").argument("<alias>", "the Contensis Cloud alias to connect with").addOption(import_globalOptions.project).usage("<alias>").addHelpText(
29
+ const connect = new import_commander.Command().command("connect").description("connect to a Contensis instance").argument("<alias>", "the Contensis Cloud alias to connect with").addOption(import_globalOptions.project).usage("<alias>").addHelpText(
30
30
  "after",
31
31
  `
32
32
  Example call:
33
33
  > connect example-dev`
34
34
  ).action(async (alias, opts) => {
35
- await (0, import_ContensisCliService.cliCommand)(["connect", alias], opts).Connect(alias);
36
- await (0, import_shell.shell)().start();
35
+ await (0, import_ContensisCliService.cliCommand)(["connect", alias], { ...opts, alias }).Connect(alias);
36
+ await (0, import_shell.shell)().restart();
37
37
  });
38
38
  return connect;
39
39
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/commands/connect.ts"],
4
- "sourcesContent": ["import { Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { shell } from '~/shell';\nimport { project } from './globalOptions';\n\nexport const makeConnectCommand = () => {\n const connect = new Command()\n .command('connect')\n .argument('<alias>', 'the Contensis Cloud alias to connect with')\n .addOption(project)\n .usage('<alias>')\n .addHelpText(\n 'after',\n `\nExample call:\n > connect example-dev`\n )\n .action(async (alias, opts) => {\n await cliCommand(['connect', alias], opts).Connect(alias);\n await shell().start();\n });\n return connect;\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,iCAA2B;AAC3B,mBAAsB;AACtB,2BAAwB;AAEjB,MAAM,qBAAqB,MAAM;AACtC,QAAM,UAAU,IAAI,yBAAQ,EACzB,QAAQ,SAAS,EACjB,SAAS,WAAW,2CAA2C,EAC/D,UAAU,4BAAO,EACjB,MAAM,SAAS,EACf;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA,EAGF,EACC,OAAO,OAAO,OAAO,SAAS;AAC7B,cAAM,uCAAW,CAAC,WAAW,KAAK,GAAG,IAAI,EAAE,QAAQ,KAAK;AACxD,cAAM,oBAAM,EAAE,MAAM;AAAA,EACtB,CAAC;AACH,SAAO;AACT;",
4
+ "sourcesContent": ["import { Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { shell } from '~/shell';\nimport { project } from './globalOptions';\n\nexport const makeConnectCommand = () => {\n const connect = new Command()\n .command('connect')\n .description('connect to a Contensis instance')\n .argument('<alias>', 'the Contensis Cloud alias to connect with')\n .addOption(project)\n .usage('<alias>')\n .addHelpText(\n 'after',\n `\nExample call:\n > connect example-dev`\n )\n .action(async (alias, opts) => {\n await cliCommand(['connect', alias], { ...opts, alias }).Connect(alias);\n await shell().restart();\n });\n return connect;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,iCAA2B;AAC3B,mBAAsB;AACtB,2BAAwB;AAEjB,MAAM,qBAAqB,MAAM;AACtC,QAAM,UAAU,IAAI,yBAAQ,EACzB,QAAQ,SAAS,EACjB,YAAY,iCAAiC,EAC7C,SAAS,WAAW,2CAA2C,EAC/D,UAAU,4BAAO,EACjB,MAAM,SAAS,EACf;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA,EAGF,EACC,OAAO,OAAO,OAAO,SAAS;AAC7B,cAAM,uCAAW,CAAC,WAAW,KAAK,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE,QAAQ,KAAK;AACtE,cAAM,oBAAM,EAAE,QAAQ;AAAA,EACxB,CAAC;AACH,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -25,16 +25,36 @@ var import_commander = require("commander");
25
25
  var import_ContensisCliService = require("../services/ContensisCliService");
26
26
  var import_shell = require("../shell");
27
27
  const makeCreateCommand = () => {
28
- const create = new import_commander.Command().command("create").showHelpAfterError(true).exitOverride();
29
- create.command("project").argument("<projectId>", "the id of the project to create").usage("<projectId>").action(async (projectId, opts) => {
30
- const project = await (0, import_ContensisCliService.cliCommand)(
31
- ["create", "project", projectId],
32
- opts
33
- ).SetProject(projectId);
34
- if (project)
35
- await (0, import_shell.shell)().start();
36
- });
37
- create.command("key").argument('<"key name">', "the name of the key to create").argument('["description"]', "provide a description for the key (optional)").usage('<"key name"> ["description"] (both args in "double quotes")').addHelpText(
28
+ const create = new import_commander.Command().command("create").description("create command").addHelpText("after", `
29
+ `).showHelpAfterError(true).exitOverride();
30
+ create.command("project").description("create a new project").argument("<projectId>", "the id of the project to create").argument("<name>", "the name of the project to create").argument("[description]", "optional description of the project").option(
31
+ "-l, --language",
32
+ "the default language of the project to create",
33
+ "en-GB"
34
+ ).option(
35
+ "-langs, --supported-languages <langs...>",
36
+ "space separated list of other supported languages"
37
+ ).usage(
38
+ 'projectId "Project name" ["Description of project"] --language en-GB --supported-languages es-ES de-DE nl-NL'
39
+ ).addHelpText("after", `
40
+ `).action(
41
+ async (projectId, name, description = "", opts) => {
42
+ const createProject = {
43
+ id: projectId,
44
+ name,
45
+ description,
46
+ primaryLanguage: opts.language,
47
+ supportedLanguages: opts.supportedLanguages || []
48
+ };
49
+ const project = await (0, import_ContensisCliService.cliCommand)(
50
+ ["create", "project", projectId],
51
+ opts
52
+ ).CreateProject(createProject);
53
+ if (project)
54
+ await (0, import_shell.shell)().restart();
55
+ }
56
+ );
57
+ create.command("key").description("create a new api key").argument('<"key name">', "the name of the key to create").argument('["description"]', "provide a description for the key (optional)").usage('<"key name"> ["description"] (both args in "double quotes")').addHelpText(
38
58
  "after",
39
59
  `
40
60
  Example call:
@@ -46,6 +66,21 @@ Example call:
46
66
  description
47
67
  );
48
68
  });
69
+ create.command("role").description("create a new role").argument('<"Role name">', "the name of the role to create").argument('["Role description">', "the description of the role").option("--disabled", "do not enable the created role", false).addHelpText(
70
+ "after",
71
+ `
72
+ Example call:
73
+ > create role "My role" "This role is for testing" --disabled
74
+ `
75
+ ).action(async (roleName, description, opts) => {
76
+ await (0, import_ContensisCliService.cliCommand)(["create", "role", roleName], opts).CreateRole({
77
+ name: roleName,
78
+ description,
79
+ enabled: !opts.disabled,
80
+ assignments: { apiKeys: [], groups: [], users: [] },
81
+ permissions: { contentTypes: [], entries: [] }
82
+ });
83
+ });
49
84
  return create;
50
85
  };
51
86
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/commands/create.ts"],
4
- "sourcesContent": ["import { Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { shell } from '~/shell';\n\nexport const makeCreateCommand = () => {\n const create = new Command()\n .command('create')\n .showHelpAfterError(true)\n .exitOverride();\n\n create\n .command('project')\n .argument('<projectId>', 'the id of the project to create')\n .usage('<projectId>')\n .action(async (projectId: string, opts: any) => {\n const project = await cliCommand(\n ['create', 'project', projectId],\n opts\n ).SetProject(projectId);\n if (project) await shell().start();\n });\n create\n .command('key')\n .argument('<\"key name\">', 'the name of the key to create')\n .argument('[\"description\"]', 'provide a description for the key (optional)')\n .usage('<\"key name\"> [\"description\"] (both args in \"double quotes\")')\n .addHelpText(\n 'after',\n `\nExample call:\n > create key \"my new key\" \"Created key for demonstration\"\\n`\n )\n .action(async (name: string, description: string, opts: any) => {\n await cliCommand(['create', 'key', name], opts).CreateApiKey(\n name,\n description\n );\n });\n\n return create;\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,iCAA2B;AAC3B,mBAAsB;AAEf,MAAM,oBAAoB,MAAM;AACrC,QAAM,SAAS,IAAI,yBAAQ,EACxB,QAAQ,QAAQ,EAChB,mBAAmB,IAAI,EACvB,aAAa;AAEhB,SACG,QAAQ,SAAS,EACjB,SAAS,eAAe,iCAAiC,EACzD,MAAM,aAAa,EACnB,OAAO,OAAO,WAAmB,SAAc;AAC9C,UAAM,UAAU,UAAM;AAAA,MACpB,CAAC,UAAU,WAAW,SAAS;AAAA,MAC/B;AAAA,IACF,EAAE,WAAW,SAAS;AACtB,QAAI;AAAS,gBAAM,oBAAM,EAAE,MAAM;AAAA,EACnC,CAAC;AACH,SACG,QAAQ,KAAK,EACb,SAAS,gBAAgB,+BAA+B,EACxD,SAAS,mBAAmB,8CAA8C,EAC1E,MAAM,6DAA6D,EACnE;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,EAGF,EACC,OAAO,OAAO,MAAc,aAAqB,SAAc;AAC9D,cAAM,uCAAW,CAAC,UAAU,OAAO,IAAI,GAAG,IAAI,EAAE;AAAA,MAC9C;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AAEH,SAAO;AACT;",
4
+ "sourcesContent": ["import { Command } from 'commander';\nimport { Project } from 'contensis-core-api';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { shell } from '~/shell';\nimport { isUuid } from '~/util';\n\nexport const makeCreateCommand = () => {\n const create = new Command()\n .command('create')\n .description('create command')\n .addHelpText('after', `\\n`)\n .showHelpAfterError(true)\n .exitOverride();\n\n create\n .command('project')\n .description('create a new project')\n .argument('<projectId>', 'the id of the project to create')\n .argument('<name>', 'the name of the project to create')\n .argument('[description]', 'optional description of the project')\n .option(\n '-l, --language',\n 'the default language of the project to create',\n 'en-GB'\n )\n .option(\n '-langs, --supported-languages <langs...>',\n 'space separated list of other supported languages'\n )\n .usage(\n 'projectId \"Project name\" [\"Description of project\"] --language en-GB --supported-languages es-ES de-DE nl-NL'\n )\n .addHelpText('after', `\\n`)\n .action(\n async (projectId: string, name: string, description = '', opts: any) => {\n const createProject: Project = {\n id: projectId,\n name,\n description,\n primaryLanguage: opts.language,\n supportedLanguages: opts.supportedLanguages || [],\n };\n\n const project = await cliCommand(\n ['create', 'project', projectId],\n opts\n ).CreateProject(createProject);\n if (project) await shell().restart();\n }\n );\n\n create\n .command('key')\n .description('create a new api key')\n .argument('<\"key name\">', 'the name of the key to create')\n .argument('[\"description\"]', 'provide a description for the key (optional)')\n .usage('<\"key name\"> [\"description\"] (both args in \"double quotes\")')\n .addHelpText(\n 'after',\n `\nExample call:\n > create key \"my new key\" \"Created key for demonstration\"\\n`\n )\n .action(async (name: string, description: string, opts: any) => {\n await cliCommand(['create', 'key', name], opts).CreateApiKey(\n name,\n description\n );\n });\n\n create\n .command('role')\n .description('create a new role')\n .argument('<\"Role name\">', 'the name of the role to create')\n .argument('[\"Role description\">', 'the description of the role')\n .option('--disabled', 'do not enable the created role', false)\n .addHelpText(\n 'after',\n `\nExample call:\n > create role \"My role\" \"This role is for testing\" --disabled \\n`\n )\n .action(async (roleName: string, description: string, opts) => {\n await cliCommand(['create', 'role', roleName], opts).CreateRole({\n name: roleName,\n description,\n enabled: !opts.disabled,\n assignments: { apiKeys: [], groups: [], users: [] },\n permissions: { contentTypes: [], entries: [] },\n });\n });\n\n return create;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AAExB,iCAA2B;AAC3B,mBAAsB;AAGf,MAAM,oBAAoB,MAAM;AACrC,QAAM,SAAS,IAAI,yBAAQ,EACxB,QAAQ,QAAQ,EAChB,YAAY,gBAAgB,EAC5B,YAAY,SAAS;AAAA,CAAI,EACzB,mBAAmB,IAAI,EACvB,aAAa;AAEhB,SACG,QAAQ,SAAS,EACjB,YAAY,sBAAsB,EAClC,SAAS,eAAe,iCAAiC,EACzD,SAAS,UAAU,mCAAmC,EACtD,SAAS,iBAAiB,qCAAqC,EAC/D;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC;AAAA,IACC;AAAA,EACF,EACC,YAAY,SAAS;AAAA,CAAI,EACzB;AAAA,IACC,OAAO,WAAmB,MAAc,cAAc,IAAI,SAAc;AACtE,YAAM,gBAAyB;AAAA,QAC7B,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,QACA,iBAAiB,KAAK;AAAA,QACtB,oBAAoB,KAAK,sBAAsB,CAAC;AAAA,MAClD;AAEA,YAAM,UAAU,UAAM;AAAA,QACpB,CAAC,UAAU,WAAW,SAAS;AAAA,QAC/B;AAAA,MACF,EAAE,cAAc,aAAa;AAC7B,UAAI;AAAS,kBAAM,oBAAM,EAAE,QAAQ;AAAA,IACrC;AAAA,EACF;AAEF,SACG,QAAQ,KAAK,EACb,YAAY,sBAAsB,EAClC,SAAS,gBAAgB,+BAA+B,EACxD,SAAS,mBAAmB,8CAA8C,EAC1E,MAAM,6DAA6D,EACnE;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,EAGF,EACC,OAAO,OAAO,MAAc,aAAqB,SAAc;AAC9D,cAAM,uCAAW,CAAC,UAAU,OAAO,IAAI,GAAG,IAAI,EAAE;AAAA,MAC9C;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AAEH,SACG,QAAQ,MAAM,EACd,YAAY,mBAAmB,EAC/B,SAAS,iBAAiB,gCAAgC,EAC1D,SAAS,wBAAwB,6BAA6B,EAC9D,OAAO,cAAc,kCAAkC,KAAK,EAC5D;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,EAGF,EACC,OAAO,OAAO,UAAkB,aAAqB,SAAS;AAC7D,cAAM,uCAAW,CAAC,UAAU,QAAQ,QAAQ,GAAG,IAAI,EAAE,WAAW;AAAA,MAC9D,MAAM;AAAA,MACN;AAAA,MACA,SAAS,CAAC,KAAK;AAAA,MACf,aAAa,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,EAAE;AAAA,MAClD,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,EAAE;AAAA,IAC/C,CAAC;AAAA,EACH,CAAC;AAEH,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var diff_exports = {};
20
+ __export(diff_exports, {
21
+ makeDiffCommand: () => makeDiffCommand
22
+ });
23
+ module.exports = __toCommonJS(diff_exports);
24
+ var import_commander = require("commander");
25
+ var import_ContensisCliService = require("../services/ContensisCliService");
26
+ var import_globalOptions = require("./globalOptions");
27
+ const makeDiffCommand = () => {
28
+ const release = new import_commander.Command().command("diff").description("diff command").addHelpText("after", `
29
+ `).showHelpAfterError(true).exitOverride();
30
+ release.command("models").description("differences with content models").argument(
31
+ "[model-ids...]",
32
+ "ids of any content types or components to diff (optional)"
33
+ ).usage("[model-ids...]").addHelpText(
34
+ "after",
35
+ `
36
+ Example call:
37
+ > diff models blogPost
38
+ `
39
+ ).action(async (modelIds = [], opts) => {
40
+ await (0, import_ContensisCliService.cliCommand)(
41
+ ["diff", "models", modelIds.join(" ")],
42
+ opts,
43
+ (0, import_globalOptions.mapContensisOpts)({ modelIds, ...opts })
44
+ ).DiffModels(
45
+ {
46
+ ...opts
47
+ },
48
+ modelIds
49
+ );
50
+ });
51
+ return release;
52
+ };
53
+ // Annotate the CommonJS export names for ESM import in node:
54
+ 0 && (module.exports = {
55
+ makeDiffCommand
56
+ });
57
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/commands/diff.ts"],
4
+ "sourcesContent": ["import { Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { mapContensisOpts } from './globalOptions';\n\nexport const makeDiffCommand = () => {\n const release = new Command()\n .command('diff')\n .description('diff command')\n .addHelpText('after', `\\n`)\n .showHelpAfterError(true)\n .exitOverride();\n\n release\n .command('models')\n .description('differences with content models')\n .argument(\n '[model-ids...]',\n 'ids of any content types or components to diff (optional)'\n )\n .usage('[model-ids...]')\n .addHelpText(\n 'after',\n `\nExample call:\n > diff models blogPost\\n`\n )\n .action(async (modelIds: string[] = [], opts) => {\n await cliCommand(\n ['diff', 'models', modelIds.join(' ')],\n opts,\n mapContensisOpts({ modelIds, ...opts })\n ).DiffModels(\n {\n ...opts,\n },\n modelIds\n );\n });\n\n return release;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,iCAA2B;AAC3B,2BAAiC;AAE1B,MAAM,kBAAkB,MAAM;AACnC,QAAM,UAAU,IAAI,yBAAQ,EACzB,QAAQ,MAAM,EACd,YAAY,cAAc,EAC1B,YAAY,SAAS;AAAA,CAAI,EACzB,mBAAmB,IAAI,EACvB,aAAa;AAEhB,UACG,QAAQ,QAAQ,EAChB,YAAY,iCAAiC,EAC7C;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC,MAAM,gBAAgB,EACtB;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,EAGF,EACC,OAAO,OAAO,WAAqB,CAAC,GAAG,SAAS;AAC/C,cAAM;AAAA,MACJ,CAAC,QAAQ,UAAU,SAAS,KAAK,GAAG,CAAC;AAAA,MACrC;AAAA,UACA,uCAAiB,EAAE,UAAU,GAAG,KAAK,CAAC;AAAA,IACxC,EAAE;AAAA,MACA;AAAA,QACE,GAAG;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AAEH,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var execute_exports = {};
20
+ __export(execute_exports, {
21
+ makeExecuteCommand: () => makeExecuteCommand
22
+ });
23
+ module.exports = __toCommonJS(execute_exports);
24
+ var import_commander = require("commander");
25
+ var import_ContensisCliService = require("../services/ContensisCliService");
26
+ var import_globalOptions = require("./globalOptions");
27
+ const makeExecuteCommand = () => {
28
+ const execute = new import_commander.Command().command("execute").description("execute block actions").addHelpText("after", `
29
+ `).showHelpAfterError(true).exitOverride();
30
+ const block = execute.command("block").description("execute block command to invoke block actions");
31
+ const action = block.command("action").description("execute block action command to invoke block actions");
32
+ const blockIdArg = new import_commander.Argument(
33
+ "<block-id>",
34
+ "the name of the block to perform action with"
35
+ );
36
+ const blockVersionArg = new import_commander.Argument(
37
+ "<version>",
38
+ "the block version to perform action with"
39
+ );
40
+ action.command("release").description("release a block version").addArgument(blockIdArg).argument("[version]", blockVersionArg.description, "latest").usage("[block-id> <version]").addHelpText(
41
+ "after",
42
+ `
43
+ Example call:
44
+ > execute block action release contensis-app
45
+
46
+ Note: block actions are executed on blocks deployed from a "main" or "master" branch
47
+ `
48
+ ).action(async (blockId, version, opts) => {
49
+ await (0, import_ContensisCliService.cliCommand)(
50
+ ["execute", "block", "action", "release", blockId],
51
+ opts
52
+ ).ExecuteBlockAction("release", blockId, version);
53
+ });
54
+ action.command("makelive").description("make a block version live").addArgument(blockIdArg).addArgument(blockVersionArg).usage("<block-id> <version>").addHelpText(
55
+ "after",
56
+ `
57
+ Example call:
58
+ > execute block action makelive contensis-app 3
59
+
60
+ Note: block actions are executed on blocks deployed from a "main" or "master" branch
61
+ `
62
+ ).action(async (blockId, version, opts) => {
63
+ await (0, import_ContensisCliService.cliCommand)(
64
+ ["execute", "block", "action", "makelive", blockId],
65
+ opts
66
+ ).ExecuteBlockAction("makeLive", blockId, version);
67
+ });
68
+ action.command("rollback").description("rollback a live block version to last live version").addArgument(blockIdArg).addArgument(blockVersionArg).usage("<block-id> <version>").addHelpText(
69
+ "after",
70
+ `
71
+ Example call:
72
+ > execute block action rollback contensis-app 3
73
+
74
+ Note: block actions are executed on blocks deployed from a "main" or "master" branch
75
+ `
76
+ ).action(async (blockId, version, opts) => {
77
+ await (0, import_ContensisCliService.cliCommand)(
78
+ ["execute", "block", "action", "rollback", blockId],
79
+ opts
80
+ ).ExecuteBlockAction("rollback", blockId, version);
81
+ });
82
+ action.command("markasbroken").description("mark a block version as broken").addArgument(blockIdArg).addArgument(blockVersionArg).usage("<block-id> <version>").addHelpText(
83
+ "after",
84
+ `
85
+ Example call:
86
+ > execute block action markasbroken contensis-app 3
87
+
88
+ Note: block actions are executed on blocks deployed from a "main" or "master" branch
89
+ `
90
+ ).action(async (blockId, version, opts) => {
91
+ await (0, import_ContensisCliService.cliCommand)(
92
+ ["execute", "block", "action", "markasbroken", blockId],
93
+ opts
94
+ ).ExecuteBlockAction("markAsBroken", blockId, version);
95
+ });
96
+ (0, import_globalOptions.addGlobalOptions)(action);
97
+ return execute;
98
+ };
99
+ // Annotate the CommonJS export names for ESM import in node:
100
+ 0 && (module.exports = {
101
+ makeExecuteCommand
102
+ });
103
+ //# sourceMappingURL=execute.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/commands/execute.ts"],
4
+ "sourcesContent": ["import { Argument, Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { addGlobalOptions } from './globalOptions';\n\nexport const makeExecuteCommand = () => {\n const execute = new Command()\n .command('execute')\n .description('execute block actions')\n .addHelpText('after', `\\n`)\n .showHelpAfterError(true)\n .exitOverride();\n\n const block = execute\n .command('block')\n .description('execute block command to invoke block actions');\n\n const action = block\n .command('action')\n .description('execute block action command to invoke block actions');\n\n const blockIdArg = new Argument(\n '<block-id>',\n 'the name of the block to perform action with'\n );\n const blockVersionArg = new Argument(\n '<version>',\n 'the block version to perform action with'\n );\n\n action\n .command('release')\n .description('release a block version')\n .addArgument(blockIdArg)\n .argument('[version]', blockVersionArg.description, 'latest')\n .usage('[block-id> <version]')\n .addHelpText(\n 'after',\n `\nExample call:\n > execute block action release contensis-app\n\nNote: block actions are executed on blocks deployed from a \"main\" or \"master\" branch\\n`\n )\n .action(async (blockId: string, version: string, opts) => {\n await cliCommand(\n ['execute', 'block', 'action', 'release', blockId],\n opts\n ).ExecuteBlockAction('release', blockId, version);\n });\n\n action\n .command('makelive')\n .description('make a block version live')\n .addArgument(blockIdArg)\n .addArgument(blockVersionArg)\n .usage('<block-id> <version>')\n .addHelpText(\n 'after',\n `\nExample call:\n > execute block action makelive contensis-app 3\n\nNote: block actions are executed on blocks deployed from a \"main\" or \"master\" branch\\n`\n )\n .action(async (blockId: string, version: string, opts) => {\n await cliCommand(\n ['execute', 'block', 'action', 'makelive', blockId],\n opts\n ).ExecuteBlockAction('makeLive', blockId, version);\n });\n\n action\n .command('rollback')\n .description('rollback a live block version to last live version')\n .addArgument(blockIdArg)\n .addArgument(blockVersionArg)\n .usage('<block-id> <version>')\n .addHelpText(\n 'after',\n `\nExample call:\n > execute block action rollback contensis-app 3\n\nNote: block actions are executed on blocks deployed from a \"main\" or \"master\" branch\\n`\n )\n .action(async (blockId: string, version: string, opts) => {\n await cliCommand(\n ['execute', 'block', 'action', 'rollback', blockId],\n opts\n ).ExecuteBlockAction('rollback', blockId, version);\n });\n\n action\n .command('markasbroken')\n .description('mark a block version as broken')\n .addArgument(blockIdArg)\n .addArgument(blockVersionArg)\n .usage('<block-id> <version>')\n .addHelpText(\n 'after',\n `\nExample call:\n > execute block action markasbroken contensis-app 3\n\nNote: block actions are executed on blocks deployed from a \"main\" or \"master\" branch\\n`\n )\n .action(async (blockId: string, version: string, opts) => {\n await cliCommand(\n ['execute', 'block', 'action', 'markasbroken', blockId],\n opts\n ).ExecuteBlockAction('markAsBroken', blockId, version);\n });\n\n // Add global opts for inner sub-commands\n addGlobalOptions(action);\n return execute;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAkC;AAClC,iCAA2B;AAC3B,2BAAiC;AAE1B,MAAM,qBAAqB,MAAM;AACtC,QAAM,UAAU,IAAI,yBAAQ,EACzB,QAAQ,SAAS,EACjB,YAAY,uBAAuB,EACnC,YAAY,SAAS;AAAA,CAAI,EACzB,mBAAmB,IAAI,EACvB,aAAa;AAEhB,QAAM,QAAQ,QACX,QAAQ,OAAO,EACf,YAAY,+CAA+C;AAE9D,QAAM,SAAS,MACZ,QAAQ,QAAQ,EAChB,YAAY,sDAAsD;AAErE,QAAM,aAAa,IAAI;AAAA,IACrB;AAAA,IACA;AAAA,EACF;AACA,QAAM,kBAAkB,IAAI;AAAA,IAC1B;AAAA,IACA;AAAA,EACF;AAEA,SACG,QAAQ,SAAS,EACjB,YAAY,yBAAyB,EACrC,YAAY,UAAU,EACtB,SAAS,aAAa,gBAAgB,aAAa,QAAQ,EAC3D,MAAM,sBAAsB,EAC5B;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKF,EACC,OAAO,OAAO,SAAiB,SAAiB,SAAS;AACxD,cAAM;AAAA,MACJ,CAAC,WAAW,SAAS,UAAU,WAAW,OAAO;AAAA,MACjD;AAAA,IACF,EAAE,mBAAmB,WAAW,SAAS,OAAO;AAAA,EAClD,CAAC;AAEH,SACG,QAAQ,UAAU,EAClB,YAAY,2BAA2B,EACvC,YAAY,UAAU,EACtB,YAAY,eAAe,EAC3B,MAAM,sBAAsB,EAC5B;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKF,EACC,OAAO,OAAO,SAAiB,SAAiB,SAAS;AACxD,cAAM;AAAA,MACJ,CAAC,WAAW,SAAS,UAAU,YAAY,OAAO;AAAA,MAClD;AAAA,IACF,EAAE,mBAAmB,YAAY,SAAS,OAAO;AAAA,EACnD,CAAC;AAEH,SACG,QAAQ,UAAU,EAClB,YAAY,oDAAoD,EAChE,YAAY,UAAU,EACtB,YAAY,eAAe,EAC3B,MAAM,sBAAsB,EAC5B;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKF,EACC,OAAO,OAAO,SAAiB,SAAiB,SAAS;AACxD,cAAM;AAAA,MACJ,CAAC,WAAW,SAAS,UAAU,YAAY,OAAO;AAAA,MAClD;AAAA,IACF,EAAE,mBAAmB,YAAY,SAAS,OAAO;AAAA,EACnD,CAAC;AAEH,SACG,QAAQ,cAAc,EACtB,YAAY,gCAAgC,EAC5C,YAAY,UAAU,EACtB,YAAY,eAAe,EAC3B,MAAM,sBAAsB,EAC5B;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKF,EACC,OAAO,OAAO,SAAiB,SAAiB,SAAS;AACxD,cAAM;AAAA,MACJ,CAAC,WAAW,SAAS,UAAU,gBAAgB,OAAO;AAAA,MACtD;AAAA,IACF,EAAE,mBAAmB,gBAAgB,SAAS,OAAO;AAAA,EACvD,CAAC;AAGH,6CAAiB,MAAM;AACvB,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -23,34 +23,103 @@ __export(get_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(get_exports);
25
25
  var import_commander = require("commander");
26
+ var import_lodash = require("lodash");
26
27
  var import_ContensisCliService = require("../services/ContensisCliService");
27
28
  var import_globalOptions = require("./globalOptions");
28
29
  const makeGetCommand = () => {
29
- const program = new import_commander.Command().command("get").showHelpAfterError(true).exitOverride();
30
- program.command("contenttype").argument("<contentTypeId>", "the API id of the content type to get").addHelpText(
30
+ const program = new import_commander.Command().command("get").description("get command").addHelpText("after", `
31
+ `).showHelpAfterError(true).exitOverride();
32
+ program.command("version").description("get current Contensis version").addHelpText(
33
+ "after",
34
+ `
35
+ Example call:
36
+ > version
37
+ `
38
+ ).action(async (opts) => {
39
+ await (0, import_ContensisCliService.cliCommand)(["get", "version"], opts).PrintContensisVersion();
40
+ });
41
+ program.command("token").description("show a bearer token for the currently logged in user").addHelpText(
42
+ "after",
43
+ `
44
+ Example call:
45
+ > get token
46
+ `
47
+ ).action(async (opts) => {
48
+ await (0, import_ContensisCliService.cliCommand)(["get", "token"], opts).PrintBearerToken();
49
+ });
50
+ program.command("project").description("get a project").argument("[projectId]", "id of the project to get (default: current)").addHelpText(
51
+ "after",
52
+ `
53
+ Example call:
54
+ > get project website
55
+ `
56
+ ).action(async (projectId, opts) => {
57
+ await (0, import_ContensisCliService.cliCommand)(["get", "project", projectId], opts).PrintProject(
58
+ projectId
59
+ );
60
+ });
61
+ program.command("role").description("get a role").argument("<roleNameOrId>", "id or name of the role to get").addHelpText(
62
+ "after",
63
+ `
64
+ Example call:
65
+ > get role "entry admin"
66
+ `
67
+ ).action(async (roleNameOrId, opts) => {
68
+ await (0, import_ContensisCliService.cliCommand)(["get", "role", roleNameOrId], opts).PrintRole(
69
+ roleNameOrId
70
+ );
71
+ });
72
+ program.command("webhook").description("get a webhook").argument("<webhookNameOrId...>", "id or name of the webhook(s) to get").addHelpText(
73
+ "after",
74
+ `
75
+ Example call:
76
+ > get webhook "Slack notification"
77
+ `
78
+ ).action(async (webhookNameOrId, opts) => {
79
+ await (0, import_ContensisCliService.cliCommand)(
80
+ ["get", "webhook", webhookNameOrId.join(" ")],
81
+ opts
82
+ ).PrintWebhookSubscriptions(webhookNameOrId);
83
+ });
84
+ program.command("model").description("get a content model").argument("<contentTypeId...>", "ids of the content models to get").addHelpText(
85
+ "after",
86
+ `
87
+ Example call:
88
+ > get model podcast podcastLinks
89
+ `
90
+ ).action(async (modelIds, opts) => {
91
+ await (0, import_ContensisCliService.cliCommand)(
92
+ ["get", "model", modelIds.join(" ")],
93
+ opts
94
+ ).PrintContentModels(modelIds);
95
+ });
96
+ program.command("contenttype").description("get a content type").argument("<contentTypeId>", "the API id of the content type to get").addHelpText(
31
97
  "after",
32
98
  `
33
99
  Example call:
34
100
  > get contenttype {contentTypeId} -o content-type-backup.json
35
101
  `
36
102
  ).action(async (contentTypeId, opts) => {
37
- await (0, import_ContensisCliService.cliCommand)(["get", "contenttype"], opts).PrintContentType(
38
- contentTypeId
39
- );
103
+ await (0, import_ContensisCliService.cliCommand)(
104
+ ["get", "contenttype", contentTypeId],
105
+ opts
106
+ ).PrintContentType(contentTypeId);
40
107
  });
41
- program.command("component").argument("<componentId>", "the API id of the component to get").addHelpText(
108
+ program.command("component").description("get a component").argument("<componentId>", "the API id of the component to get").addHelpText(
42
109
  "after",
43
110
  `
44
111
  Example call:
45
112
  > get component {componentId} -o component-backup.json
46
113
  `
47
114
  ).action(async (componentId, opts) => {
48
- await (0, import_ContensisCliService.cliCommand)(["get", "component"], opts).PrintComponent(componentId);
115
+ await (0, import_ContensisCliService.cliCommand)(["get", "component", componentId], opts).PrintComponent(
116
+ componentId
117
+ );
49
118
  });
50
- program.command("entries").argument(
119
+ program.command("entries").description("get entries").argument(
51
120
  "[search phrase]",
52
121
  "get entries with the search phrase, use quotes for multiple words"
53
- ).option("-i --id <id...>", "the entry id to get").option(
122
+ ).option("-i --id <id...>", "the entry id(s) to get").option(
54
123
  "-d, --dependents",
55
124
  "find and return any dependencies of all found entries"
56
125
  ).option(
@@ -74,15 +143,22 @@ Example call:
74
143
  withDependents: opts.dependents
75
144
  });
76
145
  });
77
- const block = program.command("block").argument("[blockId]", "the block to get version details for").argument(
146
+ const block = program.command("block").description("get a block or block version").argument("[blockId]", "the block to get version details for").argument(
78
147
  "[branch]",
79
148
  "the branch of the block to get version details for",
80
- "main"
149
+ "default"
81
150
  ).argument(
82
151
  "[version]",
83
152
  "get a specific version of the block pushed to the specified branch"
153
+ ).addHelpText(
154
+ "after",
155
+ `
156
+ Example call:
157
+ > get block contensis-website
158
+ > get block contensis-website develop latest
159
+ `
84
160
  ).action(async (blockId, branch, version, opts) => {
85
- await (0, import_ContensisCliService.cliCommand)(["get", "block"], opts).PrintBlockVersions(
161
+ await (0, import_ContensisCliService.cliCommand)(["get", "block", blockId], opts).PrintBlockVersions(
86
162
  blockId,
87
163
  branch,
88
164
  version
@@ -91,25 +167,38 @@ Example call:
91
167
  const dataCenter = new import_commander.Argument(
92
168
  "[dataCenter]",
93
169
  "the datacentre of the block to get logs for"
94
- ).choices(["hq", "london", "manchester"]).default("hq");
95
- block.command("logs").argument("[blockId]", "the block to get version logs for").argument(
170
+ ).choices(["hq", "london", "manchester", "all"]).default("all");
171
+ block.command("logs").description("get logs for a block").argument("[blockId]", "the block to get version logs for").argument(
96
172
  "[branch]",
97
173
  "the branch of the block to get version details for",
98
- "main"
174
+ "default"
99
175
  ).argument(
100
176
  "[version]",
101
177
  "the version of the block pushed to the branch to get logs for",
102
178
  "latest"
103
- ).addArgument(dataCenter).usage("get block logs [blockId] [branch] [version] [dataCenter]").action(
179
+ ).addArgument(dataCenter).option("-t, --follow", "follow block logs in near realtime", false).usage("get block logs [blockId] [branch] [version] [dataCenter]").addHelpText(
180
+ "after",
181
+ `
182
+ Example call:
183
+ > get block logs contensis-website default
184
+ > get block logs contensis-website master latest london --follow
185
+ `
186
+ ).action(
104
187
  async (blockId, branch, version, dataCenter2, opts) => {
105
- await (0, import_ContensisCliService.cliCommand)(["get", "block", "logs"], opts).PrintBlockLogs(
188
+ const parentOpts = block.opts() || {};
189
+ await (0, import_ContensisCliService.cliCommand)(
190
+ ["get", "block", "logs"],
191
+ (0, import_lodash.merge)(opts, parentOpts)
192
+ ).PrintBlockLogs(
106
193
  blockId,
107
194
  branch,
108
195
  version,
109
- dataCenter2
196
+ dataCenter2 === "all" ? void 0 : dataCenter2,
197
+ opts.follow
110
198
  );
111
199
  }
112
200
  );
201
+ (0, import_globalOptions.addGlobalOptions)(block);
113
202
  return program;
114
203
  };
115
204
  const get = makeGetCommand();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/commands/get.ts"],
4
- "sourcesContent": ["import { Argument, Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { mapContensisOpts } from './globalOptions';\n\nexport const makeGetCommand = () => {\n const program = new Command()\n .command('get')\n .showHelpAfterError(true)\n .exitOverride();\n\n program\n .command('contenttype')\n .argument('<contentTypeId>', 'the API id of the content type to get')\n .addHelpText(\n 'after',\n `\nExample call:\n > get contenttype {contentTypeId} -o content-type-backup.json\n`\n )\n .action(async (contentTypeId: string, opts) => {\n await cliCommand(['get', 'contenttype'], opts).PrintContentType(\n contentTypeId\n );\n });\n program\n .command('component')\n .argument('<componentId>', 'the API id of the component to get')\n .addHelpText(\n 'after',\n `\nExample call:\n > get component {componentId} -o component-backup.json\n`\n )\n .action(async (componentId: string, opts) => {\n await cliCommand(['get', 'component'], opts).PrintComponent(componentId);\n });\n program\n .command('entries')\n .argument(\n '[search phrase]',\n 'get entries with the search phrase, use quotes for multiple words'\n )\n .option('-i --id <id...>', 'the entry id to get')\n .option(\n '-d, --dependents',\n 'find and return any dependencies of all found entries'\n )\n .option(\n '-fi, --fields <fields...>',\n 'limit the output fields on returned entries'\n )\n .option(\n '-q, --zenql <zenql>',\n 'get entries with a supplied ZenQL statement'\n )\n .addHelpText(\n 'after',\n `\nExample call:\n > get entries --zenql \"sys.contentTypeId = blog\" --fields entryTitle entryDescription sys.id --output ./blog-posts.csv --format csv\n`\n )\n .action(async (phrase: string, opts, cmd) => {\n // console.log('phrase: ', phrase, '\\nopts:', JSON.stringify(opts, null, 2));\n // console.log('opts:', JSON.stringify(opts, null, 2));\n await cliCommand(\n ['get', 'entries'],\n opts,\n mapContensisOpts({ phrase, ...opts })\n ).GetEntries({\n withDependents: opts.dependents,\n });\n });\n\n const block = program\n .command('block')\n .argument('[blockId]', 'the block to get version details for')\n .argument(\n '[branch]',\n 'the branch of the block to get version details for',\n 'main'\n )\n .argument(\n '[version]',\n 'get a specific version of the block pushed to the specified branch'\n )\n .action(async (blockId: string, branch: string, version: string, opts) => {\n await cliCommand(['get', 'block'], opts).PrintBlockVersions(\n blockId,\n branch,\n version\n );\n });\n\n const dataCenter = new Argument(\n '[dataCenter]',\n 'the datacentre of the block to get logs for'\n )\n .choices(['hq', 'london', 'manchester'])\n .default('hq');\n\n block\n .command('logs')\n .argument('[blockId]', 'the block to get version logs for')\n .argument(\n '[branch]',\n 'the branch of the block to get version details for',\n 'main'\n )\n .argument(\n '[version]',\n 'the version of the block pushed to the branch to get logs for',\n 'latest'\n )\n .addArgument(dataCenter)\n .usage('get block logs [blockId] [branch] [version] [dataCenter]')\n .action(\n async (\n blockId: string,\n branch: string,\n version: string,\n dataCenter: 'hq' | 'manchester' | 'london',\n opts\n ) => {\n await cliCommand(['get', 'block', 'logs'], opts).PrintBlockLogs(\n blockId,\n branch,\n version,\n dataCenter\n );\n }\n );\n\n return program;\n};\n\nexport const get = makeGetCommand();\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAkC;AAClC,iCAA2B;AAC3B,2BAAiC;AAE1B,MAAM,iBAAiB,MAAM;AAClC,QAAM,UAAU,IAAI,yBAAQ,EACzB,QAAQ,KAAK,EACb,mBAAmB,IAAI,EACvB,aAAa;AAEhB,UACG,QAAQ,aAAa,EACrB,SAAS,mBAAmB,uCAAuC,EACnE;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,EAIF,EACC,OAAO,OAAO,eAAuB,SAAS;AAC7C,cAAM,uCAAW,CAAC,OAAO,aAAa,GAAG,IAAI,EAAE;AAAA,MAC7C;AAAA,IACF;AAAA,EACF,CAAC;AACH,UACG,QAAQ,WAAW,EACnB,SAAS,iBAAiB,oCAAoC,EAC9D;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,EAIF,EACC,OAAO,OAAO,aAAqB,SAAS;AAC3C,cAAM,uCAAW,CAAC,OAAO,WAAW,GAAG,IAAI,EAAE,eAAe,WAAW;AAAA,EACzE,CAAC;AACH,UACG,QAAQ,SAAS,EACjB;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC,OAAO,mBAAmB,qBAAqB,EAC/C;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,EAIF,EACC,OAAO,OAAO,QAAgB,MAAM,QAAQ;AAG3C,cAAM;AAAA,MACJ,CAAC,OAAO,SAAS;AAAA,MACjB;AAAA,UACA,uCAAiB,EAAE,QAAQ,GAAG,KAAK,CAAC;AAAA,IACtC,EAAE,WAAW;AAAA,MACX,gBAAgB,KAAK;AAAA,IACvB,CAAC;AAAA,EACH,CAAC;AAEH,QAAM,QAAQ,QACX,QAAQ,OAAO,EACf,SAAS,aAAa,sCAAsC,EAC5D;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC,OAAO,OAAO,SAAiB,QAAgB,SAAiB,SAAS;AACxE,cAAM,uCAAW,CAAC,OAAO,OAAO,GAAG,IAAI,EAAE;AAAA,MACvC;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AAEH,QAAM,aAAa,IAAI;AAAA,IACrB;AAAA,IACA;AAAA,EACF,EACG,QAAQ,CAAC,MAAM,UAAU,YAAY,CAAC,EACtC,QAAQ,IAAI;AAEf,QACG,QAAQ,MAAM,EACd,SAAS,aAAa,mCAAmC,EACzD;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACF,EACC,YAAY,UAAU,EACtB,MAAM,0DAA0D,EAChE;AAAA,IACC,OACE,SACA,QACA,SACAA,aACA,SACG;AACH,gBAAM,uCAAW,CAAC,OAAO,SAAS,MAAM,GAAG,IAAI,EAAE;AAAA,QAC/C;AAAA,QACA;AAAA,QACA;AAAA,QACAA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEF,SAAO;AACT;AAEO,MAAM,MAAM,eAAe;",
4
+ "sourcesContent": ["import { Argument, Command } from 'commander';\nimport { merge } from 'lodash';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { addGlobalOptions, mapContensisOpts } from './globalOptions';\n\nexport const makeGetCommand = () => {\n const program = new Command()\n .command('get')\n .description('get command')\n .addHelpText('after', `\\n`)\n .showHelpAfterError(true)\n .exitOverride();\n\n program\n .command('version')\n .description('get current Contensis version')\n .addHelpText(\n 'after',\n `\nExample call:\n > version\n`\n )\n .action(async opts => {\n await cliCommand(['get', 'version'], opts).PrintContensisVersion();\n });\n\n program\n .command('token')\n .description('show a bearer token for the currently logged in user')\n .addHelpText(\n 'after',\n `\nExample call:\n > get token\n`\n )\n .action(async opts => {\n await cliCommand(['get', 'token'], opts).PrintBearerToken();\n });\n\n program\n .command('project')\n .description('get a project')\n .argument('[projectId]', 'id of the project to get (default: current)')\n .addHelpText(\n 'after',\n `\nExample call:\n > get project website\n`\n )\n .action(async (projectId: string, opts) => {\n await cliCommand(['get', 'project', projectId], opts).PrintProject(\n projectId\n );\n });\n\n program\n .command('role')\n .description('get a role')\n .argument('<roleNameOrId>', 'id or name of the role to get')\n .addHelpText(\n 'after',\n `\nExample call:\n > get role \"entry admin\"\n`\n )\n .action(async (roleNameOrId: string, opts) => {\n await cliCommand(['get', 'role', roleNameOrId], opts).PrintRole(\n roleNameOrId\n );\n });\n\n program\n .command('webhook')\n .description('get a webhook')\n .argument('<webhookNameOrId...>', 'id or name of the webhook(s) to get')\n .addHelpText(\n 'after',\n `\nExample call:\n > get webhook \"Slack notification\"\n`\n )\n .action(async (webhookNameOrId: string[], opts) => {\n await cliCommand(\n ['get', 'webhook', webhookNameOrId.join(' ')],\n opts\n ).PrintWebhookSubscriptions(webhookNameOrId);\n });\n\n program\n .command('model')\n .description('get a content model')\n .argument('<contentTypeId...>', 'ids of the content models to get')\n .addHelpText(\n 'after',\n `\nExample call:\n > get model podcast podcastLinks\n`\n )\n .action(async (modelIds: string[], opts) => {\n await cliCommand(\n ['get', 'model', modelIds.join(' ')],\n opts\n ).PrintContentModels(modelIds);\n });\n\n program\n .command('contenttype')\n .description('get a content type')\n .argument('<contentTypeId>', 'the API id of the content type to get')\n .addHelpText(\n 'after',\n `\nExample call:\n > get contenttype {contentTypeId} -o content-type-backup.json\n`\n )\n .action(async (contentTypeId: string, opts) => {\n await cliCommand(\n ['get', 'contenttype', contentTypeId],\n opts\n ).PrintContentType(contentTypeId);\n });\n\n program\n .command('component')\n .description('get a component')\n .argument('<componentId>', 'the API id of the component to get')\n .addHelpText(\n 'after',\n `\nExample call:\n > get component {componentId} -o component-backup.json\n`\n )\n .action(async (componentId: string, opts) => {\n await cliCommand(['get', 'component', componentId], opts).PrintComponent(\n componentId\n );\n });\n\n program\n .command('entries')\n .description('get entries')\n .argument(\n '[search phrase]',\n 'get entries with the search phrase, use quotes for multiple words'\n )\n .option('-i --id <id...>', 'the entry id(s) to get')\n .option(\n '-d, --dependents',\n 'find and return any dependencies of all found entries'\n )\n .option(\n '-fi, --fields <fields...>',\n 'limit the output fields on returned entries'\n )\n .option(\n '-q, --zenql <zenql>',\n 'get entries with a supplied ZenQL statement'\n )\n .addHelpText(\n 'after',\n `\nExample call:\n > get entries --zenql \"sys.contentTypeId = blog\" --fields entryTitle entryDescription sys.id --output ./blog-posts.csv --format csv\n`\n )\n .action(async (phrase: string, opts, cmd) => {\n // console.log('phrase: ', phrase, '\\nopts:', JSON.stringify(opts, null, 2));\n // console.log('opts:', JSON.stringify(opts, null, 2));\n await cliCommand(\n ['get', 'entries'],\n opts,\n mapContensisOpts({ phrase, ...opts })\n ).GetEntries({\n withDependents: opts.dependents,\n });\n });\n\n const block = program\n .command('block')\n .description('get a block or block version')\n .argument('[blockId]', 'the block to get version details for')\n .argument(\n '[branch]',\n 'the branch of the block to get version details for',\n 'default'\n )\n .argument(\n '[version]',\n 'get a specific version of the block pushed to the specified branch'\n )\n .addHelpText(\n 'after',\n `\nExample call:\n > get block contensis-website\n > get block contensis-website develop latest\n`\n )\n .action(async (blockId: string, branch: string, version: string, opts) => {\n await cliCommand(['get', 'block', blockId], opts).PrintBlockVersions(\n blockId,\n branch,\n version\n );\n });\n\n const dataCenter = new Argument(\n '[dataCenter]',\n 'the datacentre of the block to get logs for'\n )\n .choices(['hq', 'london', 'manchester', 'all'])\n .default('all');\n\n block\n .command('logs')\n .description('get logs for a block')\n .argument('[blockId]', 'the block to get version logs for')\n .argument(\n '[branch]',\n 'the branch of the block to get version details for',\n 'default'\n )\n .argument(\n '[version]',\n 'the version of the block pushed to the branch to get logs for',\n 'latest'\n )\n .addArgument(dataCenter)\n .option('-t, --follow', 'follow block logs in near realtime', false)\n .usage('get block logs [blockId] [branch] [version] [dataCenter]')\n .addHelpText(\n 'after',\n `\nExample call:\n > get block logs contensis-website default\n > get block logs contensis-website master latest london --follow\n`\n )\n .action(\n async (\n blockId: string,\n branch: string,\n version: string,\n dataCenter: 'hq' | 'manchester' | 'london' | 'all',\n opts\n ) => {\n const parentOpts = block.opts() || {};\n await cliCommand(\n ['get', 'block', 'logs'],\n merge(opts, parentOpts)\n ).PrintBlockLogs(\n blockId,\n branch,\n version,\n dataCenter === 'all' ? undefined : dataCenter,\n opts.follow as boolean\n );\n }\n );\n\n // Add global opts for inner sub-commands\n addGlobalOptions(block);\n\n return program;\n};\n\nexport const get = makeGetCommand();\n"],
5
+ "mappings": "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",
6
6
  "names": ["dataCenter"]
7
7
  }