sfdx-hardis 5.31.0 → 5.32.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.
@@ -0,0 +1,41 @@
1
+ import { DocBuilderRoot } from "./docBuilderRoot.js";
2
+ import { RulesBuilderUtil } from "../utils/rulesBuilderUtil.js";
3
+ export class DocBuilderEscalationRules extends DocBuilderRoot {
4
+ docType = "EscalationRules";
5
+ placeholder = "<!-- Escalation Rule description -->";
6
+ promptKey = "PROMPT_DESCRIBE_ESCALATION_RULES";
7
+ xmlRootKey = "escalationRule";
8
+ static buildIndexTable(prefix, escalationRulesDescriptions, filterObject = null) {
9
+ const filteredEscalationRules = filterObject ? escalationRulesDescriptions.filter(escalationRule => escalationRule.impactedObjects.includes(filterObject)) : escalationRulesDescriptions;
10
+ if (filteredEscalationRules.length === 0) {
11
+ return [];
12
+ }
13
+ const lines = [];
14
+ lines.push(...[
15
+ filterObject ? "## Related Escalation Rules" : "## Escalation Rules",
16
+ "",
17
+ "| Escalation Rule | Is Active |",
18
+ "| :---- | :--: | "
19
+ ]);
20
+ for (const escalationRule of filteredEscalationRules) {
21
+ const escalationRuleNameCell = `[${escalationRule.name}](${prefix}${escalationRule.name}.md)`;
22
+ lines.push(...[
23
+ `| ${escalationRuleNameCell} | ${escalationRule.active} |`
24
+ ]);
25
+ }
26
+ lines.push("");
27
+ return lines;
28
+ }
29
+ async buildInitialMarkdownLines() {
30
+ const ruleBuilderUtil = new RulesBuilderUtil();
31
+ await ruleBuilderUtil.buildInitialMarkDownLinesForEscalationRules(this.parsedXmlObject);
32
+ const escalationRuleTableLines = [...ruleBuilderUtil.globalRuleTableLines];
33
+ return [
34
+ '<!-- Escalation Rule description -->',
35
+ '## Escalation Rules list',
36
+ ...escalationRuleTableLines,
37
+ '',
38
+ ];
39
+ }
40
+ }
41
+ //# sourceMappingURL=docBuilderEscalationRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docBuilderEscalationRules.js","sourceRoot":"","sources":["../../../src/common/docBuilder/docBuilderEscalationRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAE9D,MAAM,OAAO,yBAA0B,SAAQ,cAAc;IAEpD,OAAO,GAAG,iBAAiB,CAAC;IAC5B,WAAW,GAAG,sCAAsC,CAAC;IACrD,SAAS,GAAmB,kCAAkC,CAAC;IAC/D,UAAU,GAAG,gBAAgB,CAAC;IAE9B,MAAM,CAAC,eAAe,CAAC,MAAc,EAAE,2BAAgC,EAAE,eAA8B,IAAI;QAChH,MAAM,uBAAuB,GAAG,YAAY,CAAC,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;QACzL,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG;YACZ,YAAY,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,qBAAqB;YACpE,EAAE;YACF,iCAAiC;YACjC,8BAA8B;SAC/B,CAAC,CAAC;QAEH,KAAK,MAAM,cAAc,IAAI,uBAAuB,EAAE,CAAC;YACrD,MAAM,sBAAsB,GAAG,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,GAAG,cAAc,CAAC,IAAI,MAAM,CAAC;YAC9F,KAAK,CAAC,IAAI,CAAC,GAAG;gBACZ,KAAK,sBAAsB,MAAM,cAAc,CAAC,MAAM,IAAI;aAC3D,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,yBAAyB;QAEpC,MAAM,eAAe,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAE/C,MAAM,eAAe,CAAC,2CAA2C,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAExF,MAAM,wBAAwB,GAAc,CAAC,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC;QAEtF,OAAO;YACL,sCAAsC;YACtC,0BAA0B;YAC1B,GAAG,wBAAwB;YAC3B,EAAE;SACH,CAAC;IACJ,CAAC;CACF"}
@@ -2,6 +2,9 @@ export declare class RulesBuilderUtil {
2
2
  globalRuleTableLines: string[];
3
3
  buildInitialMarkDownLinesForRules(ruleGlobal: any): Promise<void>;
4
4
  buildInitialMarkDownLinesFoAutoResponseRules(autoresponseRule: any): Promise<void>;
5
+ buildInitialMarkDownLinesForEscalationRules(ruleGlobal: any): Promise<void>;
6
+ formatActions(actionItems: any[]): string;
5
7
  formatCriteria(criteriaItems: any[], booleanFilter: string): string;
6
8
  formatCriteriaItem(ci: any): string;
9
+ formatActionItem(ai: any): string;
7
10
  }
