@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.
Files changed (53) hide show
  1. package/lib/commands/omnistudio/migration/assess.d.ts +5 -0
  2. package/lib/commands/omnistudio/migration/assess.js +22 -12
  3. package/lib/commands/omnistudio/migration/assess.js.map +1 -1
  4. package/lib/commands/omnistudio/migration/migrate.d.ts +27 -0
  5. package/lib/commands/omnistudio/migration/migrate.js +84 -16
  6. package/lib/commands/omnistudio/migration/migrate.js.map +1 -1
  7. package/lib/error/errorInterfaces.d.ts +5 -0
  8. package/lib/error/errorInterfaces.js +9 -1
  9. package/lib/error/errorInterfaces.js.map +1 -1
  10. package/lib/migration/dataraptor.js +15 -0
  11. package/lib/migration/dataraptor.js.map +1 -1
  12. package/lib/migration/flexcard.d.ts +3 -0
  13. package/lib/migration/flexcard.js +40 -1
  14. package/lib/migration/flexcard.js.map +1 -1
  15. package/lib/migration/omniscript.d.ts +3 -0
  16. package/lib/migration/omniscript.js +64 -2
  17. package/lib/migration/omniscript.js.map +1 -1
  18. package/lib/migration/postMigrate.js +1 -1
  19. package/lib/migration/postMigrate.js.map +1 -1
  20. package/lib/migration/premigrate.js +7 -0
  21. package/lib/migration/premigrate.js.map +1 -1
  22. package/lib/migration/related/ExperienceSiteMigration.js +2 -1
  23. package/lib/migration/related/ExperienceSiteMigration.js.map +1 -1
  24. package/lib/migration/related/FlexipageMigration.js +1 -1
  25. package/lib/migration/related/FlexipageMigration.js.map +1 -1
  26. package/lib/utils/config/OmniStudioMetadataCleanupService.js +5 -0
  27. package/lib/utils/config/OmniStudioMetadataCleanupService.js.map +1 -1
  28. package/lib/utils/constants/stringContants.d.ts +2 -0
  29. package/lib/utils/constants/stringContants.js +3 -0
  30. package/lib/utils/constants/stringContants.js.map +1 -1
  31. package/lib/utils/dataModelService.d.ts +2 -0
  32. package/lib/utils/dataModelService.js +13 -1
  33. package/lib/utils/dataModelService.js.map +1 -1
  34. package/lib/utils/flexipage/flexiPageTransformer.js +14 -1
  35. package/lib/utils/flexipage/flexiPageTransformer.js.map +1 -1
  36. package/lib/utils/orgUtils/index.d.ts +8 -0
  37. package/lib/utils/orgUtils/index.js +32 -1
  38. package/lib/utils/orgUtils/index.js.map +1 -1
  39. package/lib/utils/resultsbuilder/assessmentReporter.d.ts +12 -7
  40. package/lib/utils/resultsbuilder/assessmentReporter.js +68 -216
  41. package/lib/utils/resultsbuilder/assessmentReporter.js.map +1 -1
  42. package/lib/utils/resultsbuilder/helpers/AssessmentReportHelper.d.ts +94 -0
  43. package/lib/utils/resultsbuilder/helpers/AssessmentReportHelper.js +317 -0
  44. package/lib/utils/resultsbuilder/helpers/AssessmentReportHelper.js.map +1 -0
  45. package/lib/utils/resultsbuilder/index.d.ts +7 -1
  46. package/lib/utils/resultsbuilder/index.js +90 -44
  47. package/lib/utils/resultsbuilder/index.js.map +1 -1
  48. package/lib/utils/validatorService.js +0 -8
  49. package/lib/utils/validatorService.js.map +1 -1
  50. package/messages/assess.json +10 -6
  51. package/messages/migrate.json +8 -5
  52. package/oclif.manifest.json +1 -1
  53. 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":"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"}
@@ -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
- static generateMigrationReportDashboard(orgDetails, results, relatedObjectMigrationResult, messages, actionItems, objectsToProcess) {
510
- var _a, _b, _c, _d;
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.map((result) => {
556
- var _a, _b, _c;
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 && orgDetails.isFoundationPackage) {
575
- return {
576
- name: `${(0, stringUtils_1.getMigrationHeading)(result.name)}`,
577
- total: 0,
578
- data: [{ name: 'Feature not supported', count: 0, cssClass: 'text-warning' }],
579
- file: result.name.replace(/ /g, '_').replace(/\//g, '_') + '.html',
580
- showDetails: false,
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
- return {
584
- name: `${(0, stringUtils_1.getMigrationHeading)(result.name)}`,
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;