@ecomweb/cli 0.9.0 → 1.2.0

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 (124) hide show
  1. package/README.md +97 -13
  2. package/dist/commands/assets/get-by-entity.js +1 -1
  3. package/dist/commands/assets/get-by-entity.js.map +1 -1
  4. package/dist/commands/assets/link.js +1 -1
  5. package/dist/commands/assets/link.js.map +1 -1
  6. package/dist/commands/assets/list.js +21 -3
  7. package/dist/commands/assets/list.js.map +1 -1
  8. package/dist/commands/assets/update.js +1 -1
  9. package/dist/commands/assets/update.js.map +1 -1
  10. package/dist/commands/assets/upload.js +4 -3
  11. package/dist/commands/assets/upload.js.map +1 -1
  12. package/dist/commands/attributes/create.js +5 -0
  13. package/dist/commands/attributes/create.js.map +1 -1
  14. package/dist/commands/attributes/delete.js +5 -0
  15. package/dist/commands/attributes/delete.js.map +1 -1
  16. package/dist/commands/attributes/update.js +5 -0
  17. package/dist/commands/attributes/update.js.map +1 -1
  18. package/dist/commands/attributes/values/create.js +5 -0
  19. package/dist/commands/attributes/values/create.js.map +1 -1
  20. package/dist/commands/attributes/values/delete.js +9 -0
  21. package/dist/commands/attributes/values/delete.js.map +1 -1
  22. package/dist/commands/attributes/values/update.js +9 -0
  23. package/dist/commands/attributes/values/update.js.map +1 -1
  24. package/dist/commands/auth/login.js +7 -1
  25. package/dist/commands/auth/login.js.map +1 -1
  26. package/dist/commands/auth/logout.js +4 -0
  27. package/dist/commands/auth/logout.js.map +1 -1
  28. package/dist/commands/auth/profiles/delete.js +9 -0
  29. package/dist/commands/auth/profiles/delete.js.map +1 -1
  30. package/dist/commands/auth/profiles/use.js +4 -0
  31. package/dist/commands/auth/profiles/use.js.map +1 -1
  32. package/dist/commands/blog-posts/batch-update.js +7 -4
  33. package/dist/commands/blog-posts/batch-update.js.map +1 -1
  34. package/dist/commands/deploy.d.ts +3 -0
  35. package/dist/commands/deploy.js +36 -1
  36. package/dist/commands/deploy.js.map +1 -1
  37. package/dist/commands/orders/batch-update.js +7 -4
  38. package/dist/commands/orders/batch-update.js.map +1 -1
  39. package/dist/commands/products/batch-update.js +14 -5
  40. package/dist/commands/products/batch-update.js.map +1 -1
  41. package/dist/commands/products/get.d.ts +2 -0
  42. package/dist/commands/products/get.js +11 -0
  43. package/dist/commands/products/get.js.map +1 -1
  44. package/dist/commands/{banners/get.d.ts → products/index-status.d.ts} +1 -7
  45. package/dist/commands/products/index-status.js +34 -0
  46. package/dist/commands/products/index-status.js.map +1 -0
  47. package/dist/commands/{banners/delete.d.ts → products/variants/list.d.ts} +4 -4
  48. package/dist/commands/products/variants/list.js +33 -0
  49. package/dist/commands/products/variants/list.js.map +1 -0
  50. package/dist/commands/{banners → products/variants}/update.d.ts +13 -10
  51. package/dist/commands/products/variants/update.js +82 -0
  52. package/dist/commands/products/variants/update.js.map +1 -0
  53. package/dist/commands/{banners/list.d.ts → store-menus/add-item.d.ts} +9 -7
  54. package/dist/commands/store-menus/add-item.js +110 -0
  55. package/dist/commands/store-menus/add-item.js.map +1 -0
  56. package/dist/commands/store-menus/update.js +1 -1
  57. package/dist/commands/store-menus/update.js.map +1 -1
  58. package/dist/commands/store-pages/create.js +1 -1
  59. package/dist/commands/store-pages/create.js.map +1 -1
  60. package/dist/commands/store-pages/list.js +1 -1
  61. package/dist/commands/store-pages/list.js.map +1 -1
  62. package/dist/commands/store-pages/update.js +1 -1
  63. package/dist/commands/store-pages/update.js.map +1 -1
  64. package/dist/commands/store-settings/update.d.ts +1 -1
  65. package/dist/commands/store-settings/update.js +39 -4
  66. package/dist/commands/store-settings/update.js.map +1 -1
  67. package/dist/commands/storefront/init.js +16 -0
  68. package/dist/commands/storefront/init.js.map +1 -1
  69. package/dist/commands/storefront/key.js +9 -1
  70. package/dist/commands/storefront/key.js.map +1 -1
  71. package/dist/commands/stores/create.js +23 -2
  72. package/dist/commands/stores/create.js.map +1 -1
  73. package/dist/commands/stores/switch.js +13 -0
  74. package/dist/commands/stores/switch.js.map +1 -1
  75. package/dist/commands/theme/publish.js +10 -2
  76. package/dist/commands/theme/publish.js.map +1 -1
  77. package/dist/commands/theme/settings/get.d.ts +21 -0
  78. package/dist/commands/theme/settings/get.js +35 -0
  79. package/dist/commands/theme/settings/get.js.map +1 -0
  80. package/dist/commands/{banners/create.d.ts → theme/settings/set.d.ts} +8 -10
  81. package/dist/commands/theme/settings/set.js +91 -0
  82. package/dist/commands/theme/settings/set.js.map +1 -0
  83. package/dist/lib/api-client.d.ts +2 -0
  84. package/dist/lib/api-client.js +22 -1
  85. package/dist/lib/api-client.js.map +1 -1
  86. package/dist/lib/batch-filter.d.ts +6 -0
  87. package/dist/lib/batch-filter.js +60 -0
  88. package/dist/lib/batch-filter.js.map +1 -0
  89. package/dist/lib/codex-skill.d.ts +1 -1
  90. package/dist/lib/codex-skill.js +1 -1
  91. package/dist/lib/deploy-checks.d.ts +33 -0
  92. package/dist/lib/deploy-checks.js +50 -0
  93. package/dist/lib/deploy-checks.js.map +1 -0
  94. package/dist/lib/deployments.d.ts +1 -0
  95. package/dist/lib/deployments.js +4 -3
  96. package/dist/lib/deployments.js.map +1 -1
  97. package/dist/lib/describe-metafields.js +6 -5
  98. package/dist/lib/describe-metafields.js.map +1 -1
  99. package/dist/lib/device-login.js +1 -1
  100. package/dist/lib/device-login.js.map +1 -1
  101. package/dist/lib/errors.d.ts +2 -1
  102. package/dist/lib/errors.js +60 -0
  103. package/dist/lib/errors.js.map +1 -1
  104. package/dist/lib/index-status.d.ts +9 -0
  105. package/dist/lib/index-status.js +17 -0
  106. package/dist/lib/index-status.js.map +1 -0
  107. package/dist/lib/themes.d.ts +14 -0
  108. package/dist/lib/themes.js +42 -0
  109. package/dist/lib/themes.js.map +1 -1
  110. package/dist/lib/validators.d.ts +1 -0
  111. package/dist/lib/validators.js +293 -47
  112. package/dist/lib/validators.js.map +1 -1
  113. package/oclif.manifest.json +2391 -2294
  114. package/package.json +1 -1
  115. package/dist/commands/banners/create.js +0 -75
  116. package/dist/commands/banners/create.js.map +0 -1
  117. package/dist/commands/banners/delete.js +0 -35
  118. package/dist/commands/banners/delete.js.map +0 -1
  119. package/dist/commands/banners/get.js +0 -31
  120. package/dist/commands/banners/get.js.map +0 -1
  121. package/dist/commands/banners/list.js +0 -65
  122. package/dist/commands/banners/list.js.map +0 -1
  123. package/dist/commands/banners/update.js +0 -81
  124. package/dist/commands/banners/update.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecomweb/cli",
