sf-plugin-cms 0.5.0 → 0.6.1
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/README.md +49 -14
- package/lib/commands/cms/export/workspace.d.ts +2 -0
- package/lib/commands/cms/export/workspace.js +58 -5
- package/lib/commands/cms/export/workspace.js.map +1 -1
- package/lib/commands/cms/import/workspace.d.ts +1 -1
- package/lib/commands/cms/import/workspace.js +2 -2
- package/lib/commands/cms/import/workspace.js.map +1 -1
- package/lib/contracts/workspace-export.d.ts +18 -0
- package/lib/contracts/workspace-export.js +53 -0
- package/lib/contracts/workspace-export.js.map +1 -1
- package/lib/contracts/workspace-import.d.ts +1 -0
- package/lib/contracts/workspace-import.js +13 -1
- package/lib/contracts/workspace-import.js.map +1 -1
- package/lib/generated/operations.d.ts +5 -0
- package/lib/generated/operations.js +6 -0
- package/lib/generated/operations.js.map +1 -1
- package/lib/services/bulk-export-workspaces.js +1 -1
- package/lib/services/bulk-export-workspaces.js.map +1 -1
- package/lib/services/cms-prerequisite-lookup.d.ts +16 -0
- package/lib/services/cms-prerequisite-lookup.js +89 -0
- package/lib/services/cms-prerequisite-lookup.js.map +1 -0
- package/lib/services/content-key.d.ts +9 -0
- package/lib/services/content-key.js +15 -0
- package/lib/services/content-key.js.map +1 -0
- package/lib/services/email-fragment.js +5 -1
- package/lib/services/email-fragment.js.map +1 -1
- package/lib/services/export-workspace.d.ts +2 -0
- package/lib/services/export-workspace.js +104 -47
- package/lib/services/export-workspace.js.map +1 -1
- package/lib/services/image-import.js +3 -7
- package/lib/services/image-import.js.map +1 -1
- package/lib/services/import-identities.js +5 -1
- package/lib/services/import-identities.js.map +1 -1
- package/lib/services/import-workspace.d.ts +48 -1
- package/lib/services/import-workspace.js +142 -19
- package/lib/services/import-workspace.js.map +1 -1
- package/lib/services/landing-page-pair-export.d.ts +31 -0
- package/lib/services/landing-page-pair-export.js +122 -0
- package/lib/services/landing-page-pair-export.js.map +1 -0
- package/lib/services/landing-page-template.d.ts +12 -2
- package/lib/services/landing-page-template.js +25 -74
- package/lib/services/landing-page-template.js.map +1 -1
- package/lib/services/landing-page.d.ts +45 -1
- package/lib/services/landing-page.js +241 -3
- package/lib/services/landing-page.js.map +1 -1
- package/lib/services/variant-identity.d.ts +14 -0
- package/lib/services/variant-identity.js +24 -0
- package/lib/services/variant-identity.js.map +1 -1
- package/lib/services/web-fragment.d.ts +12 -6
- package/lib/services/web-fragment.js +60 -19
- package/lib/services/web-fragment.js.map +1 -1
- package/messages/cms.export.workspace.md +20 -0
- package/messages/cms.import.workspace.md +6 -2
- package/package.json +1 -1
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { requiredVariantIdentifier } from './variant-identity.js';
|
|
2
|
+
export const LANDING_PAGE_TYPE = 'sfdc_cms__landingPage';
|
|
3
|
+
export const LANDING_PAGE_TEMPLATE_TYPE = 'sfdc_cms__landingPageTemplate';
|
|
4
|
+
function record(value) {
|
|
5
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
6
|
+
}
|
|
7
|
+
function nonempty(value, label) {
|
|
8
|
+
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
9
|
+
throw new TypeError(`${label} must be a nonempty string`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function exactKeys(value, required, optional, label) {
|
|
13
|
+
const keys = Object.keys(value);
|
|
14
|
+
if (required.some((key) => !keys.includes(key)) ||
|
|
15
|
+
keys.some((key) => !required.includes(key) && !optional.includes(key))) {
|
|
16
|
+
throw new TypeError(`${label} contains unsupported or missing fields`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export function parseLandingPagePairSelectors(value) {
|
|
20
|
+
if (!Array.isArray(value) || value.length === 0) {
|
|
21
|
+
throw new TypeError('Landing-page pair map must contain a nonempty JSON array');
|
|
22
|
+
}
|
|
23
|
+
const pageNames = new Set();
|
|
24
|
+
return value.map((raw, index) => {
|
|
25
|
+
if (!record(raw))
|
|
26
|
+
throw new TypeError(`Landing-page pair ${index} must be an object`);
|
|
27
|
+
exactKeys(raw, ['page', 'template'], [], `Landing-page pair ${index}`);
|
|
28
|
+
if (!record(raw.page) || !record(raw.template)) {
|
|
29
|
+
throw new TypeError(`Landing-page pair ${index} selectors must be objects`);
|
|
30
|
+
}
|
|
31
|
+
exactKeys(raw.page, ['apiName'], [], `Landing-page pair ${index}.page`);
|
|
32
|
+
exactKeys(raw.template, ['title'], ['apiName'], `Landing-page pair ${index}.template`);
|
|
33
|
+
nonempty(raw.page.apiName, `Landing-page pair ${index}.page.apiName`);
|
|
34
|
+
nonempty(raw.template.title, `Landing-page pair ${index}.template.title`);
|
|
35
|
+
if (raw.template.apiName !== undefined) {
|
|
36
|
+
nonempty(raw.template.apiName, `Landing-page pair ${index}.template.apiName`);
|
|
37
|
+
}
|
|
38
|
+
if (pageNames.has(raw.page.apiName)) {
|
|
39
|
+
throw new TypeError(`Duplicate landing-page pair selection: ${raw.page.apiName}`);
|
|
40
|
+
}
|
|
41
|
+
pageNames.add(raw.page.apiName);
|
|
42
|
+
return {
|
|
43
|
+
page: { apiName: raw.page.apiName },
|
|
44
|
+
template: {
|
|
45
|
+
title: raw.template.title,
|
|
46
|
+
...(raw.template.apiName === undefined ? {} : { apiName: raw.template.apiName }),
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function contentType(record_) {
|
|
52
|
+
return record(record_.contentType)
|
|
53
|
+
? record_.contentType.fullyQualifiedName
|
|
54
|
+
: record_.contentType;
|
|
55
|
+
}
|
|
56
|
+
function descriptorType(value) {
|
|
57
|
+
for (const key of ['contentType', 'contentTypeFQN', 'contentTypeFullyQualifiedName']) {
|
|
58
|
+
const candidate = value[key];
|
|
59
|
+
if (candidate === LANDING_PAGE_TEMPLATE_TYPE)
|
|
60
|
+
return candidate;
|
|
61
|
+
if (record(candidate) && candidate.fullyQualifiedName === LANDING_PAGE_TEMPLATE_TYPE) {
|
|
62
|
+
return LANDING_PAGE_TEMPLATE_TYPE;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
function declaredTemplateDescriptors(page) {
|
|
68
|
+
const containers = [];
|
|
69
|
+
if (Array.isArray(page.references))
|
|
70
|
+
containers.push(...page.references);
|
|
71
|
+
if (Array.isArray(page.referencesList))
|
|
72
|
+
containers.push(...page.referencesList);
|
|
73
|
+
return containers.filter((value) => record(value) && descriptorType(value) !== undefined);
|
|
74
|
+
}
|
|
75
|
+
function canonicalIdentity(record_, expectedVariantId, label) {
|
|
76
|
+
nonempty(record_.apiName, `${label}.apiName`);
|
|
77
|
+
nonempty(record_.contentKey, `${label}.contentKey`);
|
|
78
|
+
const variantId = requiredVariantIdentifier(record_, label);
|
|
79
|
+
if (variantId !== expectedVariantId) {
|
|
80
|
+
throw new TypeError(`${label} does not match its search variant ID`);
|
|
81
|
+
}
|
|
82
|
+
return { apiName: record_.apiName, contentKey: record_.contentKey, variantId };
|
|
83
|
+
}
|
|
84
|
+
export function bindLandingPageTemplatePairs(selectors, details) {
|
|
85
|
+
const pages = [...details.entries()].filter(([, value]) => contentType(value) === LANDING_PAGE_TYPE);
|
|
86
|
+
const templates = [...details.entries()].filter(([, value]) => contentType(value) === LANDING_PAGE_TEMPLATE_TYPE);
|
|
87
|
+
return selectors
|
|
88
|
+
.map((selector) => {
|
|
89
|
+
const pageMatches = pages.filter(([, value]) => value.apiName === selector.page.apiName);
|
|
90
|
+
if (pageMatches.length !== 1) {
|
|
91
|
+
throw new TypeError(`Exact landing-page API name must resolve once: ${selector.page.apiName}`);
|
|
92
|
+
}
|
|
93
|
+
const titleMatches = templates.filter(([, value]) => value.title === selector.template.title);
|
|
94
|
+
if (titleMatches.length !== 1) {
|
|
95
|
+
throw new TypeError(`Exact landing-page-template title must resolve once: ${selector.template.title}`);
|
|
96
|
+
}
|
|
97
|
+
const [templateVariantId, template] = titleMatches[0];
|
|
98
|
+
if (selector.template.apiName !== undefined &&
|
|
99
|
+
template.apiName !== selector.template.apiName) {
|
|
100
|
+
throw new TypeError(`Resolved landing-page-template API name does not match the independently known selector: ${selector.template.apiName}`);
|
|
101
|
+
}
|
|
102
|
+
const [pageVariantId, page] = pageMatches[0];
|
|
103
|
+
if (declaredTemplateDescriptors(page).length !== 1) {
|
|
104
|
+
throw new TypeError(`Landing page ${selector.page.apiName} does not contain exactly one structurally compatible declared template relationship`);
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
page: canonicalIdentity(page, pageVariantId, 'Landing-page pair page'),
|
|
108
|
+
template: {
|
|
109
|
+
requestedTitle: selector.template.title,
|
|
110
|
+
...canonicalIdentity(template, templateVariantId, 'Landing-page pair template'),
|
|
111
|
+
},
|
|
112
|
+
compatibility: {
|
|
113
|
+
basis: 'declared-source-pair',
|
|
114
|
+
relationship: 'opaque-structural-match',
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
})
|
|
118
|
+
.toSorted((left, right) => [left.page.apiName, left.template.requestedTitle, left.template.apiName]
|
|
119
|
+
.join('\0')
|
|
120
|
+
.localeCompare([right.page.apiName, right.template.requestedTitle, right.template.apiName].join('\0')));
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=landing-page-pair-export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"landing-page-pair-export.js","sourceRoot":"","sources":["../../src/services/landing-page-pair-export.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Connection } from '@salesforce/core';
|
|
2
|
-
import {
|
|
2
|
+
import type { JsonRequestOptions } from '../transport/json-request.js';
|
|
3
3
|
import type { LoadedWorkspaceExport, WorkspaceImportItem } from './import-workspace.js';
|
|
4
4
|
import type { PlannedImportIdentities } from './import-identities.js';
|
|
5
5
|
import { type WebFragmentDataGraphPrerequisite } from './web-fragment.js';
|
|
6
|
-
type RequestConnection = Pick<Connection, 'request'
|
|
6
|
+
type RequestConnection = Pick<Connection, 'request'> & Partial<Pick<Connection, 'version'>>;
|
|
7
7
|
type QueryConnection = {
|
|
8
8
|
readonly query?: Connection['query'];
|
|
9
9
|
};
|
|
@@ -21,6 +21,7 @@ export type PlannedLandingPageTemplateCopies = PlannedImportIdentities & {
|
|
|
21
21
|
readonly cmsPrerequisites: LandingPageTemplateCmsPrerequisite[];
|
|
22
22
|
readonly dataGraphs: WebFragmentDataGraphPrerequisite[];
|
|
23
23
|
};
|
|
24
|
+
export declare function assertDerivedLabelLength(apiName: string, contentType: string, label: string): void;
|
|
24
25
|
/**
|
|
25
26
|
* Validate the captured landing-page-template authoring shape.
|
|
26
27
|
* @param {WorkspaceImportItem} item - Captured workspace item to validate.
|
|
@@ -40,6 +41,15 @@ export declare function assertLandingPageTemplateItem(item: WorkspaceImportItem)
|
|
|
40
41
|
* @returns {PlannedLandingPageTemplateCopies} Validated create proposal.
|
|
41
42
|
*/
|
|
42
43
|
export declare function planLandingPageTemplateCopies(source: LoadedWorkspaceExport, input: unknown): PlannedLandingPageTemplateCopies;
|
|
44
|
+
/**
|
|
45
|
+
* Plan template-shaped creates while validating the actual outgoing content type.
|
|
46
|
+
* @param {LoadedWorkspaceExport} source - Verified source workspace package.
|
|
47
|
+
* @param {unknown} input - User-supplied template-shaped mapping JSON.
|
|
48
|
+
* @param {string} targetContentType - Outgoing Salesforce content type.
|
|
49
|
+
* @param {string} targetMappingLabel - User-facing mapping label.
|
|
50
|
+
* @returns {PlannedLandingPageTemplateCopies} Validated create proposal.
|
|
51
|
+
*/
|
|
52
|
+
export declare function planLandingPageTemplateCopiesForType(source: LoadedWorkspaceExport, input: unknown, targetContentType: string, targetMappingLabel: string): PlannedLandingPageTemplateCopies;
|
|
43
53
|
/**
|
|
44
54
|
* Resolve exact typed CMS dependencies, with title fallback only after zero API-name matches.
|
|
45
55
|
* @param {RequestConnection & QueryConnection} connection - Destination org connection.
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { isDeepStrictEqual } from 'node:util';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { assertCanonicalContentKey } from './content-key.js';
|
|
3
|
+
import { lookupExactCmsVariants } from './cms-prerequisite-lookup.js';
|
|
4
4
|
import { validateDataGraphPrerequisites, } from './web-fragment.js';
|
|
5
5
|
const TEMPLATE_TYPE = 'sfdc_cms__landingPageTemplate';
|
|
6
|
+
const SALESFORCE_LABEL_MAX_LENGTH = 80;
|
|
6
7
|
const DATA_GRAPH_PROVIDER = 'sfdc_cms__dataGraphDataProvider';
|
|
7
8
|
const BODY_KEYS = [
|
|
8
9
|
'lightning:backgroundImage',
|
|
@@ -20,8 +21,6 @@ const CMS_DEPENDENCY_TYPES = new Map([
|
|
|
20
21
|
['image', 'sfdc_cms__image'],
|
|
21
22
|
['webFragment', 'sfdc_cms__webFragment'],
|
|
22
23
|
]);
|
|
23
|
-
const PAGE_SIZE = 250;
|
|
24
|
-
const PAGE_CAP = 1000;
|
|
25
24
|
function record(value) {
|
|
26
25
|
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
27
26
|
}
|
|
@@ -36,6 +35,12 @@ function identifier(value, label) {
|
|
|
36
35
|
throw new TypeError(`${label} must be an exact developer/API name`);
|
|
37
36
|
}
|
|
38
37
|
}
|
|
38
|
+
export function assertDerivedLabelLength(apiName, contentType, label) {
|
|
39
|
+
const derivedLabel = `${apiName}--${contentType}`;
|
|
40
|
+
if (derivedLabel.length > SALESFORCE_LABEL_MAX_LENGTH) {
|
|
41
|
+
throw new TypeError(`${label} ${apiName} produces Salesforce label ${derivedLabel} with length ${derivedLabel.length}; maximum is ${SALESFORCE_LABEL_MAX_LENGTH}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
39
44
|
function exactKeys(value, required, optional, label) {
|
|
40
45
|
const keys = Object.keys(value);
|
|
41
46
|
if (required.some((key) => !keys.includes(key)) ||
|
|
@@ -141,6 +146,17 @@ function rows(value) {
|
|
|
141
146
|
* @returns {PlannedLandingPageTemplateCopies} Validated create proposal.
|
|
142
147
|
*/
|
|
143
148
|
export function planLandingPageTemplateCopies(source, input) {
|
|
149
|
+
return planLandingPageTemplateCopiesForType(source, input, TEMPLATE_TYPE, 'Template mapping');
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Plan template-shaped creates while validating the actual outgoing content type.
|
|
153
|
+
* @param {LoadedWorkspaceExport} source - Verified source workspace package.
|
|
154
|
+
* @param {unknown} input - User-supplied template-shaped mapping JSON.
|
|
155
|
+
* @param {string} targetContentType - Outgoing Salesforce content type.
|
|
156
|
+
* @param {string} targetMappingLabel - User-facing mapping label.
|
|
157
|
+
* @returns {PlannedLandingPageTemplateCopies} Validated create proposal.
|
|
158
|
+
*/
|
|
159
|
+
export function planLandingPageTemplateCopiesForType(source, input, targetContentType, targetMappingLabel) {
|
|
144
160
|
if (!source.integrity.verified)
|
|
145
161
|
throw new TypeError('Source integrity must be verified first');
|
|
146
162
|
const sourceKeys = new Set(source.items.map((item) => item.contentKey));
|
|
@@ -172,8 +188,10 @@ export function planLandingPageTemplateCopies(source, input) {
|
|
|
172
188
|
if (!record(row.target))
|
|
173
189
|
throw new TypeError(`Template mapping ${index}.target must be an object`);
|
|
174
190
|
exactKeys(row.target, ['contentKey', 'apiName'], [], `Template mapping ${index}.target`);
|
|
175
|
-
|
|
191
|
+
nonempty(row.target.contentKey, `Template mapping ${index}.target.contentKey`);
|
|
192
|
+
assertCanonicalContentKey(row.target.contentKey, `Template mapping ${index}.target.contentKey`);
|
|
176
193
|
identifier(row.target.apiName, `Template mapping ${index}.target.apiName`);
|
|
194
|
+
assertDerivedLabelLength(row.target.apiName, targetContentType, `${targetMappingLabel} ${index}.target.apiName`);
|
|
177
195
|
if (sourceKeys.has(row.target.contentKey) || targetKeys.has(row.target.contentKey)) {
|
|
178
196
|
throw new TypeError('Target template content keys must be fresh and unique');
|
|
179
197
|
}
|
|
@@ -281,73 +299,6 @@ export function planLandingPageTemplateCopies(source, input) {
|
|
|
281
299
|
dataGraphs,
|
|
282
300
|
};
|
|
283
301
|
}
|
|
284
|
-
function responseItems(value) {
|
|
285
|
-
if (!record(value) || !Array.isArray(value.items))
|
|
286
|
-
throw new TypeError('CMS prerequisite search must return items');
|
|
287
|
-
return value.items;
|
|
288
|
-
}
|
|
289
|
-
function responseCount(value) {
|
|
290
|
-
if (record(value)) {
|
|
291
|
-
for (const key of ['total', 'totalCount', 'count']) {
|
|
292
|
-
if (typeof value[key] === 'number' && Number.isInteger(value[key]) && value[key] >= 0)
|
|
293
|
-
return value[key];
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
throw new TypeError('CMS prerequisite search must return a count');
|
|
297
|
-
}
|
|
298
|
-
async function exactMatches(connection, workspaceId, contentType, queryTerm, predicate, options) {
|
|
299
|
-
const candidates = new Map();
|
|
300
|
-
let expected;
|
|
301
|
-
for (let page = 0; page < PAGE_CAP; page += 1) {
|
|
302
|
-
const response = await requestJson(connection, getSelectedOperation('workspace.variant.search'), {
|
|
303
|
-
query: {
|
|
304
|
-
contentSpaceOrFolderIds: [workspaceId],
|
|
305
|
-
contentTypeFQN: contentType,
|
|
306
|
-
languages: ['All'],
|
|
307
|
-
page,
|
|
308
|
-
pageSize: PAGE_SIZE,
|
|
309
|
-
queryTerm,
|
|
310
|
-
},
|
|
311
|
-
}, options);
|
|
312
|
-
const items = responseItems(response.data);
|
|
313
|
-
const count = responseCount(response.data);
|
|
314
|
-
if (expected === undefined)
|
|
315
|
-
expected = count;
|
|
316
|
-
else if (expected !== count)
|
|
317
|
-
throw new TypeError('CMS prerequisite search count changed');
|
|
318
|
-
for (const item of items) {
|
|
319
|
-
if (!record(item) ||
|
|
320
|
-
item.type !== 'ManagedContentVariantSearchResultRepresentation' ||
|
|
321
|
-
typeof item.id !== 'string' ||
|
|
322
|
-
item.managedContentSpaceId !== workspaceId ||
|
|
323
|
-
candidates.has(item.id)) {
|
|
324
|
-
throw new TypeError('CMS prerequisite search returned ambiguous scope evidence');
|
|
325
|
-
}
|
|
326
|
-
candidates.set(item.id, true);
|
|
327
|
-
}
|
|
328
|
-
if (items.length === 0 || candidates.size >= count)
|
|
329
|
-
break;
|
|
330
|
-
if (page === PAGE_CAP - 1)
|
|
331
|
-
throw new TypeError('CMS prerequisite search exceeded page cap');
|
|
332
|
-
}
|
|
333
|
-
if (expected === undefined || candidates.size !== expected)
|
|
334
|
-
throw new TypeError('CMS prerequisite search count was not satisfied');
|
|
335
|
-
const matches = [];
|
|
336
|
-
for (const id of candidates.keys()) {
|
|
337
|
-
const detail = await getVariant(connection, id, options);
|
|
338
|
-
const type = record(detail.contentType)
|
|
339
|
-
? detail.contentType.fullyQualifiedName
|
|
340
|
-
: detail.contentType;
|
|
341
|
-
if (!record(detail.contentSpace) ||
|
|
342
|
-
detail.contentSpace.id !== workspaceId ||
|
|
343
|
-
type !== contentType) {
|
|
344
|
-
throw new TypeError('CMS prerequisite detail changed workspace or type scope');
|
|
345
|
-
}
|
|
346
|
-
if (predicate(detail))
|
|
347
|
-
matches.push(detail);
|
|
348
|
-
}
|
|
349
|
-
return matches;
|
|
350
|
-
}
|
|
351
302
|
/**
|
|
352
303
|
* Resolve exact typed CMS dependencies, with title fallback only after zero API-name matches.
|
|
353
304
|
* @param {RequestConnection & QueryConnection} connection - Destination org connection.
|
|
@@ -361,7 +312,7 @@ export async function validateLandingPageTemplatePrerequisites(connection, works
|
|
|
361
312
|
const resolved = new Map();
|
|
362
313
|
for (const prerequisite of proposal.cmsPrerequisites) {
|
|
363
314
|
try {
|
|
364
|
-
const apiMatches = await
|
|
315
|
+
const apiMatches = await lookupExactCmsVariants(connection, workspaceId, prerequisite.targetContentType, prerequisite.targetApiName, (detail) => detail.apiName === prerequisite.targetApiName, options);
|
|
365
316
|
let match;
|
|
366
317
|
if (apiMatches.length === 1) {
|
|
367
318
|
match = apiMatches[0];
|
|
@@ -374,7 +325,7 @@ export async function validateLandingPageTemplatePrerequisites(connection, works
|
|
|
374
325
|
if (prerequisite.targetTitle === undefined) {
|
|
375
326
|
throw new TypeError(`CMS prerequisite API name was not found and no title fallback was provided: ${prerequisite.targetApiName}`);
|
|
376
327
|
}
|
|
377
|
-
const titleMatches = await
|
|
328
|
+
const titleMatches = await lookupExactCmsVariants(connection, workspaceId, prerequisite.targetContentType, prerequisite.targetTitle, (detail) => detail.title === prerequisite.targetTitle, options);
|
|
378
329
|
if (titleMatches.length !== 1) {
|
|
379
330
|
throw new TypeError(`CMS prerequisite title fallback must resolve exactly once: ${prerequisite.targetTitle}`);
|
|
380
331
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"landing-page-template.js","sourceRoot":"","sources":["../../src/services/landing-page-template.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"landing-page-template.js","sourceRoot":"","sources":["../../src/services/landing-page-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,51 @@
|
|
|
1
1
|
import type { Connection } from '@salesforce/core';
|
|
2
2
|
import type { JsonRequestOptions } from '../transport/json-request.js';
|
|
3
|
+
import type { LandingPageTemplatePair } from '../contracts/workspace-export.js';
|
|
3
4
|
import type { LoadedWorkspaceExport, WorkspaceImportItem } from './import-workspace.js';
|
|
4
5
|
import { type LandingPageTemplateCmsPrerequisite, type PlannedLandingPageTemplateCopies } from './landing-page-template.js';
|
|
5
|
-
|
|
6
|
+
declare const TEMPLATE_TYPE = "sfdc_cms__landingPageTemplate";
|
|
7
|
+
type RequestConnection = Pick<Connection, 'request'> & Partial<Pick<Connection, 'version'>> & {
|
|
6
8
|
readonly query?: Connection['query'];
|
|
7
9
|
};
|
|
8
10
|
export type LandingPageImagePrerequisite = LandingPageTemplateCmsPrerequisite & {
|
|
9
11
|
readonly sourceType: 'image';
|
|
10
12
|
readonly targetContentType: 'sfdc_cms__image';
|
|
11
13
|
};
|
|
14
|
+
export type LandingPageResolvedTemplateIdentity = {
|
|
15
|
+
readonly apiName: string;
|
|
16
|
+
readonly contentKey: string;
|
|
17
|
+
readonly contentId: string;
|
|
18
|
+
readonly variantId: string;
|
|
19
|
+
readonly title: string;
|
|
20
|
+
readonly contentType: typeof TEMPLATE_TYPE;
|
|
21
|
+
readonly workspaceId: string;
|
|
22
|
+
readonly status: 'Draft';
|
|
23
|
+
readonly isPublished: false;
|
|
24
|
+
readonly bodySha256: string;
|
|
25
|
+
};
|
|
26
|
+
export type LandingPageTemplateDependency = {
|
|
27
|
+
readonly source: LandingPageTemplatePair['template'];
|
|
28
|
+
readonly targetContentKey?: string;
|
|
29
|
+
readonly targetApiName?: string;
|
|
30
|
+
readonly targetTitle?: string;
|
|
31
|
+
resolution: 'content-key' | 'api-name' | 'title-fallback' | 'pending';
|
|
32
|
+
target?: LandingPageResolvedTemplateIdentity;
|
|
33
|
+
validationStatus: 'failed' | 'passed' | 'pending';
|
|
34
|
+
};
|
|
35
|
+
export type LandingPageCompatibilityPlan = {
|
|
36
|
+
readonly pageVariantId: string;
|
|
37
|
+
readonly sourceTemplateVariantId: string;
|
|
38
|
+
readonly relationshipReferenceId: string;
|
|
39
|
+
readonly relationshipDescriptorSha256: string;
|
|
40
|
+
readonly normalizationVersion: 'landing-page-template-compatibility-v1';
|
|
41
|
+
readonly normalizedPageBodySha256: string;
|
|
42
|
+
readonly normalizedTemplateBodySha256: string;
|
|
43
|
+
status: 'failed' | 'passed' | 'pending';
|
|
44
|
+
};
|
|
12
45
|
export type PlannedLandingPageCopies = Omit<PlannedLandingPageTemplateCopies, 'cmsPrerequisites'> & {
|
|
13
46
|
readonly cmsPrerequisites: LandingPageImagePrerequisite[];
|
|
47
|
+
readonly compatibility: LandingPageCompatibilityPlan[];
|
|
48
|
+
readonly templateDependencies: LandingPageTemplateDependency[];
|
|
14
49
|
};
|
|
15
50
|
/**
|
|
16
51
|
* Validate the exact captured landing-page authoring shape.
|
|
@@ -31,6 +66,15 @@ export declare function assertLandingPageItem(item: WorkspaceImportItem): {
|
|
|
31
66
|
* @returns {PlannedLandingPageCopies} Validated create proposal.
|
|
32
67
|
*/
|
|
33
68
|
export declare function planLandingPageCopies(source: LoadedWorkspaceExport, input: unknown): PlannedLandingPageCopies;
|
|
69
|
+
/**
|
|
70
|
+
* Resolve exact destination landing-page templates without mutating page bodies.
|
|
71
|
+
* @param {RequestConnection} connection - Destination org connection.
|
|
72
|
+
* @param {string} workspaceId - Exact destination workspace ID.
|
|
73
|
+
* @param {PlannedLandingPageCopies} proposal - Landing-page dependency plan.
|
|
74
|
+
* @param {JsonRequestOptions} options - Optional request metadata and signal.
|
|
75
|
+
* @returns {Promise<void>} Resolves after every target template is proven.
|
|
76
|
+
*/
|
|
77
|
+
export declare function resolveLandingPageTemplateDependencies(connection: RequestConnection, workspaceId: string, proposal: PlannedLandingPageCopies, options?: JsonRequestOptions): Promise<void>;
|
|
34
78
|
/**
|
|
35
79
|
* Resolve exact typed images, validate Data Graph identities, and rewrite evidenced references.
|
|
36
80
|
* @param {RequestConnection} connection - Destination org connection.
|