@elisra-devops/docgen-data-provider 1.57.0 → 1.58.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.
@@ -63,6 +63,7 @@ export default class TicketsDataProvider {
63
63
  private fetchTestReporterQueries;
64
64
  private fetchAnyQueries;
65
65
  private fetchSystemRequirementQueries;
66
+ private fetchSrsQueries;
66
67
  /**
67
68
  * Fetches and structures linked queries related to requirements traceability with area path filtering.
68
69
  *
@@ -79,6 +80,10 @@ export default class TicketsDataProvider {
79
80
  * - `SoftwareToSystemRequirementsTree`: The tree representing Software → System Requirements traceability.
80
81
  */
81
82
  private fetchLinkedRequirementsTraceQueries;
83
+ private fetchRequirementsTraceQueriesForFolder;
84
+ private findQueryFolderByName;
85
+ private findChildFolderByName;
86
+ private ensureQueryChildren;
82
87
  GetQueryResultsFromWiql(wiqlHref: string | undefined, displayAsTable: boolean | undefined, testCaseToRelatedWiMap: Map<number, Set<any>>): Promise<any>;
83
88
  private parseDirectLinkedQueryResultForTableFormat;
84
89
  private mapTestCaseToRelatedItem;
@@ -126,14 +126,7 @@ class TicketsDataProvider {
126
126
  const testAssociatedTree = await this.fetchTestReporterQueries(queries);
127
127
  return { testAssociatedTree };
128
128
  case 'srs':
129
- //Based on fetch any queries by limited to Epic/Feature/Requirement
130
- const systemRequirementsQueries = await this.fetchSystemRequirementQueries(queries);
131
- const { SystemToSoftwareRequirementsTree, SoftwareToSystemRequirementsTree } = await this.fetchLinkedRequirementsTraceQueries(queries);
132
- return {
133
- systemRequirementsQueries,
134
- systemToSoftwareRequirementsQueries: SystemToSoftwareRequirementsTree,
135
- softwareToSystemRequirementsQueries: SoftwareToSystemRequirementsTree,
136
- };
129
+ return await this.fetchSrsQueries(queries);
137
130
  case 'svd':
138
131
  return await this.fetchAnyQueries(queries);
139
132
  default:
@@ -240,11 +233,37 @@ class TicketsDataProvider {
240
233
  const { tree1: systemOverviewQueryTree, tree2: knownBugsQueryTree } = await this.structureAllQueryPath(queries);
241
234
  return { systemOverviewQueryTree, knownBugsQueryTree };
242
235
  }
243
- async fetchSystemRequirementQueries(queries) {
244
- const { tree1: systemRequirementsQueryTree } = await this.structureFetchedQueries(queries, false, null, ['Epic', 'Feature', 'Requirement'], [], undefined, undefined, true // Enable processing of both tree and direct link queries (excluding flat queries)
245
- );
236
+ async fetchSystemRequirementQueries(queries, excludedFolderNames = []) {
237
+ const { tree1: systemRequirementsQueryTree } = await this.structureFetchedQueries(queries, false, null, ['Epic', 'Feature', 'Requirement'], [], undefined, undefined, true, // Enable processing of both tree and direct link queries (excluding flat queries)
238
+ excludedFolderNames);
246
239
  return { systemRequirementsQueryTree };
247
240
  }
241
+ async fetchSrsQueries(rootQueries) {
242
+ const srsFolder = await this.findQueryFolderByName(rootQueries, 'srs');
243
+ if (!srsFolder) {
244
+ const systemRequirementsQueries = await this.fetchSystemRequirementQueries(rootQueries);
245
+ const { SystemToSoftwareRequirementsTree, SoftwareToSystemRequirementsTree } = await this.fetchLinkedRequirementsTraceQueries(rootQueries);
246
+ return {
247
+ systemRequirementsQueries,
248
+ systemToSoftwareRequirementsQueries: SystemToSoftwareRequirementsTree,
249
+ softwareToSystemRequirementsQueries: SoftwareToSystemRequirementsTree,
250
+ };
251
+ }
252
+ const srsFolderWithChildren = await this.ensureQueryChildren(srsFolder);
253
+ const systemRequirementsQueries = await this.fetchSystemRequirementQueries(srsFolderWithChildren, [
254
+ 'System to Software',
255
+ 'Software to System',
256
+ ]);
257
+ const systemToSoftwareFolder = await this.findChildFolderByName(srsFolderWithChildren, 'System to Software');
258
+ const softwareToSystemFolder = await this.findChildFolderByName(srsFolderWithChildren, 'Software to System');
259
+ const systemToSoftwareRequirementsQueries = await this.fetchRequirementsTraceQueriesForFolder(systemToSoftwareFolder);
260
+ const softwareToSystemRequirementsQueries = await this.fetchRequirementsTraceQueriesForFolder(softwareToSystemFolder);
261
+ return {
262
+ systemRequirementsQueries,
263
+ systemToSoftwareRequirementsQueries,
264
+ softwareToSystemRequirementsQueries,
265
+ };
266
+ }
248
267
  /**
249
268
  * Fetches and structures linked queries related to requirements traceability with area path filtering.
250
269
  *
@@ -266,6 +285,61 @@ class TicketsDataProvider {
266
285
  );
267
286
  return { SystemToSoftwareRequirementsTree, SoftwareToSystemRequirementsTree };
268
287
  }
288
+ async fetchRequirementsTraceQueriesForFolder(folder) {
289
+ if (!folder) {
290
+ return null;
291
+ }
292
+ const { tree1 } = await this.structureFetchedQueries(folder, false, null, ['Epic', 'Feature', 'Requirement'], ['Epic', 'Feature', 'Requirement'], undefined, undefined, true);
293
+ return tree1;
294
+ }
295
+ async findQueryFolderByName(rootQuery, folderName) {
296
+ var _a;
297
+ if (!rootQuery || !folderName) {
298
+ return null;
299
+ }
300
+ const normalizedName = folderName.toLowerCase();
301
+ const queue = [rootQuery];
302
+ while (queue.length > 0) {
303
+ const current = queue.shift();
304
+ if (!current) {
305
+ continue;
306
+ }
307
+ if (current.isFolder && (current.name || '').toLowerCase() === normalizedName) {
308
+ return current;
309
+ }
310
+ if (current.hasChildren) {
311
+ const currentWithChildren = await this.ensureQueryChildren(current);
312
+ if ((_a = currentWithChildren === null || currentWithChildren === void 0 ? void 0 : currentWithChildren.children) === null || _a === void 0 ? void 0 : _a.length) {
313
+ queue.push(...currentWithChildren.children);
314
+ }
315
+ }
316
+ }
317
+ return null;
318
+ }
319
+ async findChildFolderByName(parent, childName) {
320
+ var _a;
321
+ if (!parent || !childName) {
322
+ return null;
323
+ }
324
+ const parentWithChildren = await this.ensureQueryChildren(parent);
325
+ if (!((_a = parentWithChildren === null || parentWithChildren === void 0 ? void 0 : parentWithChildren.children) === null || _a === void 0 ? void 0 : _a.length)) {
326
+ return null;
327
+ }
328
+ const normalizedName = childName.toLowerCase();
329
+ return (parentWithChildren.children.find((child) => child.isFolder && (child.name || '').toLowerCase() === normalizedName) || null);
330
+ }
331
+ async ensureQueryChildren(node) {
332
+ if (!node || !node.hasChildren || node.children) {
333
+ return node;
334
+ }
335
+ if (!node.url) {
336
+ return node;
337
+ }
338
+ const queryUrl = `${node.url}?$depth=2&$expand=all`;
339
+ const refreshedNode = await tfs_1.TFSServices.getItemContent(queryUrl, this.token);
340
+ Object.assign(node, refreshedNode);
341
+ return node;
342
+ }
269
343
  async GetQueryResultsFromWiql(wiqlHref = '', displayAsTable = false, testCaseToRelatedWiMap) {
270
344
  try {
271
345
  if (!wiqlHref) {
@@ -827,9 +901,14 @@ class TicketsDataProvider {
827
901
  * or `null` for each tree if no valid nodes are found.
828
902
  * @throws Logs an error if an exception occurs during processing.
829
903
  */
830
- async structureFetchedQueries(rootQuery, onlyTestReq, parentId = null, sources, targets, sourceAreaFilter, targetAreaFilter, includeTreeQueries = false) {
904
+ async structureFetchedQueries(rootQuery, onlyTestReq, parentId = null, sources, targets, sourceAreaFilter, targetAreaFilter, includeTreeQueries = false, excludedFolderNames = []) {
831
905
  var _a, _b;
832
906
  try {
907
+ const shouldSkipFolder = (rootQuery === null || rootQuery === void 0 ? void 0 : rootQuery.isFolder) &&
908
+ excludedFolderNames.some((folderName) => folderName.toLowerCase() === (rootQuery.name || '').toLowerCase());
909
+ if (shouldSkipFolder) {
910
+ return { tree1: null, tree2: null };
911
+ }
833
912
  if (!rootQuery.hasChildren) {
834
913
  if (!rootQuery.isFolder &&
835
914
  (rootQuery.queryType === 'oneHop' || (includeTreeQueries && rootQuery.queryType === 'tree'))) {
@@ -884,11 +963,11 @@ class TicketsDataProvider {
884
963
  const queryUrl = `${rootQuery.url}?$depth=2&$expand=all`;
885
964
  const currentQuery = await tfs_1.TFSServices.getItemContent(queryUrl, this.token);
886
965
  return currentQuery
887
- ? await this.structureFetchedQueries(currentQuery, onlyTestReq, currentQuery.id, sources, targets, sourceAreaFilter, targetAreaFilter, includeTreeQueries)
966
+ ? await this.structureFetchedQueries(currentQuery, onlyTestReq, currentQuery.id, sources, targets, sourceAreaFilter, targetAreaFilter, includeTreeQueries, excludedFolderNames)
888
967
  : { tree1: null, tree2: null };
889
968
  }
890
969
  // Process children recursively
891
- const childResults = await Promise.all(rootQuery.children.map((child) => this.structureFetchedQueries(child, onlyTestReq, rootQuery.id, sources, targets, sourceAreaFilter, targetAreaFilter, includeTreeQueries)));
970
+ const childResults = await Promise.all(rootQuery.children.map((child) => this.structureFetchedQueries(child, onlyTestReq, rootQuery.id, sources, targets, sourceAreaFilter, targetAreaFilter, includeTreeQueries, excludedFolderNames)));
892
971
  // Build tree1
893
972
  const tree1Children = childResults.map((res) => res.tree1).filter((child) => child !== null);
894
973
  const tree1Node = tree1Children.length > 0
@@ -1 +1 @@
1
- {"version":3,"file":"TicketsDataProvider.js","sourceRoot":"","sources":["../../src/modules/TicketsDataProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TicketsDataProvider.js","sourceRoot":"","sources":["../../src/modules/TicketsDataProvider.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.57.0",
3
+ "version": "1.58.0",
4
4
  "description": "A document generator data provider, aimed to retrive data from azure devops",
5
5
  "repository": {
6
6
  "type": "git",
@@ -131,15 +131,7 @@ export default class TicketsDataProvider {
131
131
  const testAssociatedTree = await this.fetchTestReporterQueries(queries);
132
132
  return { testAssociatedTree };
133
133
  case 'srs':
134
- //Based on fetch any queries by limited to Epic/Feature/Requirement
135
- const systemRequirementsQueries = await this.fetchSystemRequirementQueries(queries);
136
- const { SystemToSoftwareRequirementsTree, SoftwareToSystemRequirementsTree } =
137
- await this.fetchLinkedRequirementsTraceQueries(queries);
138
- return {
139
- systemRequirementsQueries,
140
- systemToSoftwareRequirementsQueries: SystemToSoftwareRequirementsTree,
141
- softwareToSystemRequirementsQueries: SoftwareToSystemRequirementsTree,
142
- };
134
+ return await this.fetchSrsQueries(queries);
143
135
  case 'svd':
144
136
  return await this.fetchAnyQueries(queries);
145
137
  default:
@@ -284,7 +276,7 @@ export default class TicketsDataProvider {
284
276
  return { systemOverviewQueryTree, knownBugsQueryTree };
285
277
  }
286
278
 
287
- private async fetchSystemRequirementQueries(queries: any) {
279
+ private async fetchSystemRequirementQueries(queries: any, excludedFolderNames: string[] = []) {
288
280
  const { tree1: systemRequirementsQueryTree } = await this.structureFetchedQueries(
289
281
  queries,
290
282
  false,
@@ -293,11 +285,54 @@ export default class TicketsDataProvider {
293
285
  [],
294
286
  undefined,
295
287
  undefined,
296
- true // Enable processing of both tree and direct link queries (excluding flat queries)
288
+ true, // Enable processing of both tree and direct link queries (excluding flat queries)
289
+ excludedFolderNames
297
290
  );
298
291
  return { systemRequirementsQueryTree };
299
292
  }
300
293
 
294
+ private async fetchSrsQueries(rootQueries: any) {
295
+ const srsFolder = await this.findQueryFolderByName(rootQueries, 'srs');
296
+ if (!srsFolder) {
297
+ const systemRequirementsQueries = await this.fetchSystemRequirementQueries(rootQueries);
298
+ const { SystemToSoftwareRequirementsTree, SoftwareToSystemRequirementsTree } =
299
+ await this.fetchLinkedRequirementsTraceQueries(rootQueries);
300
+ return {
301
+ systemRequirementsQueries,
302
+ systemToSoftwareRequirementsQueries: SystemToSoftwareRequirementsTree,
303
+ softwareToSystemRequirementsQueries: SoftwareToSystemRequirementsTree,
304
+ };
305
+ }
306
+
307
+ const srsFolderWithChildren = await this.ensureQueryChildren(srsFolder);
308
+ const systemRequirementsQueries = await this.fetchSystemRequirementQueries(srsFolderWithChildren, [
309
+ 'System to Software',
310
+ 'Software to System',
311
+ ]);
312
+
313
+ const systemToSoftwareFolder = await this.findChildFolderByName(
314
+ srsFolderWithChildren,
315
+ 'System to Software'
316
+ );
317
+ const softwareToSystemFolder = await this.findChildFolderByName(
318
+ srsFolderWithChildren,
319
+ 'Software to System'
320
+ );
321
+
322
+ const systemToSoftwareRequirementsQueries = await this.fetchRequirementsTraceQueriesForFolder(
323
+ systemToSoftwareFolder
324
+ );
325
+ const softwareToSystemRequirementsQueries = await this.fetchRequirementsTraceQueriesForFolder(
326
+ softwareToSystemFolder
327
+ );
328
+
329
+ return {
330
+ systemRequirementsQueries,
331
+ systemToSoftwareRequirementsQueries,
332
+ softwareToSystemRequirementsQueries,
333
+ };
334
+ }
335
+
301
336
  /**
302
337
  * Fetches and structures linked queries related to requirements traceability with area path filtering.
303
338
  *
@@ -327,6 +362,86 @@ export default class TicketsDataProvider {
327
362
  return { SystemToSoftwareRequirementsTree, SoftwareToSystemRequirementsTree };
328
363
  }
329
364
 
365
+ private async fetchRequirementsTraceQueriesForFolder(folder: any) {
366
+ if (!folder) {
367
+ return null;
368
+ }
369
+
370
+ const { tree1 } = await this.structureFetchedQueries(
371
+ folder,
372
+ false,
373
+ null,
374
+ ['Epic', 'Feature', 'Requirement'],
375
+ ['Epic', 'Feature', 'Requirement'],
376
+ undefined,
377
+ undefined,
378
+ true
379
+ );
380
+ return tree1;
381
+ }
382
+
383
+ private async findQueryFolderByName(rootQuery: any, folderName: string): Promise<any | null> {
384
+ if (!rootQuery || !folderName) {
385
+ return null;
386
+ }
387
+
388
+ const normalizedName = folderName.toLowerCase();
389
+ const queue: any[] = [rootQuery];
390
+
391
+ while (queue.length > 0) {
392
+ const current = queue.shift();
393
+ if (!current) {
394
+ continue;
395
+ }
396
+
397
+ if (current.isFolder && (current.name || '').toLowerCase() === normalizedName) {
398
+ return current;
399
+ }
400
+
401
+ if (current.hasChildren) {
402
+ const currentWithChildren = await this.ensureQueryChildren(current);
403
+ if (currentWithChildren?.children?.length) {
404
+ queue.push(...currentWithChildren.children);
405
+ }
406
+ }
407
+ }
408
+
409
+ return null;
410
+ }
411
+
412
+ private async findChildFolderByName(parent: any, childName: string): Promise<any | null> {
413
+ if (!parent || !childName) {
414
+ return null;
415
+ }
416
+
417
+ const parentWithChildren = await this.ensureQueryChildren(parent);
418
+ if (!parentWithChildren?.children?.length) {
419
+ return null;
420
+ }
421
+
422
+ const normalizedName = childName.toLowerCase();
423
+ return (
424
+ parentWithChildren.children.find(
425
+ (child: any) => child.isFolder && (child.name || '').toLowerCase() === normalizedName
426
+ ) || null
427
+ );
428
+ }
429
+
430
+ private async ensureQueryChildren(node: any): Promise<any> {
431
+ if (!node || !node.hasChildren || node.children) {
432
+ return node;
433
+ }
434
+
435
+ if (!node.url) {
436
+ return node;
437
+ }
438
+
439
+ const queryUrl = `${node.url}?$depth=2&$expand=all`;
440
+ const refreshedNode = await TFSServices.getItemContent(queryUrl, this.token);
441
+ Object.assign(node, refreshedNode);
442
+ return node;
443
+ }
444
+
330
445
  async GetQueryResultsFromWiql(
331
446
  wiqlHref: string = '',
332
447
  displayAsTable: boolean = false,
@@ -972,9 +1087,20 @@ export default class TicketsDataProvider {
972
1087
  targets: string[],
973
1088
  sourceAreaFilter?: string,
974
1089
  targetAreaFilter?: string,
975
- includeTreeQueries: boolean = false
1090
+ includeTreeQueries: boolean = false,
1091
+ excludedFolderNames: string[] = []
976
1092
  ): Promise<any> {
977
1093
  try {
1094
+ const shouldSkipFolder =
1095
+ rootQuery?.isFolder &&
1096
+ excludedFolderNames.some(
1097
+ (folderName) => folderName.toLowerCase() === (rootQuery.name || '').toLowerCase()
1098
+ );
1099
+
1100
+ if (shouldSkipFolder) {
1101
+ return { tree1: null, tree2: null };
1102
+ }
1103
+
978
1104
  if (!rootQuery.hasChildren) {
979
1105
  if (
980
1106
  !rootQuery.isFolder &&
@@ -1042,7 +1168,8 @@ export default class TicketsDataProvider {
1042
1168
  targets,
1043
1169
  sourceAreaFilter,
1044
1170
  targetAreaFilter,
1045
- includeTreeQueries
1171
+ includeTreeQueries,
1172
+ excludedFolderNames
1046
1173
  )
1047
1174
  : { tree1: null, tree2: null };
1048
1175
  }
@@ -1058,7 +1185,8 @@ export default class TicketsDataProvider {
1058
1185
  targets,
1059
1186
  sourceAreaFilter,
1060
1187
  targetAreaFilter,
1061
- includeTreeQueries
1188
+ includeTreeQueries,
1189
+ excludedFolderNames
1062
1190
  )
1063
1191
  )
1064
1192
  );