@salesforce/plugin-omnistudio-migration-tool 2.0.0-preview.10 → 2.0.0-preview.12
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/lib/commands/omnistudio/migration/assess.d.ts +5 -0
- package/lib/commands/omnistudio/migration/assess.js +22 -12
- package/lib/commands/omnistudio/migration/assess.js.map +1 -1
- package/lib/commands/omnistudio/migration/migrate.d.ts +27 -0
- package/lib/commands/omnistudio/migration/migrate.js +84 -16
- package/lib/commands/omnistudio/migration/migrate.js.map +1 -1
- package/lib/error/errorInterfaces.d.ts +5 -0
- package/lib/error/errorInterfaces.js +9 -1
- package/lib/error/errorInterfaces.js.map +1 -1
- package/lib/migration/dataraptor.js +15 -0
- package/lib/migration/dataraptor.js.map +1 -1
- package/lib/migration/flexcard.d.ts +3 -0
- package/lib/migration/flexcard.js +40 -1
- package/lib/migration/flexcard.js.map +1 -1
- package/lib/migration/omniscript.d.ts +3 -0
- package/lib/migration/omniscript.js +64 -2
- package/lib/migration/omniscript.js.map +1 -1
- package/lib/migration/postMigrate.js +1 -1
- package/lib/migration/postMigrate.js.map +1 -1
- package/lib/migration/premigrate.js +7 -0
- package/lib/migration/premigrate.js.map +1 -1
- package/lib/migration/related/ExperienceSiteMigration.js +2 -1
- package/lib/migration/related/ExperienceSiteMigration.js.map +1 -1
- package/lib/migration/related/FlexipageMigration.js +1 -1
- package/lib/migration/related/FlexipageMigration.js.map +1 -1
- package/lib/utils/config/OmniStudioMetadataCleanupService.js +5 -0
- package/lib/utils/config/OmniStudioMetadataCleanupService.js.map +1 -1
- package/lib/utils/constants/stringContants.d.ts +2 -0
- package/lib/utils/constants/stringContants.js +3 -0
- package/lib/utils/constants/stringContants.js.map +1 -1
- package/lib/utils/dataModelService.d.ts +2 -0
- package/lib/utils/dataModelService.js +13 -1
- package/lib/utils/dataModelService.js.map +1 -1
- package/lib/utils/flexipage/flexiPageTransformer.js +14 -1
- package/lib/utils/flexipage/flexiPageTransformer.js.map +1 -1
- package/lib/utils/orgUtils/index.d.ts +8 -0
- package/lib/utils/orgUtils/index.js +32 -1
- package/lib/utils/orgUtils/index.js.map +1 -1
- package/lib/utils/resultsbuilder/assessmentReporter.d.ts +12 -7
- package/lib/utils/resultsbuilder/assessmentReporter.js +68 -216
- package/lib/utils/resultsbuilder/assessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/helpers/AssessmentReportHelper.d.ts +94 -0
- package/lib/utils/resultsbuilder/helpers/AssessmentReportHelper.js +317 -0
- package/lib/utils/resultsbuilder/helpers/AssessmentReportHelper.js.map +1 -0
- package/lib/utils/resultsbuilder/index.d.ts +7 -1
- package/lib/utils/resultsbuilder/index.js +90 -44
- package/lib/utils/resultsbuilder/index.js.map +1 -1
- package/lib/utils/validatorService.js +0 -8
- package/lib/utils/validatorService.js.map +1 -1
- package/messages/assess.json +10 -6
- package/messages/migrate.json +8 -5
- package/oclif.manifest.json +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AssessmentReportHelper = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const stringContants_1 = require("../../constants/stringContants");
|
|
10
|
+
const generate_1 = require("../../templateParser/generate");
|
|
11
|
+
const reportUtil_1 = require("../../reportGenerator/reportUtil");
|
|
12
|
+
const logger_1 = require("../../logger");
|
|
13
|
+
const dataModelService_1 = require("../../dataModelService");
|
|
14
|
+
const OSAssessmentReporter_1 = require("../OSAssessmentReporter");
|
|
15
|
+
const ApexAssessmentReporter_1 = require("../ApexAssessmentReporter");
|
|
16
|
+
const IPAssessmentReporter_1 = require("../IPAssessmentReporter");
|
|
17
|
+
const DRAssessmentReporter_1 = require("../DRAssessmentReporter");
|
|
18
|
+
const FlexcardAssessmentReporter_1 = require("../FlexcardAssessmentReporter");
|
|
19
|
+
const LWCAssessmentReporter_1 = require("../LWCAssessmentReporter");
|
|
20
|
+
const GlobalAutoNumberAssessmentReporter_1 = require("../GlobalAutoNumberAssessmentReporter");
|
|
21
|
+
const FlexipageAssessmentReporter_1 = require("../FlexipageAssessmentReporter");
|
|
22
|
+
const ExperienceSiteAssessmentReporter_1 = require("../ExperienceSiteAssessmentReporter");
|
|
23
|
+
const CustomLabelAssessmentReporter_1 = require("../CustomLabelAssessmentReporter");
|
|
24
|
+
/**
|
|
25
|
+
* Helper class for assessment report generation
|
|
26
|
+
* Handles document generation, dashboard creation, and summary item creation
|
|
27
|
+
*/
|
|
28
|
+
class AssessmentReportHelper {
|
|
29
|
+
// =============================================================================
|
|
30
|
+
// PUBLIC METHODS - DASHBOARD GENERATION
|
|
31
|
+
// =============================================================================
|
|
32
|
+
/**
|
|
33
|
+
* Creates the assessment dashboard
|
|
34
|
+
*/
|
|
35
|
+
static createDashboard(basePath, dashboardFileName, templateDir, result, omnistudioOrgDetails, messages, reports, userActionMessages) {
|
|
36
|
+
const dashboardTemplatePath = path_1.default.join(__dirname, '..', '..', '..', templateDir, this.DASHBOARD_TEMPLATE_NAME);
|
|
37
|
+
const dashboardTemplate = fs_1.default.readFileSync(dashboardTemplatePath, 'utf8');
|
|
38
|
+
const dashboardParam = this.createDashboardParam(result, omnistudioOrgDetails, reports, userActionMessages, messages);
|
|
39
|
+
const dashboardHtml = generate_1.TemplateParser.generate(dashboardTemplate, dashboardParam, messages);
|
|
40
|
+
fs_1.default.writeFileSync(path_1.default.join(basePath, dashboardFileName), dashboardHtml);
|
|
41
|
+
}
|
|
42
|
+
// =============================================================================
|
|
43
|
+
// PUBLIC METHODS - SUMMARY ITEMS CREATION
|
|
44
|
+
// =============================================================================
|
|
45
|
+
/**
|
|
46
|
+
* Creates all summary items for the given reports
|
|
47
|
+
*/
|
|
48
|
+
static createSummaryItems(result, omnistudioOrgDetails, reports, messages) {
|
|
49
|
+
const summaryItems = [];
|
|
50
|
+
if (reports.includes(stringContants_1.Constants.DataMapper)) {
|
|
51
|
+
summaryItems.push(this.createDataMapperSummaryItem(result, messages));
|
|
52
|
+
}
|
|
53
|
+
if (reports.includes(stringContants_1.Constants.IntegrationProcedure)) {
|
|
54
|
+
summaryItems.push(this.createIntegrationProcedureSummaryItem(result, messages));
|
|
55
|
+
}
|
|
56
|
+
if (reports.includes(stringContants_1.Constants.Omniscript)) {
|
|
57
|
+
summaryItems.push(this.createOmniscriptSummaryItem(result, messages));
|
|
58
|
+
}
|
|
59
|
+
if (reports.includes(stringContants_1.Constants.Flexcard)) {
|
|
60
|
+
summaryItems.push(this.createFlexcardSummaryItem(result, messages));
|
|
61
|
+
}
|
|
62
|
+
if (reports.includes(stringContants_1.Constants.GlobalAutoNumber)) {
|
|
63
|
+
summaryItems.push(this.createGlobalAutoNumberSummaryItem(result, messages, omnistudioOrgDetails));
|
|
64
|
+
}
|
|
65
|
+
if (reports.includes(stringContants_1.Constants.Apex)) {
|
|
66
|
+
summaryItems.push(this.createApexSummaryItem(result));
|
|
67
|
+
}
|
|
68
|
+
if (reports.includes(stringContants_1.Constants.FlexiPage)) {
|
|
69
|
+
summaryItems.push(this.createFlexipageSummaryItem(result));
|
|
70
|
+
}
|
|
71
|
+
if (reports.includes(stringContants_1.Constants.ExpSites)) {
|
|
72
|
+
summaryItems.push(this.createExperienceSiteSummaryItem(result));
|
|
73
|
+
}
|
|
74
|
+
if (reports.includes(stringContants_1.Constants.LWC)) {
|
|
75
|
+
summaryItems.push(this.createLWCSummaryItem(result));
|
|
76
|
+
}
|
|
77
|
+
if (reports.includes(stringContants_1.Constants.CustomLabel)) {
|
|
78
|
+
summaryItems.push(this.createCustomLabelSummaryItem(result));
|
|
79
|
+
}
|
|
80
|
+
return summaryItems;
|
|
81
|
+
}
|
|
82
|
+
// =============================================================================
|
|
83
|
+
// PUBLIC METHODS - DOCUMENT GENERATION
|
|
84
|
+
// =============================================================================
|
|
85
|
+
/**
|
|
86
|
+
* Creates a document by writing HTML content to a file
|
|
87
|
+
*/
|
|
88
|
+
static createDocument(filePath, htmlBody) {
|
|
89
|
+
fs_1.default.writeFileSync(filePath, htmlBody);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Generates Omniscript assessment document
|
|
93
|
+
*/
|
|
94
|
+
static generateOmniscriptDocument(basePath, fileName, result, instanceUrl, omnistudioOrgDetails, messages, template) {
|
|
95
|
+
if ((0, dataModelService_1.isStandardDataModelWithMetadataAPIEnabled)()) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
this.createDocument(path_1.default.join(basePath, fileName), generate_1.TemplateParser.generate(template, OSAssessmentReporter_1.OSAssessmentReporter.getOmniscriptAssessmentData(result.omniAssessmentInfo.osAssessmentInfos, instanceUrl, omnistudioOrgDetails), messages));
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Generates Flexcard assessment document
|
|
102
|
+
*/
|
|
103
|
+
static generateFlexcardDocument(basePath, fileName, result, instanceUrl, omnistudioOrgDetails, messages, template) {
|
|
104
|
+
if ((0, dataModelService_1.isStandardDataModelWithMetadataAPIEnabled)()) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
this.createDocument(path_1.default.join(basePath, fileName), generate_1.TemplateParser.generate(template, FlexcardAssessmentReporter_1.FlexcardAssessmentReporter.getFlexcardAssessmentData(result.flexCardAssessmentInfos, instanceUrl, omnistudioOrgDetails), messages));
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Generates Integration Procedure assessment document
|
|
111
|
+
*/
|
|
112
|
+
static generateIntegrationProcedureDocument(basePath, fileName, result, instanceUrl, omnistudioOrgDetails, messages, template) {
|
|
113
|
+
if ((0, dataModelService_1.isStandardDataModelWithMetadataAPIEnabled)()) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
this.createDocument(path_1.default.join(basePath, fileName), generate_1.TemplateParser.generate(template, IPAssessmentReporter_1.IPAssessmentReporter.getIntegrationProcedureAssessmentData(result.omniAssessmentInfo.ipAssessmentInfos, instanceUrl, omnistudioOrgDetails), messages));
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Generates Data Mapper assessment document
|
|
120
|
+
*/
|
|
121
|
+
static generateDataMapperDocument(basePath, fileName, result, instanceUrl, omnistudioOrgDetails, messages, template) {
|
|
122
|
+
if ((0, dataModelService_1.isStandardDataModelWithMetadataAPIEnabled)()) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
this.createDocument(path_1.default.join(basePath, fileName), generate_1.TemplateParser.generate(template, DRAssessmentReporter_1.DRAssessmentReporter.getDatamapperAssessmentData(result.dataRaptorAssessmentInfos, instanceUrl, omnistudioOrgDetails), messages));
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Generates Global Auto Number assessment document
|
|
129
|
+
*/
|
|
130
|
+
static generateGlobalAutoNumberDocument(basePath, fileName, result, instanceUrl, omnistudioOrgDetails, messages, template) {
|
|
131
|
+
if (!(0, dataModelService_1.isFoundationPackage)()) {
|
|
132
|
+
this.createDocument(path_1.default.join(basePath, fileName), generate_1.TemplateParser.generate(template, GlobalAutoNumberAssessmentReporter_1.GlobalAutoNumberAssessmentReporter.getGlobalAutoNumberAssessmentData(result.globalAutoNumberAssessmentInfos, instanceUrl, omnistudioOrgDetails), messages));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Generates Apex assessment document
|
|
137
|
+
*/
|
|
138
|
+
static generateApexDocument(basePath, fileName, result, omnistudioOrgDetails, messages, template) {
|
|
139
|
+
this.createDocument(path_1.default.join(basePath, fileName), generate_1.TemplateParser.generate(template, ApexAssessmentReporter_1.ApexAssessmentReporter.getApexAssessmentData(result.apexAssessmentInfos, omnistudioOrgDetails), messages));
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Generates Experience Site assessment document
|
|
143
|
+
*/
|
|
144
|
+
static generateExperienceSiteDocument(basePath, fileName, result, omnistudioOrgDetails, messages, template) {
|
|
145
|
+
this.createDocument(path_1.default.join(basePath, fileName), generate_1.TemplateParser.generate(template, ExperienceSiteAssessmentReporter_1.ExperienceSiteAssessmentReporter.getExperienceSiteAssessmentData(result.experienceSiteAssessmentInfos, omnistudioOrgDetails), messages));
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Generates Flexipage assessment document
|
|
149
|
+
*/
|
|
150
|
+
static generateFlexipageDocument(basePath, fileName, result, omnistudioOrgDetails, messages, template) {
|
|
151
|
+
this.createDocument(path_1.default.join(basePath, fileName), generate_1.TemplateParser.generate(template, FlexipageAssessmentReporter_1.FlexipageAssessmentReporter.getFlexipageAssessmentData(result.flexipageAssessmentInfos, omnistudioOrgDetails), messages));
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Generates LWC assessment document
|
|
155
|
+
*/
|
|
156
|
+
static generateLWCDocument(basePath, fileName, result, omnistudioOrgDetails, messages, template) {
|
|
157
|
+
this.createDocument(path_1.default.join(basePath, fileName), generate_1.TemplateParser.generate(template, LWCAssessmentReporter_1.LWCAssessmentReporter.getLwcAssessmentData(result.lwcAssessmentInfos, omnistudioOrgDetails), messages));
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Generates Custom Label assessment document with pagination
|
|
161
|
+
*/
|
|
162
|
+
static generateCustomLabelDocument(basePath, fileName, customLabels, instanceUrl, omnistudioOrgDetails, messages, template) {
|
|
163
|
+
const pageSize = 1000;
|
|
164
|
+
const totalLabels = customLabels.length;
|
|
165
|
+
const totalPages = Math.max(1, Math.ceil(totalLabels / pageSize));
|
|
166
|
+
// Generate paginated reports
|
|
167
|
+
for (let page = 1; page <= totalPages; page++) {
|
|
168
|
+
const data = CustomLabelAssessmentReporter_1.CustomLabelAssessmentReporter.getCustomLabelAssessmentData(customLabels, instanceUrl, omnistudioOrgDetails, page, pageSize);
|
|
169
|
+
const html = generate_1.TemplateParser.generate(template, data, messages);
|
|
170
|
+
const pageFileName = totalPages > 1 ? `customlabel_assessment_Page_${page}_of_${totalPages}.html` : fileName;
|
|
171
|
+
this.createDocument(path_1.default.join(basePath, pageFileName), html);
|
|
172
|
+
logger_1.Logger.logVerbose(messages.getMessage('generatedCustomLabelAssessmentReportPage', [page, totalPages, data.rows.length]));
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// =============================================================================
|
|
176
|
+
// PRIVATE METHODS - DASHBOARD HELPERS
|
|
177
|
+
// =============================================================================
|
|
178
|
+
/**
|
|
179
|
+
* Creates the dashboard parameters
|
|
180
|
+
*/
|
|
181
|
+
static createDashboardParam(result, omnistudioOrgDetails, reports, userActionMessages, messages) {
|
|
182
|
+
const summaryItems = this.createSummaryItems(result, omnistudioOrgDetails, reports, messages);
|
|
183
|
+
return {
|
|
184
|
+
title: 'Omnistudio Assessment Report Dashboard',
|
|
185
|
+
heading: 'Omnistudio Assessment Report Dashboard',
|
|
186
|
+
org: (0, reportUtil_1.getOrgDetailsForReport)(omnistudioOrgDetails),
|
|
187
|
+
assessmentDate: new Date().toLocaleString(),
|
|
188
|
+
summaryItems,
|
|
189
|
+
mode: 'assess',
|
|
190
|
+
actionItems: userActionMessages,
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
// =============================================================================
|
|
194
|
+
// PRIVATE METHODS - SUMMARY ITEM CREATORS
|
|
195
|
+
// =============================================================================
|
|
196
|
+
static createDataMapperSummaryItem(result, messages) {
|
|
197
|
+
return this.createSummaryItem('Data Mappers', result.dataRaptorAssessmentInfos, this.DATA_MAPPER_FILE, DRAssessmentReporter_1.DRAssessmentReporter, messages.getMessage('processingNotRequired'));
|
|
198
|
+
}
|
|
199
|
+
static createIntegrationProcedureSummaryItem(result, messages) {
|
|
200
|
+
return this.createSummaryItem('Integration Procedures', result.omniAssessmentInfo.ipAssessmentInfos, this.INTEGRATION_PROCEDURE_FILE, IPAssessmentReporter_1.IPAssessmentReporter, messages.getMessage('processingNotRequired'));
|
|
201
|
+
}
|
|
202
|
+
static createOmniscriptSummaryItem(result, messages) {
|
|
203
|
+
return this.createSummaryItem('Omniscripts', result.omniAssessmentInfo.osAssessmentInfos, this.OMNISCRIPT_FILE, OSAssessmentReporter_1.OSAssessmentReporter, messages.getMessage('processingNotRequired'));
|
|
204
|
+
}
|
|
205
|
+
static createFlexcardSummaryItem(result, messages) {
|
|
206
|
+
return this.createSummaryItem('Flexcards', result.flexCardAssessmentInfos, this.FLEXCARD_FILE, FlexcardAssessmentReporter_1.FlexcardAssessmentReporter, messages.getMessage('processingNotRequired'));
|
|
207
|
+
}
|
|
208
|
+
static createGlobalAutoNumberSummaryItem(result, messages, omnistudioOrgDetails) {
|
|
209
|
+
const isFoundationPkg = omnistudioOrgDetails.isFoundationPackage;
|
|
210
|
+
return {
|
|
211
|
+
name: 'Omni Global Auto Numbers',
|
|
212
|
+
total: isFoundationPkg ? 0 : result.globalAutoNumberAssessmentInfos.length,
|
|
213
|
+
data: isFoundationPkg
|
|
214
|
+
? this.getSummaryDataWithCustomMessage(messages.getMessage('globalAutoNumberUnSupportedInOmnistudioPackage'))
|
|
215
|
+
: GlobalAutoNumberAssessmentReporter_1.GlobalAutoNumberAssessmentReporter.getSummaryData(result.globalAutoNumberAssessmentInfos),
|
|
216
|
+
file: this.GLOBAL_AUTO_NUMBER_FILE,
|
|
217
|
+
showDetails: !isFoundationPkg,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
static createApexSummaryItem(result) {
|
|
221
|
+
return {
|
|
222
|
+
name: 'Apex Classes',
|
|
223
|
+
total: result.apexAssessmentInfos.length,
|
|
224
|
+
data: ApexAssessmentReporter_1.ApexAssessmentReporter.getSummaryData(result.apexAssessmentInfos),
|
|
225
|
+
file: this.APEX_FILE,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
static createFlexipageSummaryItem(result) {
|
|
229
|
+
return {
|
|
230
|
+
name: 'FlexiPages',
|
|
231
|
+
total: result.flexipageAssessmentInfos.length,
|
|
232
|
+
data: FlexipageAssessmentReporter_1.FlexipageAssessmentReporter.getSummaryData(result.flexipageAssessmentInfos),
|
|
233
|
+
file: this.FLEXIPAGE_FILE,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
static createExperienceSiteSummaryItem(result) {
|
|
237
|
+
return {
|
|
238
|
+
name: 'Experience Cloud Site Pages',
|
|
239
|
+
total: result.experienceSiteAssessmentInfos.flatMap((info) => info.experienceSiteAssessmentPageInfos).length,
|
|
240
|
+
data: ExperienceSiteAssessmentReporter_1.ExperienceSiteAssessmentReporter.getSummaryData(result.experienceSiteAssessmentInfos),
|
|
241
|
+
file: this.EXPERIENCE_SITE_FILE,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
static createLWCSummaryItem(result) {
|
|
245
|
+
return {
|
|
246
|
+
name: 'Lightning Web Components',
|
|
247
|
+
total: result.lwcAssessmentInfos.length,
|
|
248
|
+
data: LWCAssessmentReporter_1.LWCAssessmentReporter.getSummaryData(result.lwcAssessmentInfos),
|
|
249
|
+
file: this.LWC_FILE,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
static createCustomLabelSummaryItem(result) {
|
|
253
|
+
return {
|
|
254
|
+
name: 'Custom Labels',
|
|
255
|
+
total: result.customLabelStatistics.totalLabels,
|
|
256
|
+
data: [
|
|
257
|
+
{
|
|
258
|
+
name: 'Ready for migration',
|
|
259
|
+
count: result.customLabelStatistics.readyForMigration,
|
|
260
|
+
cssClass: 'text-success',
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
name: 'Warning',
|
|
264
|
+
count: result.customLabelStatistics.warnings,
|
|
265
|
+
cssClass: 'text-warning',
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
name: 'Needs manual intervention',
|
|
269
|
+
count: result.customLabelStatistics.needManualIntervention,
|
|
270
|
+
cssClass: 'text-error',
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
name: 'Failed',
|
|
274
|
+
count: result.customLabelStatistics.failed,
|
|
275
|
+
cssClass: 'text-error',
|
|
276
|
+
},
|
|
277
|
+
],
|
|
278
|
+
file: this.getCustomLabelAssessmentFileName(result.customLabelStatistics.needManualIntervention),
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
static createSummaryItem(name, assessmentData, fileName, reporter, customMessage) {
|
|
282
|
+
return {
|
|
283
|
+
name,
|
|
284
|
+
total: (0, dataModelService_1.isStandardDataModelWithMetadataAPIEnabled)() ? 0 : assessmentData.length,
|
|
285
|
+
data: (0, dataModelService_1.isStandardDataModelWithMetadataAPIEnabled)()
|
|
286
|
+
? this.getSummaryDataWithCustomMessage(customMessage)
|
|
287
|
+
: reporter.getSummaryData(assessmentData),
|
|
288
|
+
file: fileName,
|
|
289
|
+
showDetails: !(0, dataModelService_1.isStandardDataModelWithMetadataAPIEnabled)(),
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Helper method to return custom message data for summary items
|
|
294
|
+
*/
|
|
295
|
+
static getSummaryDataWithCustomMessage(customMessage) {
|
|
296
|
+
return [{ name: customMessage, count: 0, cssClass: 'text-warning' }];
|
|
297
|
+
}
|
|
298
|
+
static getCustomLabelAssessmentFileName(totalLabels) {
|
|
299
|
+
const pageSize = 1000;
|
|
300
|
+
const totalPages = Math.max(1, Math.ceil(totalLabels / pageSize));
|
|
301
|
+
return totalPages > 1 ? `customlabel_assessment_Page_1_of_${totalPages}.html` : this.CUSTOM_LABEL_FILE;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
exports.AssessmentReportHelper = AssessmentReportHelper;
|
|
305
|
+
// File name constants
|
|
306
|
+
AssessmentReportHelper.DATA_MAPPER_FILE = 'datamapper_assessment.html';
|
|
307
|
+
AssessmentReportHelper.INTEGRATION_PROCEDURE_FILE = 'integration_procedure_assessment.html';
|
|
308
|
+
AssessmentReportHelper.OMNISCRIPT_FILE = 'omniscript_assessment.html';
|
|
309
|
+
AssessmentReportHelper.FLEXCARD_FILE = 'flexcard_assessment.html';
|
|
310
|
+
AssessmentReportHelper.GLOBAL_AUTO_NUMBER_FILE = 'globalautonumber_assessment.html';
|
|
311
|
+
AssessmentReportHelper.APEX_FILE = 'apex_assessment.html';
|
|
312
|
+
AssessmentReportHelper.FLEXIPAGE_FILE = 'flexipage_assessment.html';
|
|
313
|
+
AssessmentReportHelper.EXPERIENCE_SITE_FILE = 'experience_site_assessment.html';
|
|
314
|
+
AssessmentReportHelper.LWC_FILE = 'lwc_assessment.html';
|
|
315
|
+
AssessmentReportHelper.CUSTOM_LABEL_FILE = 'customlabel_assessment.html';
|
|
316
|
+
AssessmentReportHelper.DASHBOARD_TEMPLATE_NAME = 'dashboard.template';
|
|
317
|
+
//# sourceMappingURL=AssessmentReportHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssessmentReportHelper.js","sourceRoot":"","sources":["../../../../src/utils/resultsbuilder/helpers/AssessmentReportHelper.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAKxB,mEAA2D;AAC3D,4DAA+D;AAC/D,iEAA0E;AAE1E,yCAAsC;AACtC,6DAAwG;AACxG,kEAA+D;AAC/D,sEAAmE;AACnE,kEAA+D;AAC/D,kEAA+D;AAC/D,8EAA2E;AAC3E,oEAAiE;AACjE,8FAA2F;AAC3F,gFAA6E;AAC7E,0FAAuF;AACvF,oFAAiF;AAEjF;;;GAGG;AACH,MAAa,sBAAsB;IAcjC,gFAAgF;IAChF,wCAAwC;IACxC,gFAAgF;IAEhF;;OAEG;IACI,MAAM,CAAC,eAAe,CAC3B,QAAgB,EAChB,iBAAyB,EACzB,WAAmB,EACnB,MAAsB,EACtB,oBAA0C,EAC1C,QAAkB,EAClB,OAAiB,EACjB,kBAA4B;QAE5B,MAAM,qBAAqB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAChH,MAAM,iBAAiB,GAAG,YAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAEzE,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAC9C,MAAM,EACN,oBAAoB,EACpB,OAAO,EACP,kBAAkB,EAClB,QAAQ,CACT,CAAC;QAEF,MAAM,aAAa,GAAG,yBAAc,CAAC,QAAQ,CAAC,iBAAiB,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC3F,YAAE,CAAC,aAAa,CAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC;IAED,gFAAgF;IAChF,0CAA0C;IAC1C,gFAAgF;IAEhF;;OAEG;IACI,MAAM,CAAC,kBAAkB,CAC9B,MAAsB,EACtB,oBAA0C,EAC1C,OAAiB,EACjB,QAAkB;QAElB,MAAM,YAAY,GAAuB,EAAE,CAAC;QAE5C,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAAS,CAAC,UAAU,CAAC,EAAE;YAC1C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;SACvE;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAAS,CAAC,oBAAoB,CAAC,EAAE;YACpD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;SACjF;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAAS,CAAC,UAAU,CAAC,EAAE;YAC1C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;SACvE;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAAS,CAAC,QAAQ,CAAC,EAAE;YACxC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;SACrE;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAAS,CAAC,gBAAgB,CAAC,EAAE;YAChD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC;SACnG;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAAS,CAAC,IAAI,CAAC,EAAE;YACpC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;SACvD;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAAS,CAAC,SAAS,CAAC,EAAE;YACzC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;SAC5D;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAAS,CAAC,QAAQ,CAAC,EAAE;YACxC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC,CAAC;SACjE;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAAS,CAAC,GAAG,CAAC,EAAE;YACnC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;SACtD;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAAS,CAAC,WAAW,CAAC,EAAE;YAC3C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,CAAC;SAC9D;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,gFAAgF;IAChF,uCAAuC;IACvC,gFAAgF;IAEhF;;OAEG;IACI,MAAM,CAAC,cAAc,CAAC,QAAgB,EAAE,QAAgB;QAC7D,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,0BAA0B,CACtC,QAAgB,EAChB,QAAgB,EAChB,MAAsB,EACtB,WAAmB,EACnB,oBAA0C,EAC1C,QAAkB,EAClB,QAAgB;QAEhB,IAAI,IAAA,4DAAyC,GAAE,EAAE;YAC/C,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CACjB,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC7B,yBAAc,CAAC,QAAQ,CACrB,QAAQ,EACR,2CAAoB,CAAC,2BAA2B,CAC9C,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,EAC3C,WAAW,EACX,oBAAoB,CACrB,EACD,QAAQ,CACT,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,wBAAwB,CACpC,QAAgB,EAChB,QAAgB,EAChB,MAAsB,EACtB,WAAmB,EACnB,oBAA0C,EAC1C,QAAkB,EAClB,QAAgB;QAEhB,IAAI,IAAA,4DAAyC,GAAE,EAAE;YAC/C,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CACjB,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC7B,yBAAc,CAAC,QAAQ,CACrB,QAAQ,EACR,uDAA0B,CAAC,yBAAyB,CAClD,MAAM,CAAC,uBAAuB,EAC9B,WAAW,EACX,oBAAoB,CACrB,EACD,QAAQ,CACT,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,oCAAoC,CAChD,QAAgB,EAChB,QAAgB,EAChB,MAAsB,EACtB,WAAmB,EACnB,oBAA0C,EAC1C,QAAkB,EAClB,QAAgB;QAEhB,IAAI,IAAA,4DAAyC,GAAE,EAAE;YAC/C,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CACjB,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC7B,yBAAc,CAAC,QAAQ,CACrB,QAAQ,EACR,2CAAoB,CAAC,qCAAqC,CACxD,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,EAC3C,WAAW,EACX,oBAAoB,CACrB,EACD,QAAQ,CACT,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,0BAA0B,CACtC,QAAgB,EAChB,QAAgB,EAChB,MAAsB,EACtB,WAAmB,EACnB,oBAA0C,EAC1C,QAAkB,EAClB,QAAgB;QAEhB,IAAI,IAAA,4DAAyC,GAAE,EAAE;YAC/C,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CACjB,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC7B,yBAAc,CAAC,QAAQ,CACrB,QAAQ,EACR,2CAAoB,CAAC,2BAA2B,CAC9C,MAAM,CAAC,yBAAyB,EAChC,WAAW,EACX,oBAAoB,CACrB,EACD,QAAQ,CACT,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,gCAAgC,CAC5C,QAAgB,EAChB,QAAgB,EAChB,MAAsB,EACtB,WAAmB,EACnB,oBAA0C,EAC1C,QAAkB,EAClB,QAAgB;QAEhB,IAAI,CAAC,IAAA,sCAAmB,GAAE,EAAE;YAC1B,IAAI,CAAC,cAAc,CACjB,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC7B,yBAAc,CAAC,QAAQ,CACrB,QAAQ,EACR,uEAAkC,CAAC,iCAAiC,CAClE,MAAM,CAAC,+BAA+B,EACtC,WAAW,EACX,oBAAoB,CACrB,EACD,QAAQ,CACT,CACF,CAAC;SACH;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,oBAAoB,CAChC,QAAgB,EAChB,QAAgB,EAChB,MAAsB,EACtB,oBAA0C,EAC1C,QAAkB,EAClB,QAAgB;QAEhB,IAAI,CAAC,cAAc,CACjB,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC7B,yBAAc,CAAC,QAAQ,CACrB,QAAQ,EACR,+CAAsB,CAAC,qBAAqB,CAAC,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,EAC9F,QAAQ,CACT,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,8BAA8B,CAC1C,QAAgB,EAChB,QAAgB,EAChB,MAAsB,EACtB,oBAA0C,EAC1C,QAAkB,EAClB,QAAgB;QAEhB,IAAI,CAAC,cAAc,CACjB,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC7B,yBAAc,CAAC,QAAQ,CACrB,QAAQ,EACR,mEAAgC,CAAC,+BAA+B,CAC9D,MAAM,CAAC,6BAA6B,EACpC,oBAAoB,CACrB,EACD,QAAQ,CACT,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,yBAAyB,CACrC,QAAgB,EAChB,QAAgB,EAChB,MAAsB,EACtB,oBAA0C,EAC1C,QAAkB,EAClB,QAAgB;QAEhB,IAAI,CAAC,cAAc,CACjB,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC7B,yBAAc,CAAC,QAAQ,CACrB,QAAQ,EACR,yDAA2B,CAAC,0BAA0B,CAAC,MAAM,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,EAC7G,QAAQ,CACT,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,mBAAmB,CAC/B,QAAgB,EAChB,QAAgB,EAChB,MAAsB,EACtB,oBAA0C,EAC1C,QAAkB,EAClB,QAAgB;QAEhB,IAAI,CAAC,cAAc,CACjB,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC7B,yBAAc,CAAC,QAAQ,CACrB,QAAQ,EACR,6CAAqB,CAAC,oBAAoB,CAAC,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,EAC3F,QAAQ,CACT,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,2BAA2B,CACvC,QAAgB,EAChB,QAAgB,EAChB,YAAyC,EACzC,WAAmB,EACnB,oBAA0C,EAC1C,QAAkB,EAClB,QAAgB;QAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC;QACtB,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC;QAElE,6BAA6B;QAC7B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,UAAU,EAAE,IAAI,EAAE,EAAE;YAC7C,MAAM,IAAI,GAAG,6DAA6B,CAAC,4BAA4B,CACrE,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,IAAI,EACJ,QAAQ,CACT,CAAC;YAEF,MAAM,IAAI,GAAG,yBAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE/D,MAAM,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,+BAA+B,IAAI,OAAO,UAAU,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC7G,IAAI,CAAC,cAAc,CAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;YAE7D,eAAM,CAAC,UAAU,CACf,QAAQ,CAAC,UAAU,CAAC,0CAA0C,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CACtG,CAAC;SACH;IACH,CAAC;IAED,gFAAgF;IAChF,sCAAsC;IACtC,gFAAgF;IAEhF;;OAEG;IACK,MAAM,CAAC,oBAAoB,CACjC,MAAsB,EACtB,oBAA0C,EAC1C,OAAiB,EACjB,kBAA4B,EAC5B,QAAkB;QAElB,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE9F,OAAO;YACL,KAAK,EAAE,wCAAwC;YAC/C,OAAO,EAAE,wCAAwC;YACjD,GAAG,EAAE,IAAA,mCAAsB,EAAC,oBAAoB,CAAC;YACjD,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE;YAC3C,YAAY;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kBAAkB;SAChC,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,0CAA0C;IAC1C,gFAAgF;IAExE,MAAM,CAAC,2BAA2B,CAAC,MAAsB,EAAE,QAAkB;QACnF,OAAO,IAAI,CAAC,iBAAiB,CAC3B,cAAc,EACd,MAAM,CAAC,yBAAyB,EAChC,IAAI,CAAC,gBAAgB,EACrB,2CAAoB,EACpB,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAC7C,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,qCAAqC,CAAC,MAAsB,EAAE,QAAkB;QAC7F,OAAO,IAAI,CAAC,iBAAiB,CAC3B,wBAAwB,EACxB,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,EAC3C,IAAI,CAAC,0BAA0B,EAC/B,2CAAoB,EACpB,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAC7C,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,2BAA2B,CAAC,MAAsB,EAAE,QAAkB;QACnF,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,EACb,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,EAC3C,IAAI,CAAC,eAAe,EACpB,2CAAoB,EACpB,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAC7C,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,yBAAyB,CAAC,MAAsB,EAAE,QAAkB;QACjF,OAAO,IAAI,CAAC,iBAAiB,CAC3B,WAAW,EACX,MAAM,CAAC,uBAAuB,EAC9B,IAAI,CAAC,aAAa,EAClB,uDAA0B,EAC1B,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAC7C,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,iCAAiC,CAC9C,MAAsB,EACtB,QAAkB,EAClB,oBAA0C;QAE1C,MAAM,eAAe,GAAG,oBAAoB,CAAC,mBAAmB,CAAC;QACjE,OAAO;YACL,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,+BAA+B,CAAC,MAAM;YAC1E,IAAI,EAAE,eAAe;gBACnB,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC,UAAU,CAAC,gDAAgD,CAAC,CAAC;gBAC7G,CAAC,CAAC,uEAAkC,CAAC,cAAc,CAAC,MAAM,CAAC,+BAA+B,CAAC;YAC7F,IAAI,EAAE,IAAI,CAAC,uBAAuB;YAClC,WAAW,EAAE,CAAC,eAAe;SAC9B,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,MAAsB;QACzD,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM;YACxC,IAAI,EAAE,+CAAsB,CAAC,cAAc,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACvE,IAAI,EAAE,IAAI,CAAC,SAAS;SACrB,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,0BAA0B,CAAC,MAAsB;QAC9D,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,MAAM,CAAC,wBAAwB,CAAC,MAAM;YAC7C,IAAI,EAAE,yDAA2B,CAAC,cAAc,CAAC,MAAM,CAAC,wBAAwB,CAAC;YACjF,IAAI,EAAE,IAAI,CAAC,cAAc;SAC1B,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,+BAA+B,CAAC,MAAsB;QACnE,OAAO;YACL,IAAI,EAAE,6BAA6B;YACnC,KAAK,EAAE,MAAM,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,MAAM;YAC5G,IAAI,EAAE,mEAAgC,CAAC,cAAc,CAAC,MAAM,CAAC,6BAA6B,CAAC;YAC3F,IAAI,EAAE,IAAI,CAAC,oBAAoB;SAChC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,MAAsB;QACxD,OAAO;YACL,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,MAAM,CAAC,kBAAkB,CAAC,MAAM;YACvC,IAAI,EAAE,6CAAqB,CAAC,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACrE,IAAI,EAAE,IAAI,CAAC,QAAQ;SACpB,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,4BAA4B,CAAC,MAAsB;QAChE,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,MAAM,CAAC,qBAAqB,CAAC,WAAW;YAC/C,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,KAAK,EAAE,MAAM,CAAC,qBAAqB,CAAC,iBAAiB;oBACrD,QAAQ,EAAE,cAAc;iBACzB;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,MAAM,CAAC,qBAAqB,CAAC,QAAQ;oBAC5C,QAAQ,EAAE,cAAc;iBACzB;gBACD;oBACE,IAAI,EAAE,2BAA2B;oBACjC,KAAK,EAAE,MAAM,CAAC,qBAAqB,CAAC,sBAAsB;oBAC1D,QAAQ,EAAE,YAAY;iBACvB;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,MAAM,CAAC,qBAAqB,CAAC,MAAM;oBAC1C,QAAQ,EAAE,YAAY;iBACvB;aACF;YACD,IAAI,EAAE,IAAI,CAAC,gCAAgC,CAAC,MAAM,CAAC,qBAAqB,CAAC,sBAAsB,CAAC;SACjG,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC9B,IAAY,EACZ,cAAmB,EACnB,QAAgB,EAChB,QAAqE,EACrE,aAAqB;QAErB,OAAO;YACL,IAAI;YACJ,KAAK,EAAE,IAAA,4DAAyC,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM;YAC9E,IAAI,EAAE,IAAA,4DAAyC,GAAE;gBAC/C,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,aAAa,CAAC;gBACrD,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;YAC3C,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,CAAC,IAAA,4DAAyC,GAAE;SAC1D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,+BAA+B,CAAC,aAAsB;QACnE,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IACvE,CAAC;IAEO,MAAM,CAAC,gCAAgC,CAAC,WAAmB;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC;QAClE,OAAO,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,oCAAoC,UAAU,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACzG,CAAC;;AAjjBH,wDAkjBC;AAjjBC,sBAAsB;AACE,uCAAgB,GAAG,4BAA4B,CAAC;AAChD,iDAA0B,GAAG,uCAAuC,CAAC;AACrE,sCAAe,GAAG,4BAA4B,CAAC;AAC/C,oCAAa,GAAG,0BAA0B,CAAC;AAC3C,8CAAuB,GAAG,kCAAkC,CAAC;AAC7D,gCAAS,GAAG,sBAAsB,CAAC;AACnC,qCAAc,GAAG,2BAA2B,CAAC;AAC7C,2CAAoB,GAAG,iCAAiC,CAAC;AACzD,+BAAQ,GAAG,qBAAqB,CAAC;AACjC,wCAAiB,GAAG,6BAA6B,CAAC;AAClD,8CAAuB,GAAG,oBAAoB,CAAC"}
|
|
@@ -8,7 +8,7 @@ export declare class ResultsBuilder {
|
|
|
8
8
|
private static flexiPageFileSuffix;
|
|
9
9
|
private static successStatus;
|
|
10
10
|
private static errorStatus;
|
|
11
|
-
static generateReport(results: MigratedObject[], relatedObjectMigrationResult: RelatedObjectAssesmentInfo, instanceUrl: string, orgDetails: OmnistudioOrgDetails, messages: Messages, actionItems: string[], objectsToProcess: string[]): Promise<void>;
|
|
11
|
+
static generateReport(results: MigratedObject[], relatedObjectMigrationResult: RelatedObjectAssesmentInfo, instanceUrl: string, orgDetails: OmnistudioOrgDetails, messages: Messages, actionItems: string[], objectsToProcess: string[], migrateOnly: string): Promise<void>;
|
|
12
12
|
private static generateReportForResult;
|
|
13
13
|
private static getHeaderGroupsForReport;
|
|
14
14
|
private static getNameHeaders;
|
|
@@ -19,7 +19,13 @@ export declare class ResultsBuilder {
|
|
|
19
19
|
private static generateReportForApex;
|
|
20
20
|
private static generateReportForLwc;
|
|
21
21
|
private static getLwcRowsForReport;
|
|
22
|
+
private static createApexMigrationSummaryItem;
|
|
23
|
+
private static createExperienceSiteMigrationSummaryItem;
|
|
24
|
+
private static createFlexipageMigrationSummaryItem;
|
|
25
|
+
private static createLWCMigrationSummaryItem;
|
|
22
26
|
private static generateMigrationReportDashboard;
|
|
27
|
+
private static createSpecialCaseMigrationSummaryItem;
|
|
28
|
+
private static createMigrationSummaryItem;
|
|
23
29
|
private static getDifferentStatusDataForResult;
|
|
24
30
|
private static getCustomLabelStatusData;
|
|
25
31
|
private static getDifferentStatusDataForApex;
|
|
@@ -32,7 +32,7 @@ const apexFileName = 'apex.html';
|
|
|
32
32
|
const experienceSiteFileName = 'experienceSite.html';
|
|
33
33
|
const lwcFileName = 'lwc.html';
|
|
34
34
|
class ResultsBuilder {
|
|
35
|
-
static async generateReport(results, relatedObjectMigrationResult, instanceUrl, orgDetails, messages, actionItems, objectsToProcess) {
|
|
35
|
+
static async generateReport(results, relatedObjectMigrationResult, instanceUrl, orgDetails, messages, actionItems, objectsToProcess, migrateOnly) {
|
|
36
36
|
fs_1.default.mkdirSync(resultsDir, { recursive: true });
|
|
37
37
|
logger_1.Logger.info(messages.getMessage('generatingComponentReports'));
|
|
38
38
|
for (const result of results) {
|
|
@@ -41,7 +41,7 @@ class ResultsBuilder {
|
|
|
41
41
|
logger_1.Logger.info(messages.getMessage('generatingRelatedObjectReports'));
|
|
42
42
|
this.generateReportForRelatedObject(relatedObjectMigrationResult, instanceUrl, orgDetails, messages, objectsToProcess);
|
|
43
43
|
logger_1.Logger.info(messages.getMessage('generatingMigrationReportDashboard'));
|
|
44
|
-
this.generateMigrationReportDashboard(orgDetails, results, relatedObjectMigrationResult, messages, actionItems, objectsToProcess);
|
|
44
|
+
this.generateMigrationReportDashboard(orgDetails, results, relatedObjectMigrationResult, messages, actionItems, objectsToProcess, migrateOnly);
|
|
45
45
|
(0, fileUtil_1.pushAssestUtilites)('javascripts', resultsDir);
|
|
46
46
|
(0, fileUtil_1.pushAssestUtilites)('styles', resultsDir);
|
|
47
47
|
await (0, open_1.default)(path_1.default.join(resultsDir, migrationReportHTMLfileName));
|
|
@@ -506,40 +506,56 @@ class ResultsBuilder {
|
|
|
506
506
|
}
|
|
507
507
|
return rows;
|
|
508
508
|
}
|
|
509
|
-
|
|
510
|
-
|
|
509
|
+
// Related object summary item creation helper methods
|
|
510
|
+
static createApexMigrationSummaryItem(relatedObjectMigrationResult) {
|
|
511
|
+
var _a;
|
|
512
|
+
return {
|
|
513
|
+
name: 'Apex Classes',
|
|
514
|
+
total: ((_a = relatedObjectMigrationResult.apexAssessmentInfos) === null || _a === void 0 ? void 0 : _a.length) || 0,
|
|
515
|
+
data: this.getDifferentStatusDataForApex(relatedObjectMigrationResult.apexAssessmentInfos),
|
|
516
|
+
file: apexFileName,
|
|
517
|
+
};
|
|
518
|
+
}
|
|
519
|
+
static createExperienceSiteMigrationSummaryItem(relatedObjectMigrationResult) {
|
|
520
|
+
var _a;
|
|
521
|
+
return {
|
|
522
|
+
name: 'Experience Cloud Sites',
|
|
523
|
+
total: ((_a = relatedObjectMigrationResult.experienceSiteAssessmentInfos) === null || _a === void 0 ? void 0 : _a.flatMap((item) => item.experienceSiteAssessmentPageInfos).length) || 0,
|
|
524
|
+
data: this.getDifferentStatusDataForExperienceSites(relatedObjectMigrationResult.experienceSiteAssessmentInfos),
|
|
525
|
+
file: experienceSiteFileName,
|
|
526
|
+
};
|
|
527
|
+
}
|
|
528
|
+
static createFlexipageMigrationSummaryItem(relatedObjectMigrationResult) {
|
|
529
|
+
var _a;
|
|
530
|
+
return {
|
|
531
|
+
name: 'FlexiPages',
|
|
532
|
+
total: ((_a = relatedObjectMigrationResult.flexipageAssessmentInfos) === null || _a === void 0 ? void 0 : _a.length) || 0,
|
|
533
|
+
data: this.getDifferentStatusDataForFlexipage(relatedObjectMigrationResult.flexipageAssessmentInfos),
|
|
534
|
+
file: flexipageFileName,
|
|
535
|
+
};
|
|
536
|
+
}
|
|
537
|
+
static createLWCMigrationSummaryItem(relatedObjectMigrationResult) {
|
|
538
|
+
var _a;
|
|
539
|
+
return {
|
|
540
|
+
name: 'Lightning Web Components',
|
|
541
|
+
total: ((_a = relatedObjectMigrationResult.lwcAssessmentInfos) === null || _a === void 0 ? void 0 : _a.length) || 0,
|
|
542
|
+
data: this.getDifferentStatusDataForLwc(relatedObjectMigrationResult.lwcAssessmentInfos),
|
|
543
|
+
file: lwcFileName,
|
|
544
|
+
};
|
|
545
|
+
}
|
|
546
|
+
static generateMigrationReportDashboard(orgDetails, results, relatedObjectMigrationResult, messages, actionItems, objectsToProcess, migrateOnly) {
|
|
511
547
|
const relatedObjectSummaryItems = [];
|
|
512
548
|
if (objectsToProcess.includes(stringContants_1.Constants.Apex)) {
|
|
513
|
-
relatedObjectSummaryItems.push(
|
|
514
|
-
name: 'Apex Classes',
|
|
515
|
-
total: ((_a = relatedObjectMigrationResult.apexAssessmentInfos) === null || _a === void 0 ? void 0 : _a.length) || 0,
|
|
516
|
-
data: this.getDifferentStatusDataForApex(relatedObjectMigrationResult.apexAssessmentInfos),
|
|
517
|
-
file: apexFileName,
|
|
518
|
-
});
|
|
549
|
+
relatedObjectSummaryItems.push(this.createApexMigrationSummaryItem(relatedObjectMigrationResult));
|
|
519
550
|
}
|
|
520
551
|
if (objectsToProcess.includes(stringContants_1.Constants.ExpSites)) {
|
|
521
|
-
relatedObjectSummaryItems.push(
|
|
522
|
-
name: 'Experience Cloud Sites',
|
|
523
|
-
total: ((_b = relatedObjectMigrationResult.experienceSiteAssessmentInfos) === null || _b === void 0 ? void 0 : _b.flatMap((item) => item.experienceSiteAssessmentPageInfos).length) || 0,
|
|
524
|
-
data: this.getDifferentStatusDataForExperienceSites(relatedObjectMigrationResult.experienceSiteAssessmentInfos),
|
|
525
|
-
file: experienceSiteFileName,
|
|
526
|
-
});
|
|
552
|
+
relatedObjectSummaryItems.push(this.createExperienceSiteMigrationSummaryItem(relatedObjectMigrationResult));
|
|
527
553
|
}
|
|
528
554
|
if (objectsToProcess.includes(stringContants_1.Constants.FlexiPage)) {
|
|
529
|
-
relatedObjectSummaryItems.push(
|
|
530
|
-
name: 'FlexiPages',
|
|
531
|
-
total: ((_c = relatedObjectMigrationResult.flexipageAssessmentInfos) === null || _c === void 0 ? void 0 : _c.length) || 0,
|
|
532
|
-
data: this.getDifferentStatusDataForFlexipage(relatedObjectMigrationResult.flexipageAssessmentInfos),
|
|
533
|
-
file: flexipageFileName,
|
|
534
|
-
});
|
|
555
|
+
relatedObjectSummaryItems.push(this.createFlexipageMigrationSummaryItem(relatedObjectMigrationResult));
|
|
535
556
|
}
|
|
536
557
|
if (objectsToProcess.includes(stringContants_1.Constants.LWC)) {
|
|
537
|
-
relatedObjectSummaryItems.push(
|
|
538
|
-
name: 'Lightning Web Components',
|
|
539
|
-
total: ((_d = relatedObjectMigrationResult.lwcAssessmentInfos) === null || _d === void 0 ? void 0 : _d.length) || 0,
|
|
540
|
-
data: this.getDifferentStatusDataForLwc(relatedObjectMigrationResult.lwcAssessmentInfos),
|
|
541
|
-
file: lwcFileName,
|
|
542
|
-
});
|
|
558
|
+
relatedObjectSummaryItems.push(this.createLWCMigrationSummaryItem(relatedObjectMigrationResult));
|
|
543
559
|
}
|
|
544
560
|
const data = {
|
|
545
561
|
title: 'Omnistudio Migration Report Dashboard',
|
|
@@ -552,8 +568,21 @@ class ResultsBuilder {
|
|
|
552
568
|
},
|
|
553
569
|
assessmentDate: new Date().toLocaleString(),
|
|
554
570
|
summaryItems: [
|
|
555
|
-
...results
|
|
556
|
-
|
|
571
|
+
...results
|
|
572
|
+
.filter((result) => {
|
|
573
|
+
// When metadata API is enabled and not migrateOnly, exclude OmniStudio components as we dont need to process them
|
|
574
|
+
if ((0, dataModelService_1.isStandardDataModelWithMetadataAPIEnabled)() && !migrateOnly) {
|
|
575
|
+
const componentName = result.name.toLowerCase();
|
|
576
|
+
// Only include Custom Labels and Global Auto Numbers
|
|
577
|
+
return (componentName.includes('custom labels') ||
|
|
578
|
+
componentName.includes('global auto number') ||
|
|
579
|
+
componentName.includes('globalautonumber'));
|
|
580
|
+
}
|
|
581
|
+
// Include all items in other cases
|
|
582
|
+
return true;
|
|
583
|
+
})
|
|
584
|
+
.map((result) => {
|
|
585
|
+
var _a, _b;
|
|
557
586
|
// Handle custom labels specially for pagination and status calculation
|
|
558
587
|
if (result.name.toLowerCase().includes('custom labels')) {
|
|
559
588
|
const totalLabels = result.totalCount || ((_a = result.data) === null || _a === void 0 ? void 0 : _a.length) || 0;
|
|
@@ -571,21 +600,20 @@ class ResultsBuilder {
|
|
|
571
600
|
// Handle Global Auto Numbers in foundation package (not supported)
|
|
572
601
|
const isGlobalAutoNumber = result.name.toLowerCase().includes('global auto number') ||
|
|
573
602
|
result.name.toLowerCase().includes('globalautonumber');
|
|
574
|
-
if (isGlobalAutoNumber
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
603
|
+
if (isGlobalAutoNumber) {
|
|
604
|
+
if (orgDetails.isFoundationPackage) {
|
|
605
|
+
return this.createSpecialCaseMigrationSummaryItem(result, messages.getMessage('globalAutoNumberUnSupportedInOmnistudioPackage')); // Foundation Package does not have the custom global auto number entity
|
|
606
|
+
}
|
|
607
|
+
else {
|
|
608
|
+
return this.createMigrationSummaryItem(result);
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
// Handle metadata API enabled with migrateOnly
|
|
612
|
+
if ((0, dataModelService_1.isStandardDataModelWithMetadataAPIEnabled)() && migrateOnly) {
|
|
613
|
+
return this.createSpecialCaseMigrationSummaryItem(result, messages.getMessage('processingNotRequired'));
|
|
582
614
|
}
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
total: ((_c = result.data) === null || _c === void 0 ? void 0 : _c.length) || 0,
|
|
586
|
-
data: this.getDifferentStatusDataForResult(result.data),
|
|
587
|
-
file: result.name.replace(/ /g, '_').replace(/\//g, '_') + '.html',
|
|
588
|
-
};
|
|
615
|
+
// Default case
|
|
616
|
+
return this.createMigrationSummaryItem(result);
|
|
589
617
|
}),
|
|
590
618
|
...relatedObjectSummaryItems,
|
|
591
619
|
],
|
|
@@ -596,6 +624,24 @@ class ResultsBuilder {
|
|
|
596
624
|
const html = generate_1.TemplateParser.generate(dashboardTemplate, data, messages);
|
|
597
625
|
fs_1.default.writeFileSync(path_1.default.join(resultsDir, 'dashboard.html'), html);
|
|
598
626
|
}
|
|
627
|
+
static createSpecialCaseMigrationSummaryItem(result, customMessage) {
|
|
628
|
+
return {
|
|
629
|
+
name: `${(0, stringUtils_1.getMigrationHeading)(result.name)}`,
|
|
630
|
+
total: 0,
|
|
631
|
+
data: [{ name: customMessage, count: 0, cssClass: 'text-warning' }],
|
|
632
|
+
file: result.name.replace(/ /g, '_').replace(/\//g, '_') + '.html',
|
|
633
|
+
showDetails: false,
|
|
634
|
+
};
|
|
635
|
+
}
|
|
636
|
+
static createMigrationSummaryItem(result) {
|
|
637
|
+
var _a;
|
|
638
|
+
return {
|
|
639
|
+
name: `${(0, stringUtils_1.getMigrationHeading)(result.name)}`,
|
|
640
|
+
total: ((_a = result.data) === null || _a === void 0 ? void 0 : _a.length) || 0,
|
|
641
|
+
data: this.getDifferentStatusDataForResult(result.data),
|
|
642
|
+
file: result.name.replace(/ /g, '_').replace(/\//g, '_') + '.html',
|
|
643
|
+
};
|
|
644
|
+
}
|
|
599
645
|
static getDifferentStatusDataForResult(data) {
|
|
600
646
|
let complete = 0;
|
|
601
647
|
let error = 0;
|