@elisra-devops/docgen-data-provider 1.45.0 → 1.46.0

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.
@@ -35,6 +35,8 @@ class Helper {
35
35
  * @returns Array of suiteData objects representing the hierarchy
36
36
  */
37
37
  static findSuitesRecursive(planId, url, project, suits, foundId, recursive, flatTreeByOneLevel = false) {
38
+ console.log(`[findSuitesRecursive] Starting with foundId: ${foundId}, flatTreeByOneLevel: ${flatTreeByOneLevel}`);
39
+ console.log(`[findSuitesRecursive] Total suits provided: ${suits.length}`);
38
40
  // Create a map for faster lookups
39
41
  const suiteMap = new Map();
40
42
  suits.forEach((suite) => suiteMap.set(suite.id.toString(), suite));
@@ -43,19 +45,36 @@ class Helper {
43
45
  // Find the starting suite
44
46
  const startingSuite = suiteMap.get(foundId);
45
47
  if (!startingSuite) {
48
+ console.log(`[findSuitesRecursive] ERROR: Starting suite ${foundId} not found in suite map`);
46
49
  return result;
47
50
  }
51
+ console.log(`[findSuitesRecursive] Starting suite found: ${startingSuite.title} (ID: ${startingSuite.id}, parentSuiteId: ${startingSuite.parentSuiteId})`);
48
52
  // Skip root suites (parentSuiteId = 0) - we don't want them in results
49
53
  // Just mark them as visited so we can process their children
50
54
  if (startingSuite.parentSuiteId === 0) {
55
+ console.log(`[findSuitesRecursive] Starting suite is root (parentSuiteId = 0), marking as visited`);
51
56
  visited.add(foundId);
52
57
  }
53
58
  // Build the hierarchy
54
- this.buildSuiteHierarchy(suiteMap, foundId, planId, url, project, result, visited, startingSuite.parentSuiteId === 0 ? 1 : 0, recursive);
59
+ const startingLevel = startingSuite.parentSuiteId === 0 ? 1 : 0;
60
+ console.log(`[findSuitesRecursive] Building hierarchy starting at level: ${startingLevel}`);
61
+ this.buildSuiteHierarchy(suiteMap, foundId, planId, url, project, result, visited, startingLevel, recursive);
62
+ console.log(`[findSuitesRecursive] Hierarchy built, result count: ${result.length}`);
63
+ console.log(`[findSuitesRecursive] Result suites:`, result.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
55
64
  // Apply flattening if conditions are met
56
- if (flatTreeByOneLevel && this.shouldFlattenHierarchy(result, suiteMap, foundId)) {
57
- return this.flattenHierarchyByOneLevel(result, foundId);
65
+ if (flatTreeByOneLevel) {
66
+ console.log(`[findSuitesRecursive] Checking flattening conditions...`);
67
+ if (this.shouldFlattenHierarchy(result, suiteMap, foundId)) {
68
+ console.log(`[findSuitesRecursive] Flattening conditions met, applying flattening...`);
69
+ const flattened = this.flattenHierarchyByOneLevel(result, foundId);
70
+ console.log(`[findSuitesRecursive] After flattening:`, flattened.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
71
+ return flattened;
72
+ }
73
+ else {
74
+ console.log(`[findSuitesRecursive] Flattening conditions NOT met`);
75
+ }
58
76
  }
77
+ console.log(`[findSuitesRecursive] Returning ${result.length} suites (no flattening applied)`);
59
78
  return result;
60
79
  }
61
80
  /**
@@ -105,17 +124,26 @@ class Helper {
105
124
  * - That suite has children (level 2+ suites)
106
125
  */
107
126
  static shouldFlattenHierarchy(result, suiteMap, rootId) {
127
+ console.log(`[shouldFlattenHierarchy] Checking flattening conditions for rootId: ${rootId}`);
128
+ console.log(`[shouldFlattenHierarchy] Total result suites: ${result.length}`);
108
129
  // Find all level 1 suites (direct children of root) - they have level 1
109
130
  const level1Suites = result.filter((suite) => suite.level === 1);
131
+ console.log(`[shouldFlattenHierarchy] Found ${level1Suites.length} level 1 suites:`, level1Suites.map(s => `${s.name} (ID: ${s.id})`));
110
132
  // Must have exactly one level 1 suite
111
133
  if (level1Suites.length !== 1) {
134
+ console.log(`[shouldFlattenHierarchy] CONDITION FAILED: Not exactly one level 1 suite (found ${level1Suites.length})`);
112
135
  return false;
113
136
  }
114
137
  const singleLevel1Suite = level1Suites[0];
138
+ console.log(`[shouldFlattenHierarchy] Single level 1 suite: ${singleLevel1Suite.name} (ID: ${singleLevel1Suite.id})`);
115
139
  // Check if this suite has children by looking for suites with this suite as parent
116
140
  const childrenInResult = result.filter((suite) => suite.parent === singleLevel1Suite.id);
141
+ console.log(`[shouldFlattenHierarchy] Found ${childrenInResult.length} children of level 1 suite:`, childrenInResult.map(s => `${s.name} (ID: ${s.id}, level: ${s.level})`));
117
142
  // The suite must have children
118
- return childrenInResult.length > 0;
143
+ const hasChildren = childrenInResult.length > 0;
144
+ console.log(`[shouldFlattenHierarchy] Suite has children: ${hasChildren}`);
145
+ console.log(`[shouldFlattenHierarchy] FLATTENING CONDITIONS ${hasChildren ? 'MET' : 'NOT MET'}`);
146
+ return hasChildren;
119
147
  }
120
148
  /**
121
149
  * Flattens the hierarchy by one level:
@@ -124,12 +152,16 @@ class Helper {
124
152
  * - Updates parentSuiteId of new level 1 suites to point to root
125
153
  */
126
154
  static flattenHierarchyByOneLevel(result, rootId) {
155
+ console.log(`[flattenHierarchyByOneLevel] Starting flattening process for rootId: ${rootId}`);
156
+ console.log(`[flattenHierarchyByOneLevel] Input suites:`, result.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
127
157
  // Find the single level 1 suite to remove (level = 1)
128
158
  const level1Suite = result.find((suite) => suite.level === 1);
129
159
  if (!level1Suite) {
160
+ console.log(`[flattenHierarchyByOneLevel] ERROR: No level 1 suite found to remove`);
130
161
  return result;
131
162
  }
132
163
  const level1SuiteId = level1Suite.id;
164
+ console.log(`[flattenHierarchyByOneLevel] Removing level 1 suite: ${level1Suite.name} (ID: ${level1SuiteId})`);
133
165
  // Filter out the level 1 suite and adjust levels/parents for remaining suites
134
166
  const flattenedResult = result
135
167
  .filter((suite) => suite.id !== level1SuiteId) // Remove the level 1 suite
@@ -139,10 +171,13 @@ class Helper {
139
171
  // If this was a level 2 suite (child of the removed level 1 suite),
140
172
  // update its parent to point to the root
141
173
  if (suite.parent === level1SuiteId) {
174
+ console.log(`[flattenHierarchyByOneLevel] Updating parent of ${suite.name} from ${level1SuiteId} to ${rootId}`);
142
175
  newSuite.parent = rootId;
143
176
  }
177
+ console.log(`[flattenHierarchyByOneLevel] Processed suite: ${newSuite.name} (ID: ${newSuite.id}, level: ${suite.level} -> ${newSuite.level}, parent: ${suite.parent} -> ${newSuite.parent})`);
144
178
  return newSuite;
145
179
  });
180
+ console.log(`[flattenHierarchyByOneLevel] Flattening complete. Result:`, flattenedResult.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
146
181
  return flattenedResult;
147
182
  }
148
183
  static LevelBuilder(results, foundId) {
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/helpers/helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/helpers/helper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elisra-devops/docgen-data-provider",
3
- "version": "1.45.0",
3
+ "version": "1.46.0",
4
4
  "description": "A document generator data provider, aimed to retrive data from azure devops",
5
5
  "repository": {
6
6
  "type": "git",
@@ -55,6 +55,9 @@ export class Helper {
55
55
  recursive: boolean,
56
56
  flatTreeByOneLevel: boolean = false
57
57
  ): Array<suiteData> {
58
+ console.log(`[findSuitesRecursive] Starting with foundId: ${foundId}, flatTreeByOneLevel: ${flatTreeByOneLevel}`);
59
+ console.log(`[findSuitesRecursive] Total suits provided: ${suits.length}`);
60
+
58
61
  // Create a map for faster lookups
59
62
  const suiteMap = new Map<string, any>();
60
63
  suits.forEach((suite) => suiteMap.set(suite.id.toString(), suite));
@@ -65,16 +68,23 @@ export class Helper {
65
68
  // Find the starting suite
66
69
  const startingSuite = suiteMap.get(foundId);
67
70
  if (!startingSuite) {
71
+ console.log(`[findSuitesRecursive] ERROR: Starting suite ${foundId} not found in suite map`);
68
72
  return result;
69
73
  }
70
74
 
75
+ console.log(`[findSuitesRecursive] Starting suite found: ${startingSuite.title} (ID: ${startingSuite.id}, parentSuiteId: ${startingSuite.parentSuiteId})`);
76
+
71
77
  // Skip root suites (parentSuiteId = 0) - we don't want them in results
72
78
  // Just mark them as visited so we can process their children
73
79
  if (startingSuite.parentSuiteId === 0) {
80
+ console.log(`[findSuitesRecursive] Starting suite is root (parentSuiteId = 0), marking as visited`);
74
81
  visited.add(foundId);
75
82
  }
76
83
 
77
84
  // Build the hierarchy
85
+ const startingLevel = startingSuite.parentSuiteId === 0 ? 1 : 0;
86
+ console.log(`[findSuitesRecursive] Building hierarchy starting at level: ${startingLevel}`);
87
+
78
88
  this.buildSuiteHierarchy(
79
89
  suiteMap,
80
90
  foundId,
@@ -83,15 +93,27 @@ export class Helper {
83
93
  project,
84
94
  result,
85
95
  visited,
86
- startingSuite.parentSuiteId === 0 ? 1 : 0,
96
+ startingLevel,
87
97
  recursive
88
98
  );
89
99
 
100
+ console.log(`[findSuitesRecursive] Hierarchy built, result count: ${result.length}`);
101
+ console.log(`[findSuitesRecursive] Result suites:`, result.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
102
+
90
103
  // Apply flattening if conditions are met
91
- if (flatTreeByOneLevel && this.shouldFlattenHierarchy(result, suiteMap, foundId)) {
92
- return this.flattenHierarchyByOneLevel(result, foundId);
104
+ if (flatTreeByOneLevel) {
105
+ console.log(`[findSuitesRecursive] Checking flattening conditions...`);
106
+ if (this.shouldFlattenHierarchy(result, suiteMap, foundId)) {
107
+ console.log(`[findSuitesRecursive] Flattening conditions met, applying flattening...`);
108
+ const flattened = this.flattenHierarchyByOneLevel(result, foundId);
109
+ console.log(`[findSuitesRecursive] After flattening:`, flattened.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
110
+ return flattened;
111
+ } else {
112
+ console.log(`[findSuitesRecursive] Flattening conditions NOT met`);
113
+ }
93
114
  }
94
115
 
116
+ console.log(`[findSuitesRecursive] Returning ${result.length} suites (no flattening applied)`);
95
117
  return result;
96
118
  }
97
119
 
@@ -187,21 +209,32 @@ export class Helper {
187
209
  suiteMap: Map<string, any>,
188
210
  rootId: string
189
211
  ): boolean {
212
+ console.log(`[shouldFlattenHierarchy] Checking flattening conditions for rootId: ${rootId}`);
213
+ console.log(`[shouldFlattenHierarchy] Total result suites: ${result.length}`);
214
+
190
215
  // Find all level 1 suites (direct children of root) - they have level 1
191
216
  const level1Suites = result.filter((suite) => suite.level === 1);
217
+ console.log(`[shouldFlattenHierarchy] Found ${level1Suites.length} level 1 suites:`, level1Suites.map(s => `${s.name} (ID: ${s.id})`));
192
218
 
193
219
  // Must have exactly one level 1 suite
194
220
  if (level1Suites.length !== 1) {
221
+ console.log(`[shouldFlattenHierarchy] CONDITION FAILED: Not exactly one level 1 suite (found ${level1Suites.length})`);
195
222
  return false;
196
223
  }
197
224
 
198
225
  const singleLevel1Suite = level1Suites[0];
226
+ console.log(`[shouldFlattenHierarchy] Single level 1 suite: ${singleLevel1Suite.name} (ID: ${singleLevel1Suite.id})`);
199
227
 
200
228
  // Check if this suite has children by looking for suites with this suite as parent
201
229
  const childrenInResult = result.filter((suite) => suite.parent === singleLevel1Suite.id);
230
+ console.log(`[shouldFlattenHierarchy] Found ${childrenInResult.length} children of level 1 suite:`, childrenInResult.map(s => `${s.name} (ID: ${s.id}, level: ${s.level})`));
202
231
 
203
232
  // The suite must have children
204
- return childrenInResult.length > 0;
233
+ const hasChildren = childrenInResult.length > 0;
234
+ console.log(`[shouldFlattenHierarchy] Suite has children: ${hasChildren}`);
235
+ console.log(`[shouldFlattenHierarchy] FLATTENING CONDITIONS ${hasChildren ? 'MET' : 'NOT MET'}`);
236
+
237
+ return hasChildren;
205
238
  }
206
239
 
207
240
  /**
@@ -211,13 +244,18 @@ export class Helper {
211
244
  * - Updates parentSuiteId of new level 1 suites to point to root
212
245
  */
213
246
  private static flattenHierarchyByOneLevel(result: Array<suiteData>, rootId: string): Array<suiteData> {
247
+ console.log(`[flattenHierarchyByOneLevel] Starting flattening process for rootId: ${rootId}`);
248
+ console.log(`[flattenHierarchyByOneLevel] Input suites:`, result.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
249
+
214
250
  // Find the single level 1 suite to remove (level = 1)
215
251
  const level1Suite = result.find((suite) => suite.level === 1);
216
252
  if (!level1Suite) {
253
+ console.log(`[flattenHierarchyByOneLevel] ERROR: No level 1 suite found to remove`);
217
254
  return result;
218
255
  }
219
256
 
220
257
  const level1SuiteId = level1Suite.id;
258
+ console.log(`[flattenHierarchyByOneLevel] Removing level 1 suite: ${level1Suite.name} (ID: ${level1SuiteId})`);
221
259
 
222
260
  // Filter out the level 1 suite and adjust levels/parents for remaining suites
223
261
  const flattenedResult = result
@@ -229,12 +267,15 @@ export class Helper {
229
267
  // If this was a level 2 suite (child of the removed level 1 suite),
230
268
  // update its parent to point to the root
231
269
  if (suite.parent === level1SuiteId) {
270
+ console.log(`[flattenHierarchyByOneLevel] Updating parent of ${suite.name} from ${level1SuiteId} to ${rootId}`);
232
271
  newSuite.parent = rootId;
233
272
  }
234
273
 
274
+ console.log(`[flattenHierarchyByOneLevel] Processed suite: ${newSuite.name} (ID: ${newSuite.id}, level: ${suite.level} -> ${newSuite.level}, parent: ${suite.parent} -> ${newSuite.parent})`);
235
275
  return newSuite;
236
276
  });
237
277
 
278
+ console.log(`[flattenHierarchyByOneLevel] Flattening complete. Result:`, flattenedResult.map(s => `${s.name} (ID: ${s.id}, level: ${s.level}, parent: ${s.parent})`));
238
279
  return flattenedResult;
239
280
  }
240
281