@revfleet/hscli 0.5.3
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 +466 -0
- package/LICENSE +21 -0
- package/README.md +287 -0
- package/SECURITY.md +68 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.js +192 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/account/index.d.ts +3 -0
- package/dist/commands/account/index.js +65 -0
- package/dist/commands/account/index.js.map +1 -0
- package/dist/commands/api/index.d.ts +3 -0
- package/dist/commands/api/index.js +35 -0
- package/dist/commands/api/index.js.map +1 -0
- package/dist/commands/auth/index.d.ts +3 -0
- package/dist/commands/auth/index.js +229 -0
- package/dist/commands/auth/index.js.map +1 -0
- package/dist/commands/automation/index.d.ts +3 -0
- package/dist/commands/automation/index.js +119 -0
- package/dist/commands/automation/index.js.map +1 -0
- package/dist/commands/cms/blog-settings.d.ts +3 -0
- package/dist/commands/cms/blog-settings.js +70 -0
- package/dist/commands/cms/blog-settings.js.map +1 -0
- package/dist/commands/cms/content-ops.d.ts +13 -0
- package/dist/commands/cms/content-ops.js +262 -0
- package/dist/commands/cms/content-ops.js.map +1 -0
- package/dist/commands/cms/hubdb.d.ts +3 -0
- package/dist/commands/cms/hubdb.js +55 -0
- package/dist/commands/cms/hubdb.js.map +1 -0
- package/dist/commands/cms/index.d.ts +3 -0
- package/dist/commands/cms/index.js +119 -0
- package/dist/commands/cms/index.js.map +1 -0
- package/dist/commands/cms/source-code.d.ts +3 -0
- package/dist/commands/cms/source-code.js +101 -0
- package/dist/commands/cms/source-code.js.map +1 -0
- package/dist/commands/communication-preferences/index.d.ts +3 -0
- package/dist/commands/communication-preferences/index.js +107 -0
- package/dist/commands/communication-preferences/index.js.map +1 -0
- package/dist/commands/conversations/index.d.ts +3 -0
- package/dist/commands/conversations/index.js +233 -0
- package/dist/commands/conversations/index.js.map +1 -0
- package/dist/commands/crm/associations.d.ts +3 -0
- package/dist/commands/crm/associations.js +180 -0
- package/dist/commands/crm/associations.js.map +1 -0
- package/dist/commands/crm/cards.d.ts +3 -0
- package/dist/commands/crm/cards.js +72 -0
- package/dist/commands/crm/cards.js.map +1 -0
- package/dist/commands/crm/carts.d.ts +3 -0
- package/dist/commands/crm/carts.js +5 -0
- package/dist/commands/crm/carts.js.map +1 -0
- package/dist/commands/crm/communications.d.ts +3 -0
- package/dist/commands/crm/communications.js +5 -0
- package/dist/commands/crm/communications.js.map +1 -0
- package/dist/commands/crm/companies.d.ts +3 -0
- package/dist/commands/crm/companies.js +5 -0
- package/dist/commands/crm/companies.js.map +1 -0
- package/dist/commands/crm/contacts.d.ts +3 -0
- package/dist/commands/crm/contacts.js +5 -0
- package/dist/commands/crm/contacts.js.map +1 -0
- package/dist/commands/crm/custom-objects.d.ts +3 -0
- package/dist/commands/crm/custom-objects.js +83 -0
- package/dist/commands/crm/custom-objects.js.map +1 -0
- package/dist/commands/crm/dated.d.ts +9 -0
- package/dist/commands/crm/dated.js +247 -0
- package/dist/commands/crm/dated.js.map +1 -0
- package/dist/commands/crm/deals.d.ts +3 -0
- package/dist/commands/crm/deals.js +5 -0
- package/dist/commands/crm/deals.js.map +1 -0
- package/dist/commands/crm/describe.d.ts +3 -0
- package/dist/commands/crm/describe.js +89 -0
- package/dist/commands/crm/describe.js.map +1 -0
- package/dist/commands/crm/discounts.d.ts +3 -0
- package/dist/commands/crm/discounts.js +5 -0
- package/dist/commands/crm/discounts.js.map +1 -0
- package/dist/commands/crm/engagements.d.ts +3 -0
- package/dist/commands/crm/engagements.js +8 -0
- package/dist/commands/crm/engagements.js.map +1 -0
- package/dist/commands/crm/fees.d.ts +3 -0
- package/dist/commands/crm/fees.js +5 -0
- package/dist/commands/crm/fees.js.map +1 -0
- package/dist/commands/crm/goals.d.ts +3 -0
- package/dist/commands/crm/goals.js +30 -0
- package/dist/commands/crm/goals.js.map +1 -0
- package/dist/commands/crm/imports.d.ts +3 -0
- package/dist/commands/crm/imports.js +45 -0
- package/dist/commands/crm/imports.js.map +1 -0
- package/dist/commands/crm/index.d.ts +3 -0
- package/dist/commands/crm/index.js +64 -0
- package/dist/commands/crm/index.js.map +1 -0
- package/dist/commands/crm/invoices.d.ts +3 -0
- package/dist/commands/crm/invoices.js +5 -0
- package/dist/commands/crm/invoices.js.map +1 -0
- package/dist/commands/crm/leads.d.ts +3 -0
- package/dist/commands/crm/leads.js +5 -0
- package/dist/commands/crm/leads.js.map +1 -0
- package/dist/commands/crm/line-items.d.ts +3 -0
- package/dist/commands/crm/line-items.js +5 -0
- package/dist/commands/crm/line-items.js.map +1 -0
- package/dist/commands/crm/orders.d.ts +3 -0
- package/dist/commands/crm/orders.js +5 -0
- package/dist/commands/crm/orders.js.map +1 -0
- package/dist/commands/crm/owners.d.ts +3 -0
- package/dist/commands/crm/owners.js +22 -0
- package/dist/commands/crm/owners.js.map +1 -0
- package/dist/commands/crm/payments.d.ts +3 -0
- package/dist/commands/crm/payments.js +5 -0
- package/dist/commands/crm/payments.js.map +1 -0
- package/dist/commands/crm/pipelines.d.ts +3 -0
- package/dist/commands/crm/pipelines.js +70 -0
- package/dist/commands/crm/pipelines.js.map +1 -0
- package/dist/commands/crm/products.d.ts +3 -0
- package/dist/commands/crm/products.js +5 -0
- package/dist/commands/crm/products.js.map +1 -0
- package/dist/commands/crm/properties.d.ts +3 -0
- package/dist/commands/crm/properties.js +103 -0
- package/dist/commands/crm/properties.js.map +1 -0
- package/dist/commands/crm/quotes.d.ts +3 -0
- package/dist/commands/crm/quotes.js +5 -0
- package/dist/commands/crm/quotes.js.map +1 -0
- package/dist/commands/crm/shared.d.ts +17 -0
- package/dist/commands/crm/shared.js +256 -0
- package/dist/commands/crm/shared.js.map +1 -0
- package/dist/commands/crm/subscriptions.d.ts +3 -0
- package/dist/commands/crm/subscriptions.js +5 -0
- package/dist/commands/crm/subscriptions.js.map +1 -0
- package/dist/commands/crm/sync.d.ts +3 -0
- package/dist/commands/crm/sync.js +116 -0
- package/dist/commands/crm/sync.js.map +1 -0
- package/dist/commands/crm/taxes.d.ts +3 -0
- package/dist/commands/crm/taxes.js +5 -0
- package/dist/commands/crm/taxes.js.map +1 -0
- package/dist/commands/crm/tickets.d.ts +3 -0
- package/dist/commands/crm/tickets.js +5 -0
- package/dist/commands/crm/tickets.js.map +1 -0
- package/dist/commands/crm/users.d.ts +3 -0
- package/dist/commands/crm/users.js +5 -0
- package/dist/commands/crm/users.js.map +1 -0
- package/dist/commands/doctor/index.d.ts +3 -0
- package/dist/commands/doctor/index.js +232 -0
- package/dist/commands/doctor/index.js.map +1 -0
- package/dist/commands/domains/shared.d.ts +13 -0
- package/dist/commands/domains/shared.js +56 -0
- package/dist/commands/domains/shared.js.map +1 -0
- package/dist/commands/email-events/index.d.ts +3 -0
- package/dist/commands/email-events/index.js +77 -0
- package/dist/commands/email-events/index.js.map +1 -0
- package/dist/commands/events/index.d.ts +3 -0
- package/dist/commands/events/index.js +80 -0
- package/dist/commands/events/index.js.map +1 -0
- package/dist/commands/exports/index.d.ts +3 -0
- package/dist/commands/exports/index.js +45 -0
- package/dist/commands/exports/index.js.map +1 -0
- package/dist/commands/extensions/index.d.ts +3 -0
- package/dist/commands/extensions/index.js +118 -0
- package/dist/commands/extensions/index.js.map +1 -0
- package/dist/commands/feature-flags/index.d.ts +3 -0
- package/dist/commands/feature-flags/index.js +65 -0
- package/dist/commands/feature-flags/index.js.map +1 -0
- package/dist/commands/files/folders.d.ts +3 -0
- package/dist/commands/files/folders.js +74 -0
- package/dist/commands/files/folders.js.map +1 -0
- package/dist/commands/files/index.d.ts +3 -0
- package/dist/commands/files/index.js +30 -0
- package/dist/commands/files/index.js.map +1 -0
- package/dist/commands/forms/index.d.ts +3 -0
- package/dist/commands/forms/index.js +37 -0
- package/dist/commands/forms/index.js.map +1 -0
- package/dist/commands/integrations/index.d.ts +3 -0
- package/dist/commands/integrations/index.js +64 -0
- package/dist/commands/integrations/index.js.map +1 -0
- package/dist/commands/integrators/index.d.ts +3 -0
- package/dist/commands/integrators/index.js +79 -0
- package/dist/commands/integrators/index.js.map +1 -0
- package/dist/commands/legacy/index.d.ts +13 -0
- package/dist/commands/legacy/index.js +254 -0
- package/dist/commands/legacy/index.js.map +1 -0
- package/dist/commands/legacy-v1/index.d.ts +29 -0
- package/dist/commands/legacy-v1/index.js +568 -0
- package/dist/commands/legacy-v1/index.js.map +1 -0
- package/dist/commands/lists/index.d.ts +3 -0
- package/dist/commands/lists/index.js +148 -0
- package/dist/commands/lists/index.js.map +1 -0
- package/dist/commands/marketing/ads.d.ts +3 -0
- package/dist/commands/marketing/ads.js +45 -0
- package/dist/commands/marketing/ads.js.map +1 -0
- package/dist/commands/marketing/behavioral-events.d.ts +3 -0
- package/dist/commands/marketing/behavioral-events.js +38 -0
- package/dist/commands/marketing/behavioral-events.js.map +1 -0
- package/dist/commands/marketing/events.d.ts +3 -0
- package/dist/commands/marketing/events.js +69 -0
- package/dist/commands/marketing/events.js.map +1 -0
- package/dist/commands/marketing/index.d.ts +3 -0
- package/dist/commands/marketing/index.js +55 -0
- package/dist/commands/marketing/index.js.map +1 -0
- package/dist/commands/marketing/landing-pages.d.ts +3 -0
- package/dist/commands/marketing/landing-pages.js +48 -0
- package/dist/commands/marketing/landing-pages.js.map +1 -0
- package/dist/commands/marketing/seo.d.ts +3 -0
- package/dist/commands/marketing/seo.js +35 -0
- package/dist/commands/marketing/seo.js.map +1 -0
- package/dist/commands/marketing/social.d.ts +3 -0
- package/dist/commands/marketing/social.js +45 -0
- package/dist/commands/marketing/social.js.map +1 -0
- package/dist/commands/marketing/subscriptions.d.ts +3 -0
- package/dist/commands/marketing/subscriptions.js +27 -0
- package/dist/commands/marketing/subscriptions.js.map +1 -0
- package/dist/commands/marketing/transactional.d.ts +3 -0
- package/dist/commands/marketing/transactional.js +30 -0
- package/dist/commands/marketing/transactional.js.map +1 -0
- package/dist/commands/marketing-emails-v1/index.d.ts +3 -0
- package/dist/commands/marketing-emails-v1/index.js +72 -0
- package/dist/commands/marketing-emails-v1/index.js.map +1 -0
- package/dist/commands/mcp.d.ts +2 -0
- package/dist/commands/mcp.js +10 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/media-bridge/index.d.ts +3 -0
- package/dist/commands/media-bridge/index.js +209 -0
- package/dist/commands/media-bridge/index.js.map +1 -0
- package/dist/commands/reporting/index.d.ts +3 -0
- package/dist/commands/reporting/index.js +73 -0
- package/dist/commands/reporting/index.js.map +1 -0
- package/dist/commands/sales/calling.d.ts +3 -0
- package/dist/commands/sales/calling.js +32 -0
- package/dist/commands/sales/calling.js.map +1 -0
- package/dist/commands/sales/index.d.ts +3 -0
- package/dist/commands/sales/index.js +10 -0
- package/dist/commands/sales/index.js.map +1 -0
- package/dist/commands/sales/meetings.d.ts +3 -0
- package/dist/commands/sales/meetings.js +37 -0
- package/dist/commands/sales/meetings.js.map +1 -0
- package/dist/commands/sales/sequences.d.ts +3 -0
- package/dist/commands/sales/sequences.js +78 -0
- package/dist/commands/sales/sequences.js.map +1 -0
- package/dist/commands/seed/cms.d.ts +6 -0
- package/dist/commands/seed/cms.js +204 -0
- package/dist/commands/seed/cms.js.map +1 -0
- package/dist/commands/seed/commerce.d.ts +3 -0
- package/dist/commands/seed/commerce.js +117 -0
- package/dist/commands/seed/commerce.js.map +1 -0
- package/dist/commands/seed/context.d.ts +8 -0
- package/dist/commands/seed/context.js +76 -0
- package/dist/commands/seed/context.js.map +1 -0
- package/dist/commands/seed/crm-core.d.ts +3 -0
- package/dist/commands/seed/crm-core.js +137 -0
- package/dist/commands/seed/crm-core.js.map +1 -0
- package/dist/commands/seed/data.d.ts +73 -0
- package/dist/commands/seed/data.js +49 -0
- package/dist/commands/seed/data.js.map +1 -0
- package/dist/commands/seed/engagements.d.ts +3 -0
- package/dist/commands/seed/engagements.js +89 -0
- package/dist/commands/seed/engagements.js.map +1 -0
- package/dist/commands/seed/index.d.ts +3 -0
- package/dist/commands/seed/index.js +95 -0
- package/dist/commands/seed/index.js.map +1 -0
- package/dist/commands/seed/infra.d.ts +6 -0
- package/dist/commands/seed/infra.js +163 -0
- package/dist/commands/seed/infra.js.map +1 -0
- package/dist/commands/seed/marketing.d.ts +3 -0
- package/dist/commands/seed/marketing.js +172 -0
- package/dist/commands/seed/marketing.js.map +1 -0
- package/dist/commands/seed/shared.d.ts +8 -0
- package/dist/commands/seed/shared.js +37 -0
- package/dist/commands/seed/shared.js.map +1 -0
- package/dist/commands/seed/types.d.ts +44 -0
- package/dist/commands/seed/types.js +2 -0
- package/dist/commands/seed/types.js.map +1 -0
- package/dist/commands/service/chatflows.d.ts +3 -0
- package/dist/commands/service/chatflows.js +30 -0
- package/dist/commands/service/chatflows.js.map +1 -0
- package/dist/commands/service/index.d.ts +3 -0
- package/dist/commands/service/index.js +25 -0
- package/dist/commands/service/index.js.map +1 -0
- package/dist/commands/service/knowledge-base.d.ts +3 -0
- package/dist/commands/service/knowledge-base.js +19 -0
- package/dist/commands/service/knowledge-base.js.map +1 -0
- package/dist/commands/service/pipelines.d.ts +3 -0
- package/dist/commands/service/pipelines.js +36 -0
- package/dist/commands/service/pipelines.js.map +1 -0
- package/dist/commands/settings/index.d.ts +3 -0
- package/dist/commands/settings/index.js +149 -0
- package/dist/commands/settings/index.js.map +1 -0
- package/dist/commands/site-search/index.d.ts +3 -0
- package/dist/commands/site-search/index.js +36 -0
- package/dist/commands/site-search/index.js.map +1 -0
- package/dist/commands/timeline/index.d.ts +3 -0
- package/dist/commands/timeline/index.js +32 -0
- package/dist/commands/timeline/index.js.map +1 -0
- package/dist/commands/webhooks/index.d.ts +3 -0
- package/dist/commands/webhooks/index.js +41 -0
- package/dist/commands/webhooks/index.js.map +1 -0
- package/dist/commands/workflows/index.d.ts +3 -0
- package/dist/commands/workflows/index.js +13 -0
- package/dist/commands/workflows/index.js.map +1 -0
- package/dist/core/auth.d.ts +33 -0
- package/dist/core/auth.js +137 -0
- package/dist/core/auth.js.map +1 -0
- package/dist/core/capabilities.d.ts +60 -0
- package/dist/core/capabilities.js +559 -0
- package/dist/core/capabilities.js.map +1 -0
- package/dist/core/http.d.ts +47 -0
- package/dist/core/http.js +433 -0
- package/dist/core/http.js.map +1 -0
- package/dist/core/output.d.ts +23 -0
- package/dist/core/output.js +197 -0
- package/dist/core/output.js.map +1 -0
- package/dist/core/permissions.d.ts +9 -0
- package/dist/core/permissions.js +27 -0
- package/dist/core/permissions.js.map +1 -0
- package/dist/core/plugins.d.ts +42 -0
- package/dist/core/plugins.js +94 -0
- package/dist/core/plugins.js.map +1 -0
- package/dist/core/policy.d.ts +2 -0
- package/dist/core/policy.js +38 -0
- package/dist/core/policy.js.map +1 -0
- package/dist/core/schema-cache.d.ts +56 -0
- package/dist/core/schema-cache.js +338 -0
- package/dist/core/schema-cache.js.map +1 -0
- package/dist/core/schemas.d.ts +96 -0
- package/dist/core/schemas.js +104 -0
- package/dist/core/schemas.js.map +1 -0
- package/dist/core/urls.d.ts +50 -0
- package/dist/core/urls.js +122 -0
- package/dist/core/urls.js.map +1 -0
- package/dist/core/vault.d.ts +37 -0
- package/dist/core/vault.js +143 -0
- package/dist/core/vault.js.map +1 -0
- package/dist/mcp/server.d.ts +5 -0
- package/dist/mcp/server.js +680 -0
- package/dist/mcp/server.js.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { createClient } from "../../core/http.js";
|
|
2
|
+
import { printResult } from "../../core/output.js";
|
|
3
|
+
import { appendOptional, encodePathSegment, maybeWrite, parseJsonPayload, parseNumberFlag } from "../crm/shared.js";
|
|
4
|
+
// CMS content types (pages, posts, authors, tags) share a common set of operations.
|
|
5
|
+
// This helper registers all of them for a given base path.
|
|
6
|
+
export function registerCmsContentCommands(parent, subName, description, basePath, getCtx, opts = {}) {
|
|
7
|
+
const cmd = parent.command(subName).description(description);
|
|
8
|
+
cmd
|
|
9
|
+
.command("list")
|
|
10
|
+
.description(`List ${subName}`)
|
|
11
|
+
.option("--limit <n>", "Max records", "50")
|
|
12
|
+
.option("--after <cursor>", "Paging cursor")
|
|
13
|
+
.option("--archived", "Include archived items")
|
|
14
|
+
.action(async (o) => {
|
|
15
|
+
const ctx = getCtx();
|
|
16
|
+
const client = createClient(ctx.profile);
|
|
17
|
+
const params = new URLSearchParams();
|
|
18
|
+
params.set("limit", String(parseNumberFlag(o.limit, "--limit")));
|
|
19
|
+
appendOptional(params, "after", o.after);
|
|
20
|
+
if (o.archived)
|
|
21
|
+
params.set("archived", "true");
|
|
22
|
+
const res = await client.request(`${basePath}?${params.toString()}`);
|
|
23
|
+
printResult(ctx, res);
|
|
24
|
+
});
|
|
25
|
+
cmd
|
|
26
|
+
.command("get")
|
|
27
|
+
.argument("<id>")
|
|
28
|
+
.description(`Get a ${subName} by id`)
|
|
29
|
+
.option("--archived", "Include archived version")
|
|
30
|
+
.action(async (id, o) => {
|
|
31
|
+
const ctx = getCtx();
|
|
32
|
+
const client = createClient(ctx.profile);
|
|
33
|
+
const seg = encodePathSegment(id, "id");
|
|
34
|
+
const params = new URLSearchParams();
|
|
35
|
+
if (o.archived)
|
|
36
|
+
params.set("archived", "true");
|
|
37
|
+
const qs = params.toString();
|
|
38
|
+
const res = await client.request(`${basePath}/${seg}${qs ? `?${qs}` : ""}`);
|
|
39
|
+
printResult(ctx, res);
|
|
40
|
+
});
|
|
41
|
+
cmd
|
|
42
|
+
.command("create")
|
|
43
|
+
.description(`Create a ${subName}`)
|
|
44
|
+
.requiredOption("--data <payload>", "Resource payload JSON")
|
|
45
|
+
.action(async (o) => {
|
|
46
|
+
const ctx = getCtx();
|
|
47
|
+
const client = createClient(ctx.profile);
|
|
48
|
+
const res = await maybeWrite(ctx, client, "POST", basePath, parseJsonPayload(o.data));
|
|
49
|
+
printResult(ctx, res);
|
|
50
|
+
});
|
|
51
|
+
cmd
|
|
52
|
+
.command("update")
|
|
53
|
+
.argument("<id>")
|
|
54
|
+
.description(`Update a ${subName}`)
|
|
55
|
+
.requiredOption("--data <payload>", "Partial JSON patch")
|
|
56
|
+
.action(async (id, o) => {
|
|
57
|
+
const ctx = getCtx();
|
|
58
|
+
const client = createClient(ctx.profile);
|
|
59
|
+
const seg = encodePathSegment(id, "id");
|
|
60
|
+
const res = await maybeWrite(ctx, client, "PATCH", `${basePath}/${seg}`, parseJsonPayload(o.data));
|
|
61
|
+
printResult(ctx, res);
|
|
62
|
+
});
|
|
63
|
+
cmd
|
|
64
|
+
.command("delete")
|
|
65
|
+
.argument("<id>")
|
|
66
|
+
.description(`Archive (soft-delete) a ${subName}`)
|
|
67
|
+
.action(async (id) => {
|
|
68
|
+
const ctx = getCtx();
|
|
69
|
+
const client = createClient(ctx.profile);
|
|
70
|
+
const seg = encodePathSegment(id, "id");
|
|
71
|
+
const res = await maybeWrite(ctx, client, "DELETE", `${basePath}/${seg}`);
|
|
72
|
+
printResult(ctx, res);
|
|
73
|
+
});
|
|
74
|
+
if (opts.batch !== false) {
|
|
75
|
+
const batch = cmd.command("batch").description("Batch operations");
|
|
76
|
+
batch.command("read")
|
|
77
|
+
.requiredOption("--data <payload>", "Batch read input JSON")
|
|
78
|
+
.action(async (o) => {
|
|
79
|
+
const ctx = getCtx();
|
|
80
|
+
const client = createClient(ctx.profile);
|
|
81
|
+
const res = await client.request(`${basePath}/batch-read`, { method: "POST", body: parseJsonPayload(o.data) });
|
|
82
|
+
printResult(ctx, res);
|
|
83
|
+
});
|
|
84
|
+
batch.command("create")
|
|
85
|
+
.requiredOption("--data <payload>", "Batch create input JSON")
|
|
86
|
+
.action(async (o) => {
|
|
87
|
+
const ctx = getCtx();
|
|
88
|
+
const client = createClient(ctx.profile);
|
|
89
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/batch-create`, parseJsonPayload(o.data));
|
|
90
|
+
printResult(ctx, res);
|
|
91
|
+
});
|
|
92
|
+
batch.command("update")
|
|
93
|
+
.requiredOption("--data <payload>", "Batch update input JSON")
|
|
94
|
+
.action(async (o) => {
|
|
95
|
+
const ctx = getCtx();
|
|
96
|
+
const client = createClient(ctx.profile);
|
|
97
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/batch-update`, parseJsonPayload(o.data));
|
|
98
|
+
printResult(ctx, res);
|
|
99
|
+
});
|
|
100
|
+
batch.command("archive")
|
|
101
|
+
.requiredOption("--data <payload>", "Batch archive input JSON")
|
|
102
|
+
.action(async (o) => {
|
|
103
|
+
const ctx = getCtx();
|
|
104
|
+
const client = createClient(ctx.profile);
|
|
105
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/batch-archive`, parseJsonPayload(o.data));
|
|
106
|
+
printResult(ctx, res);
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
if (opts.clone) {
|
|
110
|
+
cmd
|
|
111
|
+
.command("clone")
|
|
112
|
+
.description(`Clone a ${subName}`)
|
|
113
|
+
.requiredOption("--data <payload>", "Clone payload JSON: { id, cloneName? }")
|
|
114
|
+
.action(async (o) => {
|
|
115
|
+
const ctx = getCtx();
|
|
116
|
+
const client = createClient(ctx.profile);
|
|
117
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/clone`, parseJsonPayload(o.data));
|
|
118
|
+
printResult(ctx, res);
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
if (opts.schedule) {
|
|
122
|
+
cmd
|
|
123
|
+
.command("schedule")
|
|
124
|
+
.description(`Schedule a ${subName} for publication`)
|
|
125
|
+
.requiredOption("--data <payload>", "Schedule payload JSON: { id, publishDate }")
|
|
126
|
+
.action(async (o) => {
|
|
127
|
+
const ctx = getCtx();
|
|
128
|
+
const client = createClient(ctx.profile);
|
|
129
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/schedule`, parseJsonPayload(o.data));
|
|
130
|
+
printResult(ctx, res);
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
if (opts.drafts) {
|
|
134
|
+
const draft = cmd.command("draft").description("Draft operations");
|
|
135
|
+
draft.command("get").argument("<id>").action(async (id) => {
|
|
136
|
+
const ctx = getCtx();
|
|
137
|
+
const client = createClient(ctx.profile);
|
|
138
|
+
const seg = encodePathSegment(id, "id");
|
|
139
|
+
const res = await client.request(`${basePath}/${seg}/draft`);
|
|
140
|
+
printResult(ctx, res);
|
|
141
|
+
});
|
|
142
|
+
draft.command("update").argument("<id>").requiredOption("--data <payload>", "Draft patch JSON").action(async (id, o) => {
|
|
143
|
+
const ctx = getCtx();
|
|
144
|
+
const client = createClient(ctx.profile);
|
|
145
|
+
const seg = encodePathSegment(id, "id");
|
|
146
|
+
const res = await maybeWrite(ctx, client, "PATCH", `${basePath}/${seg}/draft`, parseJsonPayload(o.data));
|
|
147
|
+
printResult(ctx, res);
|
|
148
|
+
});
|
|
149
|
+
if (opts.pushLive !== false) {
|
|
150
|
+
draft.command("push-live").argument("<id>").action(async (id) => {
|
|
151
|
+
const ctx = getCtx();
|
|
152
|
+
const client = createClient(ctx.profile);
|
|
153
|
+
const seg = encodePathSegment(id, "id");
|
|
154
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/${seg}/draft/push-live`);
|
|
155
|
+
printResult(ctx, res);
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
draft.command("reset").argument("<id>").action(async (id) => {
|
|
159
|
+
const ctx = getCtx();
|
|
160
|
+
const client = createClient(ctx.profile);
|
|
161
|
+
const seg = encodePathSegment(id, "id");
|
|
162
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/${seg}/draft/reset`);
|
|
163
|
+
printResult(ctx, res);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
if (opts.revisions) {
|
|
167
|
+
const rev = cmd.command("revisions").description("Revisions for a content item");
|
|
168
|
+
rev.command("list").argument("<id>")
|
|
169
|
+
.option("--limit <n>", "Max records", "50")
|
|
170
|
+
.option("--after <cursor>", "Paging cursor")
|
|
171
|
+
.action(async (id, o) => {
|
|
172
|
+
const ctx = getCtx();
|
|
173
|
+
const client = createClient(ctx.profile);
|
|
174
|
+
const seg = encodePathSegment(id, "id");
|
|
175
|
+
const params = new URLSearchParams();
|
|
176
|
+
params.set("limit", String(parseNumberFlag(o.limit, "--limit")));
|
|
177
|
+
appendOptional(params, "after", o.after);
|
|
178
|
+
const res = await client.request(`${basePath}/${seg}/revisions?${params.toString()}`);
|
|
179
|
+
printResult(ctx, res);
|
|
180
|
+
});
|
|
181
|
+
rev.command("get").argument("<id>").argument("<revisionId>").action(async (id, revisionId) => {
|
|
182
|
+
const ctx = getCtx();
|
|
183
|
+
const client = createClient(ctx.profile);
|
|
184
|
+
const seg = encodePathSegment(id, "id");
|
|
185
|
+
const revSeg = encodePathSegment(revisionId, "revisionId");
|
|
186
|
+
const res = await client.request(`${basePath}/${seg}/revisions/${revSeg}`);
|
|
187
|
+
printResult(ctx, res);
|
|
188
|
+
});
|
|
189
|
+
rev.command("restore").argument("<id>").argument("<revisionId>").action(async (id, revisionId) => {
|
|
190
|
+
const ctx = getCtx();
|
|
191
|
+
const client = createClient(ctx.profile);
|
|
192
|
+
const seg = encodePathSegment(id, "id");
|
|
193
|
+
const revSeg = encodePathSegment(revisionId, "revisionId");
|
|
194
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/${seg}/revisions/${revSeg}/restore`);
|
|
195
|
+
printResult(ctx, res);
|
|
196
|
+
});
|
|
197
|
+
rev.command("restore-to-draft").argument("<id>").argument("<revisionId>").action(async (id, revisionId) => {
|
|
198
|
+
const ctx = getCtx();
|
|
199
|
+
const client = createClient(ctx.profile);
|
|
200
|
+
const seg = encodePathSegment(id, "id");
|
|
201
|
+
const revSeg = encodePathSegment(revisionId, "revisionId");
|
|
202
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/${seg}/revisions/${revSeg}/restore/to/draft`);
|
|
203
|
+
printResult(ctx, res);
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
if (opts.abTest) {
|
|
207
|
+
const ab = cmd.command("ab-test").description("A/B test operations");
|
|
208
|
+
ab.command("create-variation").requiredOption("--data <payload>", "Variation payload JSON").action(async (o) => {
|
|
209
|
+
const ctx = getCtx();
|
|
210
|
+
const client = createClient(ctx.profile);
|
|
211
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/ab-test/create/variation`, parseJsonPayload(o.data));
|
|
212
|
+
printResult(ctx, res);
|
|
213
|
+
});
|
|
214
|
+
ab.command("end").requiredOption("--data <payload>", "End payload JSON").action(async (o) => {
|
|
215
|
+
const ctx = getCtx();
|
|
216
|
+
const client = createClient(ctx.profile);
|
|
217
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/ab-test/end`, parseJsonPayload(o.data));
|
|
218
|
+
printResult(ctx, res);
|
|
219
|
+
});
|
|
220
|
+
ab.command("rerun").requiredOption("--data <payload>", "Rerun payload JSON").action(async (o) => {
|
|
221
|
+
const ctx = getCtx();
|
|
222
|
+
const client = createClient(ctx.profile);
|
|
223
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/ab-test/rerun`, parseJsonPayload(o.data));
|
|
224
|
+
printResult(ctx, res);
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
if (opts.multiLanguage) {
|
|
228
|
+
const ml = cmd.command("multi-language").description("Multi-language group operations");
|
|
229
|
+
ml.command("attach").requiredOption("--data <payload>", "Attach payload JSON").action(async (o) => {
|
|
230
|
+
const ctx = getCtx();
|
|
231
|
+
const client = createClient(ctx.profile);
|
|
232
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/multi-language/attach/to/lang-group`, parseJsonPayload(o.data));
|
|
233
|
+
printResult(ctx, res);
|
|
234
|
+
});
|
|
235
|
+
ml.command("create-variation").requiredOption("--data <payload>", "Variation payload JSON").action(async (o) => {
|
|
236
|
+
const ctx = getCtx();
|
|
237
|
+
const client = createClient(ctx.profile);
|
|
238
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/multi-language/create/language/variation`, parseJsonPayload(o.data));
|
|
239
|
+
printResult(ctx, res);
|
|
240
|
+
});
|
|
241
|
+
ml.command("detach").requiredOption("--data <payload>", "Detach payload JSON").action(async (o) => {
|
|
242
|
+
const ctx = getCtx();
|
|
243
|
+
const client = createClient(ctx.profile);
|
|
244
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/multi-language/detach/from/lang-group`, parseJsonPayload(o.data));
|
|
245
|
+
printResult(ctx, res);
|
|
246
|
+
});
|
|
247
|
+
ml.command("set-primary").requiredOption("--data <payload>", "Set-primary payload JSON").action(async (o) => {
|
|
248
|
+
const ctx = getCtx();
|
|
249
|
+
const client = createClient(ctx.profile);
|
|
250
|
+
const res = await maybeWrite(ctx, client, "PUT", `${basePath}/multi-language/set/new/lang/primary`, parseJsonPayload(o.data));
|
|
251
|
+
printResult(ctx, res);
|
|
252
|
+
});
|
|
253
|
+
ml.command("update-languages").requiredOption("--data <payload>", "Update-languages payload JSON").action(async (o) => {
|
|
254
|
+
const ctx = getCtx();
|
|
255
|
+
const client = createClient(ctx.profile);
|
|
256
|
+
const res = await maybeWrite(ctx, client, "POST", `${basePath}/multi-language/update/languages`, parseJsonPayload(o.data));
|
|
257
|
+
printResult(ctx, res);
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
return cmd;
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=content-ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-ops.js","sourceRoot":"","sources":["../../../src/commands/cms/content-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { createClient } from "../../core/http.js";
|
|
2
|
+
import { printResult } from "../../core/output.js";
|
|
3
|
+
import { encodePathSegment, maybeWrite, parseJsonPayload, parseNumberFlag, appendOptional } from "../crm/shared.js";
|
|
4
|
+
export function registerHubdb(cms, getCtx) {
|
|
5
|
+
const hubdb = cms.command("hubdb").description("HubDB tables");
|
|
6
|
+
hubdb
|
|
7
|
+
.command("list")
|
|
8
|
+
.option("--limit <n>", "Max records", "50")
|
|
9
|
+
.option("--after <cursor>", "Paging cursor")
|
|
10
|
+
.action(async (opts) => {
|
|
11
|
+
const ctx = getCtx();
|
|
12
|
+
const client = createClient(ctx.profile);
|
|
13
|
+
const params = new URLSearchParams();
|
|
14
|
+
params.set("limit", String(parseNumberFlag(opts.limit, "--limit")));
|
|
15
|
+
appendOptional(params, "after", opts.after);
|
|
16
|
+
const res = await client.request(`/cms/v3/hubdb/tables?${params.toString()}`);
|
|
17
|
+
printResult(ctx, res);
|
|
18
|
+
});
|
|
19
|
+
hubdb.command("get").argument("<tableId>").action(async (tableId) => {
|
|
20
|
+
const ctx = getCtx();
|
|
21
|
+
const client = createClient(ctx.profile);
|
|
22
|
+
const res = await client.request(`/cms/v3/hubdb/tables/${encodePathSegment(tableId, "tableId")}`);
|
|
23
|
+
printResult(ctx, res);
|
|
24
|
+
});
|
|
25
|
+
hubdb
|
|
26
|
+
.command("rows")
|
|
27
|
+
.argument("<tableId>")
|
|
28
|
+
.option("--limit <n>", "Max records", "50")
|
|
29
|
+
.option("--after <cursor>", "Paging cursor")
|
|
30
|
+
.action(async (tableId, opts) => {
|
|
31
|
+
const ctx = getCtx();
|
|
32
|
+
const client = createClient(ctx.profile);
|
|
33
|
+
const tableIdSegment = encodePathSegment(tableId, "tableId");
|
|
34
|
+
const params = new URLSearchParams();
|
|
35
|
+
params.set("limit", String(parseNumberFlag(opts.limit, "--limit")));
|
|
36
|
+
appendOptional(params, "after", opts.after);
|
|
37
|
+
const res = await client.request(`/cms/v3/hubdb/tables/${tableIdSegment}/rows?${params.toString()}`);
|
|
38
|
+
printResult(ctx, res);
|
|
39
|
+
});
|
|
40
|
+
hubdb.command("create").requiredOption("--data <payload>", "Table definition JSON").action(async (opts) => {
|
|
41
|
+
const ctx = getCtx();
|
|
42
|
+
const client = createClient(ctx.profile);
|
|
43
|
+
const payload = parseJsonPayload(opts.data);
|
|
44
|
+
const res = await maybeWrite(ctx, client, "POST", "/cms/v3/hubdb/tables", payload);
|
|
45
|
+
printResult(ctx, res);
|
|
46
|
+
});
|
|
47
|
+
hubdb.command("delete").argument("<tableId>").action(async (tableId) => {
|
|
48
|
+
const ctx = getCtx();
|
|
49
|
+
const client = createClient(ctx.profile);
|
|
50
|
+
const tableIdSegment = encodePathSegment(tableId, "tableId");
|
|
51
|
+
const res = await maybeWrite(ctx, client, "DELETE", `/cms/v3/hubdb/tables/draft/${tableIdSegment}`);
|
|
52
|
+
printResult(ctx, res);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=hubdb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hubdb.js","sourceRoot":"","sources":["../../../src/commands/cms/hubdb.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEpH,MAAM,UAAU,aAAa,CAAC,GAAY,EAAE,MAAwB;IAClE,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAE/D,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC;SAC1C,MAAM,CAAC,kBAAkB,EAAE,eAAe,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QACpE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,wBAAwB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9E,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAClE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,wBAAwB,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QAClG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,WAAW,CAAC;SACrB,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC;SAC1C,MAAM,CAAC,kBAAkB,EAAE,eAAe,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QACpE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,wBAAwB,cAAc,SAAS,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACrG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEL,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACxG,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACnF,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACrE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,8BAA8B,cAAc,EAAE,CAAC,CAAC;QACpG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { createClient } from "../../core/http.js";
|
|
2
|
+
import { printResult } from "../../core/output.js";
|
|
3
|
+
import { encodePathSegment, maybeWrite, parseJsonPayload } from "../crm/shared.js";
|
|
4
|
+
import { registerHubdb } from "./hubdb.js";
|
|
5
|
+
import { registerCmsContentCommands } from "./content-ops.js";
|
|
6
|
+
import { registerBlogSettings } from "./blog-settings.js";
|
|
7
|
+
import { registerSourceCode } from "./source-code.js";
|
|
8
|
+
export function registerCms(program, getCtx) {
|
|
9
|
+
const cms = program.command("cms").description("HubSpot CMS APIs");
|
|
10
|
+
// Site pages — full content lifecycle
|
|
11
|
+
registerCmsContentCommands(cms, "site-pages", "CMS website pages", "/cms/v3/pages/site-pages", getCtx, {
|
|
12
|
+
drafts: true, revisions: true, abTest: true, multiLanguage: true, clone: true, schedule: true, batch: true,
|
|
13
|
+
});
|
|
14
|
+
// Alias `pages` to site-pages for back-compat with 0.3.0 users
|
|
15
|
+
registerCmsContentCommands(cms, "pages", "Alias for site-pages (back-compat)", "/cms/v3/pages/site-pages", getCtx, {
|
|
16
|
+
drafts: true, revisions: true, abTest: true, multiLanguage: true, clone: true, schedule: true, batch: true,
|
|
17
|
+
});
|
|
18
|
+
// Landing pages — also supports landing-pages/folders sub-resource
|
|
19
|
+
registerCmsContentCommands(cms, "landing-pages", "CMS landing pages", "/cms/v3/pages/landing-pages", getCtx, {
|
|
20
|
+
drafts: true, revisions: true, abTest: true, multiLanguage: true, clone: true, schedule: true, batch: true,
|
|
21
|
+
});
|
|
22
|
+
// Landing page folders
|
|
23
|
+
registerCmsContentCommands(cms, "landing-page-folders", "Landing page folders (organizational)", "/cms/v3/pages/landing-pages/folders", getCtx, {
|
|
24
|
+
revisions: true, batch: true,
|
|
25
|
+
});
|
|
26
|
+
// Blog posts with full lifecycle
|
|
27
|
+
registerCmsContentCommands(cms, "blog-posts", "CMS blog posts", "/cms/v3/blogs/posts", getCtx, {
|
|
28
|
+
drafts: true, revisions: true, multiLanguage: true, clone: true, schedule: true, batch: true,
|
|
29
|
+
});
|
|
30
|
+
// Back-compat alias `blogs`
|
|
31
|
+
registerCmsContentCommands(cms, "blogs", "Alias for blog-posts (back-compat)", "/cms/v3/blogs/posts", getCtx, {
|
|
32
|
+
drafts: true, revisions: true, multiLanguage: true, clone: true, schedule: true, batch: true,
|
|
33
|
+
});
|
|
34
|
+
// Blog authors
|
|
35
|
+
registerCmsContentCommands(cms, "blog-authors", "CMS blog post authors", "/cms/v3/blogs/authors", getCtx, {
|
|
36
|
+
multiLanguage: true, batch: true,
|
|
37
|
+
});
|
|
38
|
+
// Blog tags
|
|
39
|
+
registerCmsContentCommands(cms, "blog-tags", "CMS blog post tags", "/cms/v3/blogs/tags", getCtx, {
|
|
40
|
+
multiLanguage: true, batch: true,
|
|
41
|
+
});
|
|
42
|
+
// URL redirects (no drafts/revisions for redirects)
|
|
43
|
+
registerCmsContentCommands(cms, "redirects", "CMS URL redirects", "/cms/v3/url-redirects", getCtx, {
|
|
44
|
+
batch: true,
|
|
45
|
+
});
|
|
46
|
+
// Blog settings (single-document style, not a list)
|
|
47
|
+
registerBlogSettings(cms, getCtx);
|
|
48
|
+
// Source code (theme/module file management via public API)
|
|
49
|
+
registerSourceCode(cms, getCtx);
|
|
50
|
+
// Domains (read-only)
|
|
51
|
+
const domains = cms.command("domains").description("CMS domains connected to the portal");
|
|
52
|
+
domains.command("list").action(async () => {
|
|
53
|
+
const ctx = getCtx();
|
|
54
|
+
const client = createClient(ctx.profile);
|
|
55
|
+
const res = await client.request(`/cms/v3/domains`);
|
|
56
|
+
printResult(ctx, res);
|
|
57
|
+
});
|
|
58
|
+
domains.command("get").argument("<domainId>").action(async (domainId) => {
|
|
59
|
+
const ctx = getCtx();
|
|
60
|
+
const client = createClient(ctx.profile);
|
|
61
|
+
const seg = encodePathSegment(domainId, "domainId");
|
|
62
|
+
const res = await client.request(`/cms/v3/domains/${seg}`);
|
|
63
|
+
printResult(ctx, res);
|
|
64
|
+
});
|
|
65
|
+
// CMS audit logs
|
|
66
|
+
cms.command("audit-logs").description("CMS content audit log").action(async () => {
|
|
67
|
+
const ctx = getCtx();
|
|
68
|
+
const client = createClient(ctx.profile);
|
|
69
|
+
const res = await client.request(`/cms/v3/audit-logs`);
|
|
70
|
+
printResult(ctx, res);
|
|
71
|
+
});
|
|
72
|
+
// Site search (already covered top-level; keep lightweight proxy here)
|
|
73
|
+
const search = cms.command("search").description("Site search index + query");
|
|
74
|
+
search.command("query").requiredOption("--q <text>", "Search query").action(async (o) => {
|
|
75
|
+
const ctx = getCtx();
|
|
76
|
+
const client = createClient(ctx.profile);
|
|
77
|
+
const params = new URLSearchParams();
|
|
78
|
+
params.set("q", String(o.q));
|
|
79
|
+
const res = await client.request(`/cms/v3/site-search/search?${params.toString()}`);
|
|
80
|
+
printResult(ctx, res);
|
|
81
|
+
});
|
|
82
|
+
search.command("indexed-data").argument("<contentId>").action(async (contentId) => {
|
|
83
|
+
const ctx = getCtx();
|
|
84
|
+
const client = createClient(ctx.profile);
|
|
85
|
+
const seg = encodePathSegment(contentId, "contentId");
|
|
86
|
+
const res = await client.request(`/cms/v3/site-search/indexed/data/${seg}`);
|
|
87
|
+
printResult(ctx, res);
|
|
88
|
+
});
|
|
89
|
+
// SEO audit
|
|
90
|
+
cms.command("seo-audit").description("CMS SEO recommendations audit").action(async () => {
|
|
91
|
+
const ctx = getCtx();
|
|
92
|
+
const client = createClient(ctx.profile);
|
|
93
|
+
const res = await client.request(`/cms/v3/seo/audit`);
|
|
94
|
+
printResult(ctx, res);
|
|
95
|
+
});
|
|
96
|
+
// Topics (clusters)
|
|
97
|
+
const topics = cms.command("topics").description("Blog/content topic clusters");
|
|
98
|
+
topics.command("list").action(async () => {
|
|
99
|
+
const ctx = getCtx();
|
|
100
|
+
const client = createClient(ctx.profile);
|
|
101
|
+
const res = await client.request(`/cms/v3/topics`);
|
|
102
|
+
printResult(ctx, res);
|
|
103
|
+
});
|
|
104
|
+
topics.command("get").argument("<topicId>").action(async (topicId) => {
|
|
105
|
+
const ctx = getCtx();
|
|
106
|
+
const client = createClient(ctx.profile);
|
|
107
|
+
const seg = encodePathSegment(topicId, "topicId");
|
|
108
|
+
const res = await client.request(`/cms/v3/topics/${seg}`);
|
|
109
|
+
printResult(ctx, res);
|
|
110
|
+
});
|
|
111
|
+
topics.command("create").requiredOption("--data <payload>", "Topic payload JSON").action(async (o) => {
|
|
112
|
+
const ctx = getCtx();
|
|
113
|
+
const client = createClient(ctx.profile);
|
|
114
|
+
const res = await maybeWrite(ctx, client, "POST", `/cms/v3/topics`, parseJsonPayload(o.data));
|
|
115
|
+
printResult(ctx, res);
|
|
116
|
+
});
|
|
117
|
+
registerHubdb(cms, getCtx);
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/cms/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { createClient } from "../../core/http.js";
|
|
2
|
+
import { printResult } from "../../core/output.js";
|
|
3
|
+
import { encodePathSegment, maybeWrite, parseJsonPayload } from "../crm/shared.js";
|
|
4
|
+
export function registerSourceCode(cms, getCtx) {
|
|
5
|
+
const sc = cms.command("source-code").description("CMS theme/module source code via public API");
|
|
6
|
+
sc.command("get")
|
|
7
|
+
.description("Get source-code file content by environment + path")
|
|
8
|
+
.argument("<environment>", "Environment: draft or published")
|
|
9
|
+
.argument("<path>", "File path relative to project root")
|
|
10
|
+
.action(async (environment, path) => {
|
|
11
|
+
const ctx = getCtx();
|
|
12
|
+
const client = createClient(ctx.profile);
|
|
13
|
+
const envSeg = encodePathSegment(environment, "environment");
|
|
14
|
+
const pathSeg = encodePathSegment(path, "path");
|
|
15
|
+
const res = await client.request(`/cms/v3/source-code/${envSeg}/content/${pathSeg}`);
|
|
16
|
+
printResult(ctx, res);
|
|
17
|
+
});
|
|
18
|
+
sc.command("create")
|
|
19
|
+
.description("Create a new source-code file at environment/path")
|
|
20
|
+
.argument("<environment>", "Environment: draft or published")
|
|
21
|
+
.argument("<path>", "Destination path")
|
|
22
|
+
.requiredOption("--data <payload>", "File payload JSON")
|
|
23
|
+
.action(async (environment, path, o) => {
|
|
24
|
+
const ctx = getCtx();
|
|
25
|
+
const client = createClient(ctx.profile);
|
|
26
|
+
const envSeg = encodePathSegment(environment, "environment");
|
|
27
|
+
const pathSeg = encodePathSegment(path, "path");
|
|
28
|
+
const res = await maybeWrite(ctx, client, "POST", `/cms/v3/source-code/${envSeg}/content/${pathSeg}`, parseJsonPayload(o.data));
|
|
29
|
+
printResult(ctx, res);
|
|
30
|
+
});
|
|
31
|
+
sc.command("update")
|
|
32
|
+
.description("Replace contents of an existing source-code file")
|
|
33
|
+
.argument("<environment>", "Environment: draft or published")
|
|
34
|
+
.argument("<path>", "Destination path")
|
|
35
|
+
.requiredOption("--data <payload>", "File payload JSON")
|
|
36
|
+
.action(async (environment, path, o) => {
|
|
37
|
+
const ctx = getCtx();
|
|
38
|
+
const client = createClient(ctx.profile);
|
|
39
|
+
const envSeg = encodePathSegment(environment, "environment");
|
|
40
|
+
const pathSeg = encodePathSegment(path, "path");
|
|
41
|
+
const res = await maybeWrite(ctx, client, "PUT", `/cms/v3/source-code/${envSeg}/content/${pathSeg}`, parseJsonPayload(o.data));
|
|
42
|
+
printResult(ctx, res);
|
|
43
|
+
});
|
|
44
|
+
sc.command("delete")
|
|
45
|
+
.description("Delete a source-code file at environment/path")
|
|
46
|
+
.argument("<environment>", "Environment: draft or published")
|
|
47
|
+
.argument("<path>", "Destination path")
|
|
48
|
+
.action(async (environment, path) => {
|
|
49
|
+
const ctx = getCtx();
|
|
50
|
+
const client = createClient(ctx.profile);
|
|
51
|
+
const envSeg = encodePathSegment(environment, "environment");
|
|
52
|
+
const pathSeg = encodePathSegment(path, "path");
|
|
53
|
+
const res = await maybeWrite(ctx, client, "DELETE", `/cms/v3/source-code/${envSeg}/content/${pathSeg}`);
|
|
54
|
+
printResult(ctx, res);
|
|
55
|
+
});
|
|
56
|
+
sc.command("metadata")
|
|
57
|
+
.description("Get metadata for a source-code file")
|
|
58
|
+
.argument("<environment>", "Environment: draft or published")
|
|
59
|
+
.argument("<path>", "File path")
|
|
60
|
+
.action(async (environment, path) => {
|
|
61
|
+
const ctx = getCtx();
|
|
62
|
+
const client = createClient(ctx.profile);
|
|
63
|
+
const envSeg = encodePathSegment(environment, "environment");
|
|
64
|
+
const pathSeg = encodePathSegment(path, "path");
|
|
65
|
+
const res = await client.request(`/cms/v3/source-code/${envSeg}/metadata/${pathSeg}`);
|
|
66
|
+
printResult(ctx, res);
|
|
67
|
+
});
|
|
68
|
+
sc.command("validate")
|
|
69
|
+
.description("Validate a source-code file before publishing")
|
|
70
|
+
.argument("<environment>", "Environment: draft or published")
|
|
71
|
+
.argument("<path>", "File path")
|
|
72
|
+
.requiredOption("--data <payload>", "Validation payload JSON")
|
|
73
|
+
.action(async (environment, path, o) => {
|
|
74
|
+
const ctx = getCtx();
|
|
75
|
+
const client = createClient(ctx.profile);
|
|
76
|
+
const envSeg = encodePathSegment(environment, "environment");
|
|
77
|
+
const pathSeg = encodePathSegment(path, "path");
|
|
78
|
+
const res = await maybeWrite(ctx, client, "POST", `/cms/v3/source-code/${envSeg}/validate/${pathSeg}`, parseJsonPayload(o.data));
|
|
79
|
+
printResult(ctx, res);
|
|
80
|
+
});
|
|
81
|
+
sc.command("extract")
|
|
82
|
+
.description("Kick off an async extract of source-code as a zip")
|
|
83
|
+
.requiredOption("--data <payload>", "Extract payload JSON")
|
|
84
|
+
.action(async (o) => {
|
|
85
|
+
const ctx = getCtx();
|
|
86
|
+
const client = createClient(ctx.profile);
|
|
87
|
+
const res = await maybeWrite(ctx, client, "POST", `/cms/v3/source-code/extract/async`, parseJsonPayload(o.data));
|
|
88
|
+
printResult(ctx, res);
|
|
89
|
+
});
|
|
90
|
+
sc.command("extract-status")
|
|
91
|
+
.description("Poll status for an async extract task")
|
|
92
|
+
.argument("<taskId>")
|
|
93
|
+
.action(async (taskId) => {
|
|
94
|
+
const ctx = getCtx();
|
|
95
|
+
const client = createClient(ctx.profile);
|
|
96
|
+
const seg = encodePathSegment(taskId, "taskId");
|
|
97
|
+
const res = await client.request(`/cms/v3/source-code/extract/async/tasks/${seg}/status`);
|
|
98
|
+
printResult(ctx, res);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=source-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-code.js","sourceRoot":"","sources":["../../../src/commands/cms/source-code.ts"],"names":[],"mappings":"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"}
|