@@ -36,6 +36,38 @@ export class RulesBuilderUtil {
36
36
  }
37
37
  }
38
38
  }
39
+ async buildInitialMarkDownLinesForEscalationRules(ruleGlobal) {
40
+ this.globalRuleTableLines = [
41
+ `## ${ruleGlobal.fullName} Rules`,
42
+ "| Order | Criteria | Actions |",
43
+ "| :--: | :------------- | :------------- |",
44
+ ];
45
+ if (ruleGlobal.ruleEntry) {
46
+ if (!Array.isArray(ruleGlobal.ruleEntry)) {
47
+ ruleGlobal.ruleEntry = [ruleGlobal.ruleEntry];
48
+ }
49
+ let order = 1;
50
+ for (const rule of ruleGlobal.ruleEntry) {
51
+ const criteria = rule?.criteriaItems ? this.formatCriteria(rule?.criteriaItems, rule?.booleanFilter) : rule?.formula ? JSON.stringify(rule.formula) : "None";
52
+ const actions = rule?.escalationAction ? this.formatActions(rule?.escalationAction) : "None";
53
+ this.globalRuleTableLines.push(`| ${order} | ${criteria} | ${actions} |`);
54
+ order++;
55
+ }
56
+ }
57
+ }
58
+ formatActions(actionItems) {
59
+ if (!actionItems || actionItems.length === 0) {
60
+ return "None";
61
+ }
62
+ else {
63
+ if (!Array.isArray(actionItems)) {
64
+ actionItems = [actionItems];
65
+ }
66
+ return actionItems
67
+ .map((x => this.formatActionItem(x)))
68
+ .join('');
69
+ }
70
+ }
39
71
  formatCriteria(criteriaItems, booleanFilter) {
40
72
  if (!criteriaItems || criteriaItems.length === 0) {
41
73
  return 'None';
@@ -59,7 +91,14 @@ export class RulesBuilderUtil {
59
91
  }
60
92
  }
61
93
  formatCriteriaItem(ci) {
62
- return '(' + ci.field.split('.')[0] + ': ' + ci.field.substring(ci.field.indexOf('.') + 1) + ' ' + ci.operation + ' ' + ci.value + ')';
94
+ return '(**'
95
+ + ci.field.split('.')[0] + '**: '
96
+ + ci.field.substring(ci.field.indexOf('.') + 1) + ' _'
97
+ + ci.operation + '_ '
98
+ + (ci.value ? ci.value.replaceAll(",", ", ") : "' '") + ')<br>';
99
+ }
100
+ formatActionItem(ai) {
101
+ return '<table> <tbody> <tr> <td>**Mins to escalations**:</td> <td>' + ai.minutesToEscalation + '</td> </tr> <tr> <td>**Assign To**:</td> <td>' + ai.assignedTo + '</td> </tr> <tr> <td>**Notify**:</td> <td>' + (ai.notifyTo ?? 'None') + '</td> </tr> </tbody> </table> ';
63
102
  }
64
103
  }
65
104
  //# sourceMappingURL=rulesBuilderUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rulesBuilderUtil.js","sourceRoot":"","sources":["../../../src/common/utils/rulesBuilderUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rulesBuilderUtil.js","sourceRoot":"","sources":["../../../src/common/utils/rulesBuilderUtil.ts"],"names":[],"mappings":"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"}