3
- "version": "0.9.0",
3
+ "version": "1.2.0",
4
4
  "description": "Agent-friendly CLI for the ecomweb platform",
5
5
  "author": "travistech20",
6
6
  "license": "MIT",
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@oclif/core");
4
- const base_command_1 = require("../../base-command");
5
- const output_1 = require("../../lib/output");
6
- const stdin_1 = require("../../lib/stdin");
7
- class BannersCreate extends base_command_1.BaseCommand {
8
- async run() {
9
- const storeRef = this.requireStore();
10
- let body = await (0, stdin_1.getJsonInput)({
11
- stdin: this.getFlag("stdin"),
12
- file: this.getFlag("file"),
13
- });
14
- if (!body) {
15
- body = {};
16
- if (this.getFlag("title"))
17
- body.title = this.getFlag("title");
18
- if (this.getFlag("image-url"))
19
- body.image_url = this.getFlag("image-url");
20
- if (this.getFlag("subtitle"))
21
- body.subtitle = this.getFlag("subtitle");
22
- if (this.getFlag("link-url"))
23
- body.link_url = this.getFlag("link-url");
24
- if (this.getFlag("button-text"))
25
- body.button_text = this.getFlag("button-text");
26
- if (this.getFlag("position") !== undefined)
27
- body.position = this.getFlag("position");
28
- if (this.getFlag("is-active") !== undefined)
29
- body.is_active = this.getFlag("is-active");
30
- if (Object.keys(body).length === 0) {
31
- this.outputJson({
32
- error: {
33
- code: "NO_INPUT",
34
- message: "No input provided.",
35
- hint: "Use --stdin, --file, or individual flags (--title, --image-url). Note: metadata (CanvaInfo) is only supported via --stdin or --file.",
36
- },
37
- });
38
- this.exit(2);
39
- return;
40
- }
41
- }
42
- if (this.isDryRun) {
43
- this.outputResult((0, output_1.mutationEnvelope)("banners", "create (dry-run)", storeRef, body));
44
- return;
45
- }
46
- const result = await this.apiClient.storePost("/banners", body);
47
- this.outputResult((0, output_1.mutationEnvelope)("banners", "create", storeRef, result, {
48
- get: `ecomweb banners get ${result.id}`,
49
- update: `ecomweb banners update ${result.id} --stdin`,
50
- }));
51
- }
52
- }
53
- BannersCreate.description = "Create a new banner";
54
- BannersCreate.examples = [
55
- `ecomweb banners create --stdin <<< '{"title":"Summer Sale","image_url":"https://example.com/banner.jpg"}'`,
56
- "ecomweb banners create --title 'Summer Sale' --image-url https://example.com/banner.jpg",
57
- "ecomweb banners create --file banner.json",
58
- ];
59
- BannersCreate.flags = {
60
- ...base_command_1.BaseCommand.baseFlags,
61
- stdin: core_1.Flags.boolean({ description: "Read JSON body from stdin" }),
62
- file: core_1.Flags.string({ description: "Read JSON body from file" }),
63
- title: core_1.Flags.string({ description: "Banner title" }),
64
- "image-url": core_1.Flags.string({ description: "Banner image URL" }),
65
- subtitle: core_1.Flags.string({ description: "Banner subtitle" }),
66
- "link-url": core_1.Flags.string({ description: "Banner link URL" }),
67
- "button-text": core_1.Flags.string({ description: "Banner button text" }),
68
- position: core_1.Flags.integer({ description: "Banner position" }),
69
- "is-active": core_1.Flags.boolean({
70
- description: "Whether banner is active",
71
- allowNo: true,
72
- }),
73
- };
74
- exports.default = BannersCreate;
75
- //# sourceMappingURL=create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/banners/create.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,qDAAiD;AACjD,6CAAoD;AACpD,2CAA+C;AAE/C,MAAqB,aAAc,SAAQ,0BAAW;IAyBpD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAErC,IAAI,IAAI,GAAG,MAAM,IAAA,oBAAY,EAAC;YAC5B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,EAAyB,CAAC;YACjC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gBAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1E,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;gBAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAChF,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrF,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAExF,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC;oBACd,KAAK,EAAE;wBACL,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,oBAAoB;wBAC7B,IAAI,EAAE,sIAAsI;qBAC7I;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACb,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,IAAA,yBAAgB,EAAC,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAEhE,IAAI,CAAC,YAAY,CACf,IAAA,yBAAgB,EAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;YACtD,GAAG,EAAE,uBAAuB,MAAM,CAAC,EAAE,EAAE;YACvC,MAAM,EAAE,0BAA0B,MAAM,CAAC,EAAE,UAAU;SACtD,CAAC,CACH,CAAC;IACJ,CAAC;;AApEM,yBAAW,GAAG,qBAAqB,CAAC;AAEpC,sBAAQ,GAAG;IAChB,2GAA2G;IAC3G,yFAAyF;IACzF,2CAA2C;CAC5C,CAAC;AAEK,mBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IAClE,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC/D,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;IACpD,WAAW,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC9D,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IAC1D,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IAC5D,aAAa,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;IAClE,QAAQ,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IAC3D,WAAW,EAAE,YAAK,CAAC,OAAO,CAAC;QACzB,WAAW,EAAE,0BAA0B;QACvC,OAAO,EAAE,IAAI;KACd,CAAC;CACH,CAAC;kBAvBiB,aAAa"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@oclif/core");
4
- const base_command_1 = require("../../base-command");
5
- const output_1 = require("../../lib/output");
6
- class BannersDelete extends base_command_1.BaseCommand {
7
- async run() {
8
- const storeRef = this.requireStore();
9
- const { args } = await this.parse(BannersDelete);
10
- if (this.isDryRun) {
11
- this.outputResult((0, output_1.mutationEnvelope)("banners", "delete (dry-run)", storeRef, { id: args.id }));
12
- return;
13
- }
14
- const body = {};
15
- if (this.getFlag("soft-delete") !== undefined)
16
- body.soft_delete = this.getFlag("soft-delete");
17
- const result = await this.apiClient.storeDelete(`/banners/${args.id}`, Object.keys(body).length > 0 ? body : undefined);
18
- this.outputResult((0, output_1.mutationEnvelope)("banners", "delete", storeRef, result || { id: args.id, deleted: true }));
19
- }
20
- }
21
- BannersDelete.description = "Delete a banner by ID";
22
- BannersDelete.examples = [
23
- "ecomweb banners delete 42",
24
- "ecomweb banners delete 42 --no-soft-delete",
25
- "ecomweb banners delete 42 --dry-run",
26
- ];
27
- BannersDelete.args = {
28
- id: core_1.Args.integer({ description: "Banner ID", required: true }),
29
- };
30
- BannersDelete.flags = {
31
- ...base_command_1.BaseCommand.baseFlags,
32
- "soft-delete": core_1.Flags.boolean({ description: "Soft delete (default: true)", default: true, allowNo: true }),
33
- };
34
- exports.default = BannersDelete;
35
- //# sourceMappingURL=delete.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/banners/delete.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,6CAAoD;AAEpD,MAAqB,aAAc,SAAQ,0BAAW;IAkBpD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAEjD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,IAAA,yBAAgB,EAAC,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9F,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAwB,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE9F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAC7C,YAAY,IAAI,CAAC,EAAE,EAAE,EACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;QAEF,IAAI,CAAC,YAAY,CACf,IAAA,yBAAgB,EAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAC1F,CAAC;IACJ,CAAC;;AArCM,yBAAW,GAAG,uBAAuB,CAAC;AAEtC,sBAAQ,GAAG;IAChB,2BAA2B;IAC3B,4CAA4C;IAC5C,qCAAqC;CACtC,CAAC;AAEK,kBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC/D,CAAC;AAEK,mBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,aAAa,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;CAC3G,CAAC;kBAhBiB,aAAa"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@oclif/core");
4
- const base_command_1 = require("../../base-command");
5
- const output_1 = require("../../lib/output");
6
- class BannersGet extends base_command_1.BaseCommand {
7
- async run() {
8
- const storeRef = this.requireStore();
9
- const { args } = await this.parse(BannersGet);
10
- const banner = await this.apiClient.storeGet(`/banners/${args.id}`);
11
- this.outputResult((0, output_1.getEnvelope)("banners", storeRef, banner, {
12
- hints: {
13
- update: `ecomweb banners update ${args.id} --stdin`,
14
- delete: `ecomweb banners delete ${args.id}`,
15
- list: "ecomweb banners list",
16
- },
17
- }));
18
- }
19
- }
20
- BannersGet.description = "Get a banner by ID";
21
- BannersGet.examples = [
22
- "ecomweb banners get 42",
23
- ];
24
- BannersGet.args = {
25
- id: core_1.Args.integer({ description: "Banner ID", required: true }),
26
- };
27
- BannersGet.flags = {
28
- ...base_command_1.BaseCommand.baseFlags,
29
- };
30
- exports.default = BannersGet;
31
- //# sourceMappingURL=get.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/banners/get.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AACjD,6CAA+C;AAE/C,MAAqB,UAAW,SAAQ,0BAAW;IAejD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAEpE,IAAI,CAAC,YAAY,CAAC,IAAA,oBAAW,EAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE;YACzD,KAAK,EAAE;gBACL,MAAM,EAAE,0BAA0B,IAAI,CAAC,EAAE,UAAU;gBACnD,MAAM,EAAE,0BAA0B,IAAI,CAAC,EAAE,EAAE;gBAC3C,IAAI,EAAE,sBAAsB;aAC7B;SACF,CAAC,CAAC,CAAC;IACN,CAAC;;AA3BM,sBAAW,GAAG,oBAAoB,CAAC;AAEnC,mBAAQ,GAAG;IAChB,wBAAwB;CACzB,CAAC;AAEK,eAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC/D,CAAC;AAEK,gBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;CACzB,CAAC;kBAbiB,UAAU"}
@@ -1,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@oclif/core");
4
- const base_command_1 = require("../../base-command");
5
- const output_1 = require("../../lib/output");
6
- class BannersList extends base_command_1.BaseCommand {
7
- async run() {
8
- const storeRef = this.requireStore();
9
- const params = {};
10
- const flagMap = {
11
- "is-active": "is_active",
12
- title: "title",
13
- "sort-by": "sort_by",
14
- "sort-order": "sort_order",
15
- limit: "limit",
16
- offset: "offset",
17
- };
18
- for (const [flag, param] of Object.entries(flagMap)) {
19
- const value = this.getFlag(flag);
20
- if (value !== undefined)
21
- params[param] = value;
22
- }
23
- const response = await this.apiClient.listPaginated("/banners", params);
24
- this.outputResult((0, output_1.listEnvelope)("banners", storeRef, response.data, {
25
- total: response.meta.total,
26
- limit: response.meta.limit,
27
- offset: response.meta.offset,
28
- has_next: response.meta.hasNext,
29
- }, {
30
- hints: {
31
- get_detail: "ecomweb banners get <id>",
32
- create: "ecomweb banners create --stdin",
33
- next_page: response.meta.hasNext
34
- ? `ecomweb banners list --offset ${response.meta.offset + response.meta.limit}`
35
- : undefined,
36
- },
37
- }));
38
- }
39
- }
40
- BannersList.description = "List banners with pagination and filtering";
41
- BannersList.examples = [
42
- "ecomweb banners list",
43
- "ecomweb banners list --is-active --sort-by position",
44
- "ecomweb banners list --title Hero --sort-order asc",
45
- ];
46
- BannersList.flags = {
47
- ...base_command_1.BaseCommand.baseFlags,
48
- "is-active": core_1.Flags.boolean({
49
- description: "Filter by active status",
50
- allowNo: true,
51
- }),
52
- title: core_1.Flags.string({ description: "Filter by title" }),
53
- "sort-by": core_1.Flags.string({
54
- description: "Sort field",
55
- options: ["id", "position", "title", "created_at", "updated_at", "is_active"],
56
- }),
57
- "sort-order": core_1.Flags.string({
58
- description: "Sort direction",
59
- options: ["asc", "desc"],
60
- }),
61
- limit: core_1.Flags.integer({ description: "Results per page", default: 20 }),
62
- offset: core_1.Flags.integer({ description: "Offset for pagination", default: 0 }),
63
- };
64
- exports.default = BannersList;
65
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/banners/list.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,qDAAiD;AACjD,6CAAgD;AAEhD,MAAqB,WAAY,SAAQ,0BAAW;IA4BlD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAErC,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,MAAM,OAAO,GAA2B;YACtC,WAAW,EAAE,WAAW;YACxB,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,YAAY;YAC1B,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,QAAQ;SACjB,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAExE,IAAI,CAAC,YAAY,CACf,IAAA,qBAAY,EAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;YAC/C,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC1B,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC1B,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;YAC5B,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO;SAChC,EAAE;YACD,KAAK,EAAE;gBACL,UAAU,EAAE,0BAA0B;gBACtC,MAAM,EAAE,gCAAgC;gBACxC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO;oBAC9B,CAAC,CAAC,iCAAiC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;oBAC/E,CAAC,CAAC,SAAU;aACf;SACF,CAAC,CACH,CAAC;IACJ,CAAC;;AA/DM,uBAAW,GAAG,4CAA4C,CAAC;AAE3D,oBAAQ,GAAG;IAChB,sBAAsB;IACtB,qDAAqD;IACrD,oDAAoD;CACrD,CAAC;AAEK,iBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,WAAW,EAAE,YAAK,CAAC,OAAO,CAAC;QACzB,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,IAAI;KACd,CAAC;IACF,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACvD,SAAS,EAAE,YAAK,CAAC,MAAM,CAAC;QACtB,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC;KAC9E,CAAC;IACF,YAAY,EAAE,YAAK,CAAC,MAAM,CAAC;QACzB,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACtE,MAAM,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;CAC5E,CAAC;kBA1BiB,WAAW"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@oclif/core");
4
- const base_command_1 = require("../../base-command");
5
- const output_1 = require("../../lib/output");
6
- const stdin_1 = require("../../lib/stdin");
7
- class BannersUpdate extends base_command_1.BaseCommand {
8
- async run() {
9
- const storeRef = this.requireStore();
10
- const { args } = await this.parse(BannersUpdate);
11
- let body = await (0, stdin_1.getJsonInput)({
12
- stdin: this.getFlag("stdin"),
13
- file: this.getFlag("file"),
14
- });
15
- if (body && body.data && typeof body.data === "object") {
16
- body = body.data;
17
- }
18
- if (!body) {
19
- body = {};
20
- if (this.getFlag("title"))
21
- body.title = this.getFlag("title");
22
- if (this.getFlag("image-url"))
23
- body.image_url = this.getFlag("image-url");
24
- if (this.getFlag("subtitle"))
25
- body.subtitle = this.getFlag("subtitle");
26
- if (this.getFlag("link-url"))
27
- body.link_url = this.getFlag("link-url");
28
- if (this.getFlag("button-text"))
29
- body.button_text = this.getFlag("button-text");
30
- if (this.getFlag("position") !== undefined)
31
- body.position = this.getFlag("position");
32
- if (this.getFlag("is-active") !== undefined)
33
- body.is_active = this.getFlag("is-active");
34
- if (Object.keys(body).length === 0) {
35
- this.outputJson({
36
- error: {
37
- code: "NO_INPUT",
38
- message: "No input provided.",
39
- hint: "Use --stdin, --file, or individual flags.",
40
- },
41
- });
42
- this.exit(2);
43
- return;
44
- }
45
- }
46
- if (this.isDryRun) {
47
- this.outputResult((0, output_1.mutationEnvelope)("banners", "update (dry-run)", storeRef, { id: args.id, ...body }));
48
- return;
49
- }
50
- const result = await this.apiClient.storePut(`/banners/${args.id}`, body);
51
- this.outputResult((0, output_1.mutationEnvelope)("banners", "update", storeRef, result, {
52
- get: `ecomweb banners get ${args.id}`,
53
- }));
54
- }
55
- }
56
- BannersUpdate.description = "Update a banner by ID";
57
- BannersUpdate.examples = [
58
- `ecomweb banners update 42 --stdin <<< '{"title":"Updated Banner"}'`,
59
- "ecomweb banners update 42 --title 'New Title' --is-active",
60
- "ecomweb banners update 42 --file banner.json",
61
- ];
62
- BannersUpdate.args = {
63
- id: core_1.Args.integer({ description: "Banner ID", required: true }),
64
- };
65
- BannersUpdate.flags = {
66
- ...base_command_1.BaseCommand.baseFlags,
67
- stdin: core_1.Flags.boolean({ description: "Read JSON body from stdin" }),
68
- file: core_1.Flags.string({ description: "Read JSON body from file" }),
69
- title: core_1.Flags.string({ description: "Banner title" }),
70
- "image-url": core_1.Flags.string({ description: "Banner image URL" }),
71
- subtitle: core_1.Flags.string({ description: "Banner subtitle" }),
72
- "link-url": core_1.Flags.string({ description: "Banner link URL" }),
73
- "button-text": core_1.Flags.string({ description: "Banner button text" }),
74
- position: core_1.Flags.integer({ description: "Banner position" }),
75
- "is-active": core_1.Flags.boolean({
76
- description: "Whether banner is active",
77
- allowNo: true,
78
- }),
79
- };
80
- exports.default = BannersUpdate;
81
- //# sourceMappingURL=update.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/banners/update.ts"],"names":[],"mappings":"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"}